如何避免等待串口通信应答而造成的死机现象?
1个回答
展开全部
椋�蛭�亲远���阉魍��
,所以单片机W77E58 必须要等到模块的应答信息才能正确地执行AT命令~~
我想用程序在查询方式下先关掉串口0 (用于接收数据)中断,延时过后没有收到应答再进入死循环故意让程序跑飞,过512个时钟周期W77E58 自动复位,继续延时等待网络接通的应答。希望有这方面经验的大虾多多提醒小弟,先谢过了……
如果模块的应答始终没有到来,或者来了错误的应答是不是就应该模块的硬件问题?软件又没有办法实现再开机的啊!!
不管是用查询或者是中断,你只要设置个标志位,在主程序里不断判断这个标志位不就可以了?这样就不会陷于死循环了,不但可以等待应答消息,而且还可以让mcu做其他事情。
如果你非要让程序自己复位,可以找个不用的中断,使能这个中断,但不编这个中断服务程序,然后在你想要的时候自己置位这个中断的中断标志位,一般C的话肯定有bad_intterput捕捉程序,使复位。如果没有自己写个,这样就达到你的目的了。
哦~是的,如果程序复位后,可以用标志位判断是否进行初始化,这里并不需要自动复位!!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询