串列埠暫存器配置

2021-08-07 09:25:49 字數 1883 閱讀 8078

串列埠操作相關庫函式

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

();//

清除中斷狀態標誌位

typedef struct

usart_inittypedef;

串列埠配置的一般步驟:

① 串列埠時鐘使能,

gpio

時鐘使能

:rcc_apb2periphclockcmd(); ②

串列埠復位

:usart_deinit

();

這一步不是必須的 ③

gpio

埠模式設定

:gpio_init

();

模式設定為

gpio_mode_af_pp,復用推挽。 ④

串列埠引數初始化

:usart_init

();

⑤ 開啟中斷並且初始化

nvic

(如果需要開啟中斷才需要這個步驟)

nvic_init

();

usart_itconfig

();

⑥使能串列埠

:usart_cmd

();

⑦編寫中斷處理函式

:usartx_irqhandler

();

⑧串列埠資料收發:

void

usart_senddata

();//

傳送資料到串列埠,dr

uint16_t

usart_receivedata

();//

接受資料,從

dr讀取接受到的資料

⑨串列埠傳輸狀態獲取:

flagstatus

usart_getflagstatus

(usart_typedef

* usartx

,uint16_t usart_flag);

void

usart_clearitpendingbit

(usart_typedef

*usartx

, uint16_t usart_it);

/*

void my_usart1_init(void)

void usart1_irqhandler(()

}int main()

*/

串列埠暫存器的相關配置

usart sr狀態暫存器 usart dr資料暫存器 usart brr波特率暫存器 void usart init 串列埠初始化 波特率,資料字長,奇偶校驗,硬體流控以及收發使能 void usart cmd 使能串列埠 void usart itconfig 使能相關中斷 void usart...

暫存器(通用暫存器)

因為學習使用的是王爽的 組合語言 第3版 因此也只能提到8086cpo的暫存器。對於其他而言,原理都是相通的。對於8086暫存器,有14個暫存器,主要是 ax bx cx dx si di sp bp ip cs ss ds es psw。一 通用暫存器 8086的通用暫存器有ax bx cx dx...

暫存器,標誌暫存器

涉及硬體傳輸資料的,往往包含以下內容 1.資料傳輸引腳 資料放 2.控制引腳 怎麼控制 3.狀態引腳 結果如何 暫存器相當於cpu內部的儲存單元,可能是連續排列,相當於 c語言中的陣列。一 8個通用暫存器 16 bit accumulate axah alr0 count cxch clr1 dat...