当我接收到一个数据之后,下面的程序就开始发送hello word然后一直发一直发,停不下来。
考虑过用下面的两个函数,但是不是很懂,还请各位大佬指教一下。
USART_ClearITPendingBit()
USART_ClearFlag()
void USART1_IRQHandler(void)
{
u8 d;
static unsigned char display[]="hello word";
if(USART_GetITStatus(USART1,USART_IT_RXNE))
{
for(d=0;d<sizeof(display);d++)
{
USART_SendData(USART1,display[d]);
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)!=SET);
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
d是局部变量没关系啊,我只要执行完for就好了啊,然后下次进入中断又重新赋值啊,数组是静态变量,所以和d无关吧
一周热门 更多>