stm32f103c8串列埠USART1傳送多一位元組

2022-03-27 11:56:50 字數 489 閱讀 9855

用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...