Ardunio和HAL庫函式程式設計
Ardunio和HAL庫函式程式設計
軟體安裝以及配裝
百度雲連結
提取碼:q251
開啟arduino-1.8.12-windows.exe進行安裝
將檔案中的Arduino_STM32整個資料夾拷貝到Arduino IDE安裝目錄下的hardware下
開啟Arduino,點選工具-開發板,檢查是否成功
可以看到下一級選單目錄中有STM32F1的板子
點選工具-開發板-開發板管理器搜尋ARM安裝編譯支援檔案
開啟flash_loader_demo_v2.8.0.exe,插入開發板
按下圖進行選擇除錯
燒錄測試
程式碼:
int flag=1;
char Stop[]="stop\n";
void setup() {
//初始化
pinMode(PB0, OUTPUT);//PB0為綠色,PB1為藍色,PB5為紅色,可根據需要改動
Serial.begin(115200);
}
void loop() {
int i=0,flag_s=0;
char inByte[50];
digitalWrite(PB0, HIGH); //小燈亮
delay(500); // 延遲
digitalWrite(PB0, LOW); //小燈滅
delay(500); // 延遲
while (Serial.available()> 0) //當傳送緩衝區有資料時
{
inByte[i] = Serial.read(); //從串列埠的緩衝區取出並讀取一個Byte的資料
delay(10);
i++ ;
}
if(Stop[i]=inByte[i])
{
if(Stop[i-1]==inByte[i-1]&&Stop[i-2]==inByte[i-2]&&Stop[i-3]==inByte[i-3])
{
flag=0;
Serial.println("收到!");
}//當收到stop命令時停止並回復收到
}
if(flag==1)
{
Serial.println("Hello World!");//向串列埠傳送資料
delay(100); // 延遲
}
}
編譯、燒錄
標準庫函式與HAL庫函式的stm32程式設計方式差異
標準外設庫(Standard Peripherals Library)是對STM32晶片的一個完整的封裝,包括所有標準器件外設的器件驅動器。標準庫都是基於暫存器的操作。HAL庫,Hardware Abstraction Layer的縮寫,即硬體抽象層,HAL庫工程一般使用Cube軟體來生成工程。HAL庫是ST公司為STM32的MCU最新推出的抽象層嵌入式軟體,更方便的實現跨STM32產品的最大可移植性。相比標準外設庫,STM32Cube HAL庫表現出更高的抽象整合水平,HAL API集中關注各外設的公共函式功能。HAL庫優點在於:便於定義一套通用的使用者友好的API函式介面,從而可以輕鬆實現從一個STM32產品移植到另一個不同的STM32系列產品。和標準庫對比起來,STM32的HAL庫更加的抽象,ST最終的目的是要實現在STM32系列MCU之間無縫移植,甚至在其他MCU也能實現快速移植。
stduino IDE的使用體驗
作為一個國產MCU整合平臺, stduino IDE使用起來感覺更加方便,更加符合國人操作習慣,同時功能很強大,老師提出這樣一個問題:已經有了Keil、Ardunio,覺得是否還有必要“再造車輪”,我認為“再造車輪”是有必要的,任何平臺都有自己的適用人群和優勢弊端,技術的革新意味著生產力的進步,這是非常有必要的
相關文章
- 函式式思維和函數語言程式設計函式函數程式設計
- 函式程式設計函式程式設計
- 函數語言程式設計(一) 認識“程式設計正規化”和“函式”函數程式設計函式
- scala 函式程式設計函式程式設計
- 函式程式設計之道函式程式設計
- 從函數語言程式設計到Ramda函式庫(一)函數程式設計函式
- 【趣解程式設計】函式程式設計函式
- Windows 程式設計常用函式Windows程式設計函式
- JS 命令式 宣告式 函式式 程式設計?JS函式程式設計
- UNIX系統程式設計常用庫函式說明(轉)程式設計函式
- UNIX安全程式設計及庫函式說明(轉)程式設計函式
- 函數語言程式設計-鏈式程式設計RAC函數程式設計
- 不用任何賦值的程式設計稱為*函式式*程式設計賦值程式設計函式
- 揚帆起航:從指令式程式設計到函式響應式程式設計程式設計函式
- select函式socket程式設計函式程式設計
- 二維陣列和函式綜合程式設計練習陣列函式程式設計
- linux系統程式設計:setjmp和longjmp函式用法Linux程式設計函式
- 13.程式程式設計進階:函式程式設計函式
- Scala函式與函數語言程式設計函式函數程式設計
- 邏輯程式設計與函式程式設計的介紹程式設計函式
- iOS鏈式程式設計及函數語言程式設計iOS程式設計函數
- python函式程式設計 返回函式 匿名函式 裝飾器 偏函式Python函式程式設計
- 阻塞式程式設計和非阻塞式程式設計區別程式設計
- 函式設計函式
- 瞭解 JavaScript 函數語言程式設計 - 宣告式函式JavaScript函數程式設計函式
- 函式響應式程式設計與RxSwift函式程式設計Swift
- Linux系統程式設計(9)—— 程式之程式控制函式exec系列函式Linux程式設計函式
- Bash程式設計007——函式(一)程式設計函式
- linux程式設計之pipe()函式Linux程式設計函式
- inux程式設計下signal()函式UX程式設計函式
- Linux Shell程式設計(29)——函式Linux程式設計函式
- Flutter非同步程式設計-sync*和async*生成器函式Flutter非同步程式設計函式
- 函數語言程式設計(2) 高階函式函數程式設計函式
- Lambda表示式入門--函數語言程式設計與函式式介面函數程式設計函式
- [譯]函式式響應程式設計入門指南函式程式設計
- JavaScript 中的函數語言程式設計:函式,組合和柯里化JavaScript函數程式設計函式
- javascript函數語言程式設計: 優雅的使用underscore進行函式程式設計JavaScript函數程式設計函式
- 設計log函式庫的幾個要點函式