久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > STM32串口中斷的一些資料

STM32串口中斷的一些資料

作者: 時間:2016-11-19 來源:網絡 收藏
在研究STM32串口接收發送中斷的時候找到不少不錯的資料,現在備份在這里。以供自己查閱,以及方便其他人。

TC====TXE

本文引用地址:http://cqxgywz.com/article/201611/318082.htm

順便預告下最近會寫個有關串口處理數據的帖子,從查詢和中斷方面以及數據處理的方式,從隊列以及FIFO方面寫起。

SECTION1

SECTION2

先說TC。即TransmissionComplete。發送一個字節后才進入中斷,這里稱為“發送后中斷”。和原來8051的TI方式一樣,都是發送后才進中斷,需要在發送函數中先發送一個字節觸發中斷。發送函數如下

/*
功能:中斷方式發送字符串.采用判斷TC的方式.即判斷發送后中斷位.
輸入:字符串的首地址
輸出:無
*/
voidUSART_SendDataString(u8*pData)
{
pDataByte=pData;

USART_ClearFlag(USART1,USART_FLAG_TC);//清除傳輸完成標志位,否則可能會丟失第1個字節的數據.網友提供.

USART_SendData(USART1,*(pDataByte++));//必須要++,不然會把第一個字符t發送兩次
}


中斷處理函數如下
/
*FunctionName:USART1_IRQHandler
*Description:ThisfunctionhandlesUSART1globalinterruptrequest.
*Input:None
*Output:None
*Return:None
*/
voidUSART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1,USART_IT_TC)==SET)
{
if(*pDataByte==