探索者串口发送数据死循环

2019-07-20 10:02发布

当我接收到一个数据之后,下面的程序就开始发送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);
                        }
        }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
jermy_z
1楼-- · 2019-07-20 21:22
真不知道你这个中断写的有个毛意义
彼岸花
2楼-- · 2019-07-20 23:40
 精彩回答 2  元偷偷看……
路人曦
3楼-- · 2019-07-21 04:21
彼岸花 发表于 2018-1-15 16:14
这个我也知道。。。。但是,假如说我要立即发送这个东西呢,就是说一接收到就立马返回一个值

立即发送写函数就行嘞。。。讲真没必要用中断,得到数据就发送,收到数据就回复,这些写在函数里面都很容易,不关中断不中断的问题

一周热门 更多>