用uart寫了一段bootloader**,遇到了乙個很奇怪的現象。
**如下:簡單介紹一下就是先統一配置mcu的io埠,然後配置串列埠引數,然後迴圈傳送『0』和'\r』。16進製制是0x30 0x0d
int main(void)}void io_init(void)
void uart_init(uint32_t baud)
嘗試一:把串列埠的兩個埠配置放在串列埠配置函式裡,如下
void uart_init(uint32_t baud)
這樣就正常了,上電就收到0x30 0x0d
嘗試二:這樣修改,把串列埠外設時鐘在埠配置函式裡面就開啟。
void io_init(void)
也是可以正常輸出0x30 0x0d
總結:stm32的外設時鐘應該在此外設埠配置之前開啟
。
STM32F103串列埠通訊
usart 通用同步非同步收發器 是乙個序列通訊裝置,可以靈活地與外部裝置進行全雙工資料交換。有別於 usart 還有乙個uart,它是在 usart 基礎上裁剪掉了同步通訊功能,只有非同步通訊。全雙工的,非同步通訊 分數波特率發生器系統 傳送和接收共用的可程式設計波特率,最高達4.5mbits s...
STM32F103C8停機低功耗設定
根據專案需要選擇的是停機模式 進入停止模式之後,任何外部中斷都可以喚醒低功耗,但是需要重新配置時鐘,不然系統將以預設時鐘 沒有經過倍頻 執行。1.進入低功耗 rcc apb1periphclockcmd rcc apb1periph pwr,enable pwr enterstopmode pwr ...
精準定時呼吸燈 STM32F103C8
入門stm32的第一貼 之前一直停留在51的水平,最近因為課題需要,硬著頭皮開始了stm32,主要是完成了以下學習目標 1.完成了基於庫函式的stm32軟體框架的組建 2.掌握了非中斷型的精準微秒級和毫秒級的延遲函式的使用。主函式 title 呼吸燈 author 小呼呼哈哈哈 include le...