STM32串列埠通訊 針對stm32f10x

2021-10-02 03:23:29 字數 2310 閱讀 8350

並行通訊

資料各個位同時傳輸,速度快,占用引腳資源多

序列通訊

資料按位順序傳輸,占用引腳資源少,速度相對比較慢

1.按照資料傳送方向可以分為:

單工:資料傳輸只支援在乙個方向上傳輸。

半雙工:允許資料在兩個方向上傳輸,但是在某一時刻只允許資料在乙個方向上傳輸。

全雙工:允許資料同時在兩個方向上傳輸。

2.序列通訊的通訊方式

同步通訊:帶時鐘同步訊號傳輸,如spi,iic通訊介面

非同步通訊:不帶時鐘同步訊號,urat(通用非同步收發器),單匯流排。

stm32的串列埠通訊介面

uart:通用非同步收發器

usart:通用同步非同步收發器

uart非同步通訊方式引腳連線方式

rs232轉換器的作用

我們所說的usb轉串列埠實際上有兩種:一種是usb轉232串列埠,一種是usb轉ttl串列埠,uart上使用的ttl電平,而pc的串列埠是rs232,由於電平定義不同,所以要做電平轉換。

stm32串列埠非同步通訊需要定義的引數

起始位資料位(8位或者9位)

奇偶校驗位(第9位)

停止位(1,15,2位)

波特率設定

常用的串列埠相關暫存器

usart_sr狀態暫存器

usart_dr資料暫存器

usart_brr波特率暫存器

波特率的計算方法

void

usart_init()

;//串列埠初始化:波特率,資料字長,奇偶校驗,硬體流控以及收發使能

void

usart_cmd()

;//使能串列埠

void

usart_itconfig()

;//使能相關中斷

void

usart_senddata()

;//傳送資料到串列埠,dr

uint16_t usart_receivedata()

;//接受資料,從dr讀取接受到的資料

flagstatus usart_getflagstatus()

;//獲取狀態標誌位

void

usart_clearflag()

;//清除狀態標誌位

itstatus usart_getitstatus()

;//獲取中斷狀態標誌位

void

usart_clearitpendingbit()

;//清除中斷狀態標誌位

串列埠配置的一般步驟

1.串列埠時鐘使能,gpio時鐘使能:

rcc_apb2periphclockcmd()

;2.串列埠復位:

usart_deinit()

; 這一步不是必須的

3.gpio埠模式設定:

gpio_init()

; 模式設定為gpio_mode_af_pp

4.串列埠引數初始化:usart_init()

;5.開啟中斷並且初始化nvic(如果需要開啟中斷才需要這個步驟)

nvic_init()

;usart_itconfig()

;6.使能串列埠:

usart_cmd()

;7.編寫中斷處理函式:usartx_irqhandler()

;8.串列埠資料收發:

void

usart_senddata()

;//傳送資料到串列埠,dr

uint16_t usart_receivedata()

;//接受資料,從dr讀取接受到的資料

9.串列埠傳輸狀態獲取:

flagstatus usart_getflagstatus

(usart_typedef* usartx, uint16_t usart_flag)

;void

usart_clearitpendingbit

(usart_typedef* usartx, uint16_t usart_it)

;

stm32串列埠通訊

通訊方式 1 同步通訊 帶時鐘同步訊號傳輸 spi,iic等 2 非同步通訊 不帶時鐘用途訊號 usrt,單匯流排 stm32串列埠引腳表 串口號 rxd txd 1 pa10 pa9 2 pa3pa2 3 pb11 pb10 4 pc11 pc10 5 pd2pc12 通訊過程 接收過程 由rx入...

STM32串列埠通訊

1.常用的串列埠相關暫存器 1 usart sr狀態暫存器,對應的庫函式 flagstatus usart getflagstatus usart typedef usartx,uint16 t usart flag 2 usart dr資料暫存器,對應的庫函式 void usart senddat...

STM32串列埠通訊

串列埠作為mcu最重要的外部介面,同時也是軟體開發重要的除錯手段,其重要性不言而喻。在這裡我們主要從庫函式的角度來講述如何設定串列埠,來達到最基本的通訊功能。串列埠的設定一般可以歸結為以下幾個步驟 1 串列埠時鐘使能,gpio時鐘使能。2 設定引腳復用器對映,呼叫gpio pinafconfig函式...