采用轮询的方式检测串口输入&&采用中断的方式检测串口输入的区别!

区别1:中断USART1_IRQHandler()不放进main(主函数)里,而轮询检测rcv()需要;

但是需要在主函数里对中断NVIC()进行初始化,因为所有程序都是从主函数开始一步一步执行,想要以后进入中断程序,必须检测到有中断{大开关},此外,中断检测串口输入,还需要在串口函数定义里使能中断{小开关}

分析;中断方式:正常情况下先执行main里面的其他内容,当有串口输入时,产生并进入中断函数主体(没有的话,就一直执行main里面的内容)。

          轮询rcv():每次在main里面强制执行。

LCD出现闪屏现象(中断中断串口输入需要加个延时);

分析:没有中断进来,主函数里的while不停循环,速度极快,所以看到的是一闪一闪的;

相比之下,由于rcv()在main 的while里面强制执行,且rcv()会一直等待你输入数据(直到达到你指定的字符结束),不输入的话就一直等待,所以之前显示的内容会一直显示,直到新的内容进来。

最后,中断检测串就输入,记得配置NVIC();

补充:程序调试中的断点设置问题

程序调试时,有些程序往往很难确认什么时候能够执行到,这种问题就不适合单步调试 ----.> (在某一行断点设置),全速执行,一旦到断点程序行即停止,确定问题所在。 

 

转载于:https://www.cnblogs.com/caiqian123/p/10789683.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值