stm32 USART 串列埠通訊

2021-10-14 16:23:31 字數 1202 閱讀 9445

簡單區分同步和非同步就是看通訊時需不需要對外提供時鐘輸出

usart 有專門控制傳送的傳送器、控制接收的接收器,還有喚醒單元、中斷控制等等。使用 usart 之前需要向 usart_cr1 暫存器的 ue 位置 1 使能 usart, ue 位用來開啟供給給串列埠的時鐘。傳送或者接收資料字長可選 8 位或 9 位,由 usart_cr1 的 m 位控制。

當 usart_cr1 暫存器的傳送使能位 te 置 1 時,啟動資料傳送,傳送移位暫存器的資料會在 tx 引腳輸出, 低位在前,高位在後。 如果是同步模式 sclk 也輸出時鐘訊號。乙個字元幀傳送需要三個部分:起始位+資料幀+停止位。

當下列這些標誌位條件成立時,都是置1

/*********重定向 c 庫函式 printf 到串列埠,重定向後可使用 printf 函式*****/

intfputc

(int ch, file *f)

/**********重定向 c 庫函式 scanf 到串列埠,重寫向後可使用 scanf、 getchar 等函式***********/

intfgetc

(file *f)

/****傳送乙個字元*****/

void

senddata

(usart_typedef* usart,uint16_t data)

/*******傳送字串*****/

void

sendstr

(usart_typedef* usart,

char

* str)

while

(usart_getflagstatus

( usart,usart_flag_tc)

!= set)

;}

STM32USART串列埠通訊

問題描述 利用usart串列埠程式,實現pc與stm32通訊,計算機傳送資料,stm32接受後,再傳送給pc端 1.gpio埠配置 根據手冊 pa.9為tx 傳送 pa.10為rx 接受 因此 pa.9為復用推挽輸出,pa.10為浮空輸入,一行 搞定 void gpio config 2.配置usa...

stm32 USART串列埠通訊總結

usart.h ifndef usart h define usart h include stdio.h include sys.h define usart rec len 200 定義最大接收位元組數 200 define en usart1 rx 1 使能 1 禁止 0 串列埠1接收 ext...

STM32 USART通訊 筆記

新增usart通訊不良的因素 2020 5 12 stm32f1xx晶元參考手冊 stm32 reference manual rm0008 usart universal synchronous asynchronous receiver transmitter 它名為通用非同步 同步收發器 它是...