区别1:中断USART1_IRQHandler()不放进main(主函数)里,而轮询检测rcv()需要;
分析;中断方式:正常情况下先执行main里面的其他内容,当有串口输入时,产生并进入中断函数主体(没有的话,就一直执行main里面的内容)。
轮询rcv():每次在main里面强制执行。
LCD出现闪屏现象(中断中断串口输入需要加个延时);
分析:没有中断进来,主函数里的while不停循环,速度极快,所以看到的是一闪一闪的;
相比之下,由于rcv()在main 的while里面强制执行,且rcv()会一直等待你输入数据(直到达到你指定的字符结束),不输入的话就一直等待,所以之前显示的内容会一直显示,直到新的内容进来。
最后,中断检测串就输入,记得配置NVIC();
采用轮询的方式检测串口输入&&采用中断的方式检测串口输入的区别!
原文:https://www.cnblogs.com/caiqian123/p/10789683.html