1. 程式人生 > >STM32USART串列埠庫函式介紹之USART_Init

STM32USART串列埠庫函式介紹之USART_Init

本文將介紹USART串列埠的庫函式,總的來說有以下函式體:

※ USART_Init函式:初始化所使用的串列埠外設

※ USART_Cmd函式:使能或者失能USART外設

※ USART_ITConfig函式:使能或者失能指定的USART中斷

※ USART_SendData函式:通過外設USARTx傳送單個數據

※ USART_ReceiveData函式:返回USARTx最近解釋接收到的資料

※ USART_GetFlagStatus函式:檢查指定的USART標誌位設定與否

※ USART_ClearFlag函式:清楚USARTx的待處理標誌位

※ USART_GetITStatus函式:檢查指定的USART中斷髮生與否

接下來分開闡述以上幾種函式以及其用法和相關注意事項

1.USART_Init函式

USART_Init函式的功能是初始化非同步串列埠,包括選定使用的串列埠,設定串列埠的資料傳輸速率、資料位數、檢驗方式、停止位、流量控制方式等,是串列埠最重要的庫函式

USART_InitTypeDef定義於檔案<stm32f10x_usart.h> 中,具體如下:

typedef struct

{

u32 USART_BaudRate;

u16 USART_WordLength;

u16 USART_StopBits;

u16 USART_Parity;

u16 USART_HardwareFlowControl;

u16 USART_Mode;

} USART_InitTypeDef;

USART_WordLength提示了在一個幀中傳輸或者接收到的資料位數;

USART_WordLength_8b;8位資料

USART_WordLength_9b;9位資料

USART_StopBits定義了傳送的停止位數目;

USART_StopBits_1 在幀結尾傳輸1個停止位

USART_StopBits_0.5 在幀結尾傳輸0.5個停止位

USART_StopBits_2 在幀結尾傳輸2個停止位

USART_StopBits_1.5 在幀結尾傳輸1.5個停止位

USART_Parity定義了奇偶模式

USART_Parity_No 奇偶失能

USART_Parity_Even 偶模式

USART_Parity_Odd 奇模式

USART_HardwareFlowControl指定了硬體流控制模式使能還是失能

USART_HardwareFlowControl_None 硬體流控制失能

USART_HardwareFlowControl_RTS 傳送請求RTS使能

USART_HardwareFlowControl_CTS 清除傳送CTS使能

USART_HardwareFlowControl_RTS_CTS RTS和CTS使能

USART_Mode指定了使能或者失能傳送和接收模式

USART_Mode_Tx 傳送使能

USART_Mode_Rx 接收使能

例項:初始化非同步串列埠1,速率為19200,8為資料,1個停止位,無檢驗,無流量控制,接收發送使能。

USART_InitTypeDef USART_InitStructure;

USART_InitStructure.USART_BaudRate = 19200;

USART_InitStructure.USART_WordLength = USART_WordLength_8b;

USART_InitStructure.USART_StopBits = USART_StopBits_1;

USART_InitStructure.USART_Parity = USART_Parity_No;

USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_RTS_CTS;

USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;

USART_Init(USART1, &USART_InitStructure);