使用韌體庫bai,目前du比較多的例程是使用韌體庫編寫的。官zhi方的例子也都採用韌體庫方式dao。特點就是簡單,易於理解,資料多。如果你沒有cortexm系列核心的開發基礎,建議從韌體庫開始玩起。等有一定基礎,或是特別需要時再用暫存器。
使用暫存器,想要深入理解cortexm3核心或是需要為了獲得更好的可移植性,學習暫存器程式設計會比較有幫助。但是從專業的角度上看,暫存器更貼近底層,對外設的工作原理和執行機理會有更深的理解。
在開發板商家發給的主要學習**,然後再修改了一下主函式的相關**,實現連續傳送「hello windows!」
主函式**
#include
"led.h"
#include
"delay.h"
#include
"key.h"
#include
"sys.h"
#include
"usart.h"
#include
int h=1;
intmain
(void);
u16 t;
u16 len;
u16 times=0;
delay_init()
;nvic_prioritygroupconfig
(nvic_prioritygroup_2)
;uart_init
(115200);
led_init()
;key_init()
;while
(h)}
for(t=
0;t)printf
("\r\n over \r\n");
usart_rx_sta=0;
}else
delay_ms(10
);}}
}
本次實驗是stm32連續傳送hello windows!給windows,接受程式使用的為野火串列埠助手
可以看到該程式一直在傳送hello windows!
我們輸入stop,stm32該程式就會停下來了。
基於STM32的開發板除錯Review
在此之前,應該是有接觸過微控制器的,比如本科學習的微控制器還有嵌入式 因為我沒有好好聽課,所以基本等於不會 所以就此認為這是第一次接觸微控制器吧。首先拿到微控制器,應該查閱資料手冊,了解有多少外設,比如adc有幾個,usart有幾個,spi有幾個 基於stm32的開發板除錯review 目的 快速學...
STM32 的串列埠
一 串列埠使用 原則 盡量中斷中不要有延時 比如自定義delay 和自定義printf串列埠列印,明顯找事啊這麼慢能不發生溢位error嘛 接收和傳送盡量分開處理 1.串列埠傳送資料丟失 1 通常是因為傳送之前未檢測tc狀態位之前是否處於傳送完成標誌導致,關於stm32之 的測試程式來講會導致第乙個...
stm32 工業按鍵檢測 STM32按鍵的檢測
stm32的按鍵檢測相對比較簡單,首先按部就班的初始化連線的到的i o,然後寫乙個按鍵掃瞄函式,這個和51微控制器的差不多。以下是乙個比較典型的例子 利用按鍵控制led key.件 ifndef key h define key h include sys.h definekey0 gpio rea...