STM32串口中斷的一些資料
TC====TXE
本文引用地址:http://www.104case.com/article/201611/318082.htm順便預告下最近會寫個有關串口處理數據的帖子,從查詢和中斷方面以及數據處理的方式,從隊列以及FIFO方面寫起。
SECTION1
先說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==
主站蜘蛛池模板:
屏边|
河北区|
霍林郭勒市|
鹿泉市|
吴忠市|
砚山县|
额济纳旗|
郴州市|
甘孜县|
承德市|
金湖县|
光泽县|
乐昌市|
五指山市|
汶川县|
南充市|
翁源县|
五莲县|
射阳县|
金乡县|
洮南市|
琼结县|
韶山市|
神池县|
宁强县|
夏邑县|
区。|
永顺县|
吉木乃县|
天峨县|
汤原县|
景宁|
舞钢市|
德江县|
潞城市|
扶绥县|
铜川市|
灵武市|
南投市|
疏附县|
本溪|