STM32串口發(fā)送中斷
SECTION2
先說TC。即TransmissionComplete。發(fā)送一個字節(jié)后才進入中斷,這里稱為“發(fā)送后中斷”。和原來8051的TI方式一樣,都是發(fā)送后才進中斷,需要在發(fā)送函數(shù)中先發(fā)送一個字節(jié)觸發(fā)中斷。發(fā)送函數(shù)如下
/*
功能:中斷方式發(fā)送字符串.采用判斷TC的方式.即判斷發(fā)送后中斷位.
輸入:字符串的首地址
輸出:無
*/
voidUSART_SendDataString(u8*pData)
{
pDataByte=pData;
USART_ClearFlag(USART1,USART_FLAG_TC);//清除傳輸完成標志位,否則可能會丟失第1個字節(jié)的數(shù)據(jù).網(wǎng)友提供.
USART_SendData(USART1,*(pDataByte++));//必須要++,不然會把第一個字符t發(fā)送兩次
}
中斷處理函數(shù)如下
/
*FunctionName:USART1_IRQHandler
*Description:ThisfunctionhandlesUSART1globalinterruptrequest.
*Input:None
*Output:None
*Return:None
*/
voidUSART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1,USART_IT_TC)==SET)
{
if(*pDataByte==