STM32F103C8T6學習筆記_串列埠USART的使用
1、 M bps 兆 位元每秒 Million bits per second (形容傳輸速率)
波特率(BaudRate)(bound ) 單位 Bd (形容傳輸速率時 Bd/s)
如果是二進位制的話 , 都表示單位時間內傳輸的二進位制數
2、波特率計算公式
baud=串列埠時鐘(APB1 or APB1) / USART_BRR暫存器的值
Example 時鐘108M (108000000 六個0) baud=115200MHz 則得暫存器值938 (0XA3AA)
3、 GPIO的複用
TXD Transmit(tx) Data 傳送資料
RXD Receive(rx) Data 接受資料
USART1_TX PA.9 設定成複用推輓輸出 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
USART1_RX PA.10 設定成浮空輸入 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
4、單工 單向 一方傳送資訊到另一方
全雙工 同一時間 雙向 傳送資料 同時也可以接受資料
半雙工 雙向 傳送 或者 接受
USART_InitStructure.USART_Mode=USART_Mode_Rx | USART_Mode_Tx //設定成半雙工模式
5、奇偶校驗 parity
00000000(8位)+0 or 1(1位) 奇校驗 就在(1位)這裡寫1 或者 寫0 使得1的總個數為奇數
........................................................偶校驗....................................................使得1的總個數為偶數
傳送端傳送一個字元編碼(9位)【偶數】==接收端接收到的編碼(9位) 【偶數】 檢驗成功
奇校驗同理;
6、資料位 8 7 6 5 WordLength
例如資料位設定為5.那麼就相當於規定了每個傳輸位元組只能由5個二進位制來表示,例如 11111、10110 、01110等。也就是說只能傳送00000—11111這個範圍內的數。
7、停止位 1 1.5 2 StopBits
停止位表示傳輸結束(也可以校正 發 收 兩端的時鐘 達到同步的目的) 停止位越多,不同時鐘同步的容忍程度越大 資料傳輸速度慢
8、一般無硬體資料流控制(很少用) HwFlowCtl
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl None; //無硬體資料流控制
9、oversampling 取樣過密 sampling 取樣