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,覺得是否還有必要“再造車輪”,我認為“再造車輪”是有必要的,任何平臺都有自己的適用人群和優勢弊端,技術的革新意味著生產力的進步,這是非常有必要的
相關文章
- 函式程式設計函式程式設計
- 從函數語言程式設計到Ramda函式庫(一)函數程式設計函式
- select函式socket程式設計函式程式設計
- JS 命令式 宣告式 函式式 程式設計?JS函式程式設計
- 函數語言程式設計-鏈式程式設計RAC函數程式設計
- 不用任何賦值的程式設計稱為*函式式*程式設計賦值程式設計函式
- 揚帆起航:從指令式程式設計到函式響應式程式設計程式設計函式
- Bash程式設計007——函式(一)程式設計函式
- 函式響應式程式設計與RxSwift函式程式設計Swift
- python函式程式設計 返回函式 匿名函式 裝飾器 偏函式Python函式程式設計
- 瞭解 JavaScript 函數語言程式設計 - 宣告式函式JavaScript函數程式設計函式
- STM32 HAL 定時器代替HAL_Delay延時函式定時器函式
- 阻塞式程式設計和非阻塞式程式設計區別程式設計
- 函式設計函式
- 二維陣列和函式綜合程式設計練習陣列函式程式設計
- 如何在 Linux Shell 程式設計中定義和使用函式Linux程式設計函式
- Flutter非同步程式設計-sync*和async*生成器函式Flutter非同步程式設計函式
- Python 函數語言程式設計 – 高階函式Python函數程式設計函式
- Python函數語言程式設計自帶函式Python函數程式設計函式
- Day 14 匿名函式 內建函式 物件導向程式設計函式物件程式設計
- Python函數語言程式設計-高階函式、匿名函式、裝飾器、偏函式Python函數程式設計函式
- 好程式設計師Python培訓分享函數語言程式設計之匿名函式程式設計師Python函數函式
- Lambda表示式入門--函數語言程式設計與函式式介面函數程式設計函式
- JavaScript 中的函數語言程式設計:函式,組合和柯里化JavaScript函數程式設計函式
- JavaScript函數語言程式設計之pointfree與宣告式程式設計JavaScript函數程式設計
- 設計log函式庫的幾個要點函式
- Java程式設計基礎05——方法(函式)Java程式設計函式
- 【Linux網路程式設計】Socket Api函式Linux程式設計API函式
- 前端-JavaScript非同步程式設計async函式前端JavaScript非同步程式設計函式
- 函數語言程式設計:Lambda 表示式函數程式設計
- .NET併發程式設計-函式閉包程式設計函式
- Python基礎程式設計(十六)——函式4Python程式設計函式
- Spring Cloud Stream的函式式和響應式Reactive程式設計特點 - spring.ioSpringCloud函式React程式設計
- 響應式程式設計庫RxJava初探程式設計RxJava
- JavaScript函數語言程式設計(純函式、柯里化以及組合函式)JavaScript函數程式設計函式
- 【情人節選帽子】TCS34725顏色感測器和Python圖形介面程式設計(STM32 HAL庫)S3Python程式設計
- 好程式設計師Python教程系列遞迴函式與匿名函式呼叫程式設計師Python遞迴函式
- Java中的函數語言程式設計(二)函式式介面Functional InterfaceJava函數程式設計函式Function