Ardunio IDE完成stm32f103指南者的串口通信
- 1.用Ardunio IDE完成stm32f103指南者的串口通信,
- 安裝Ardunio IDE
- 配置Ardunio IDE
- 連接stm32f103指南者開發板
- 燒錄程式(stm32f103指南者)
- 2.基于標準庫函式與基于HAL庫函式的stm32編程方式的差異,
- 3.stduino IDE使用體會
- 4.參考文章:
1.用Ardunio IDE完成stm32f103指南者的串口通信,
安裝Ardunio IDE
鏈接: Ardunio IDE相關包.
提取碼:q251
下載解壓后安裝Ardunio,一直默認安裝就可以,選擇路徑的話注意不要有中文,

配置Ardunio IDE
將打包檔案中的Arduino_STM32整個檔案夾拷貝到Arduino安裝目錄下的hareware下,

然后打開Arduino,點擊選單欄\工具\開發板…\第一欄的開發板管理器

輸入ARM關鍵字搜索,選中Cortex-M3系列的編譯支持檔案并安裝,安裝程序可能需要幾分鐘,

安裝完成后,在選單欄\工具\開發板選擇芯片型別,由于我使用的是stm32f103指南者,所以選擇為Generic STM32F103V series,

然后Variant,Upload method,CPU Speed,Optimize這幾個的選擇如下:

連接stm32f103指南者開發板
直接用usb線把開發板與電腦相連即可,
但注意usb線連接的開發板的"usb轉串口"這個介面,
然后用跳帽將BOOT0與3v3相連,BOOT1與GND相連,RXD與A9相連,
TXD與A10相連,

燒錄程式(stm32f103指南者)
以下代碼完成:
1)持續向串口輸出“Hello world!”;
2)當接收到“stop”時,停止輸出,
3) 小燈閃爍,
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); // 延遲
}
}
選擇你連接的串口,我這里是串口3

然后依次點擊驗證,燒錄,(注意每一次燒錄檔案前一定要按開發板上的RESET按鈕)

然后小燈開始閃爍,串口收到的資訊點擊串口監視器及可看到
但要注意該處波特率的設定

效果圖如下:


2.基于標準庫函式與基于HAL庫函式的stm32編程方式的差異,
標準外設庫(Standard Peripherals Library)是對STM32芯片的一個完整的封裝,包括所有標準器件外設的器件驅動器,可以讓我們寫代碼時更簡潔,這應該是目前使用最多的ST庫,幾乎全部使用C語言實作,但是,標準外設庫也是針對某一系列芯片而言的,沒有可移植性,
HAL庫是用來取代之前的標準外設庫的,相比標準外設庫,STM32Cube HAL庫表現出更高的抽象整合水平,HAL API集中關注各外設的公共函式功能,這樣便于定義一套通用的用戶友好的API函式介面,從而可以輕松實作從一個STM32產品移植到另一個不同的STM32系列產品,而且HAL庫不光實作了暫存器的集成,還實作了一些特定功能的集成,也就是說標準外設庫有時需要用幾行代碼完成的,HAL庫一行代碼就可以完成,
3.stduino IDE使用體會
比起keil,stduino極易掌握,同時有著足夠的靈活性,不需要太多的單片機基礎、編程基礎,簡單學習后,可以快速的進行開發,自帶程式燒錄,自帶串口除錯,軟體界面簡潔,stduino IDE可以在Windows、Macintosh OS X、Linux三大主流作業系統上運行,而且Arduino不只是開發板,還是開源的電子平臺,
4.參考文章:
使用Arduino IDE開發STM32F10X.
在Arduino完成STM32的串口通信.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/234322.html
標籤:其他
