『壹』 stm32通過串口燒寫程序的原理是什麼
用UART1串口,然後看晶元簡介把boot0和boot1配置好,下載個官方的ISP下載軟體,就ok了。
首先下內載一個軟體 Flash Loader Demo
然後容就是把boot0置1 ,boot1置0.
這樣就是串口下載模式。
選擇好波特率和埠。貌似默認的就行。建議改成com1.其實com0也是沒關系的。
最關鍵的是 stm32單片機的USART只能用usart1。其他幾個USART是都不行的。切記。設計電路的時候就要注意這一點。
然後可以打開,簡單的按下一步。後面選擇domn to device.使用默認設置。然後把hex文件放進去就OK。
其實很簡單的。
最後一步,還是要還原BOOT設置。 boot0置0,boot1置0.一定要還原設置。不然程序是不會運行的。
『貳』 STM32串口程序
在接收中不抄允許有等待的語句,襲如上程序中的delayms1();是絕對不能出現的,否則在連續接時會出現這樣的情況:
1、有一個數據已經接收完成,if(USART_GetFlagStatus(USART1,USART_IT_RXNE)==SET)條件成立,執行條件內語句,跳轉2。
2、執行 delayms1();語句過程中,又連續有好幾個數據接收過來,但此時你第一個數據都沒有讀出來,立馬造成接收過載錯誤。
所以,你接收單個數據是沒有問題,但連續接收多個的時候,你這樣做必然是不行的。