使用4G模块进行二次开发时,有的群友碰到4G模块串口“时隐时现”的情况:
伴随系统发现新硬件的提示音,设备管理器中,串口经常“失踪”后又“诈尸”
Luatools也不能正确识别串口,无法打印任何Trace
通常,造成串口无法识别,或者频繁闪现的原因,是模块反复重启造成的。只有模块重启时,系统才会不断地“发现新硬件”。
那么,什么情况会造成模块反复重启呢?通常供电不足和代码错误两个原因。
针对供电不足导致重启的情况,建议开发者检查供电问题,如果是使用USB线供电,不要使用usb-hub,也不要插在前面板,尽量使用机箱后边的插口。尽量使用足够粗的microUSB数据线,避免压降导致供电不足(必要时,可以双插usb线增强供电),模块反复重启。必要时,建议使用示波器查看供电情况。
而代码错误导致的重启,通常AT模式不会遇到,只有Luat才会出现。
进行语法检测,可以有效避免由于代码错误导致的异常重启
开发者在下载Lua脚本,建议进行语法检测,避免常见的语法错误;另外可以使用UART1/2输出TRACE。
由于模块重启速度很快,但是Windows识别新硬件需要很久的时间,所以通常会错过模块输出的错误信息,没有错误信息就没有办法进一步跟踪调试程序。那么怎么办呢?
如果开发者没有使用UART1/2,那么可以使用UART1/2输出TRACE,打开串口调试助手查看模块输出的重启日志,进一步分析代码运行的错误(波特率115200)。
通过UART1/2查看TRACE,这样一来,就不会因为Windows识别新硬件速度慢,而错过模块输出的错误信息了。
仍然反复重启,且找不到错误原因,那么建议开发者使用S720开发板进行对比测试。通常可能是布线问题,供电问题等多种因素造成的反复重启。
如果开发者遇到无法解决又无法判断根源的反复重启问题,请参考文章:《关于Windows/Linux系统下如何用USB口抓取4G模块底层Trace?》
抓取到相关底层日志后,进QQ群交流:851800257
43 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!