嵌入式爱好者

3568 串口使用 echo cat 命令配置AT模块 注意事项

2022-12-26 15:27| 发布者: 兵兵兵兵鸭| 查看: 302| 评论: 0

类目: RK3568系列产品  >  Linux     文档编号: 872

在3568端UART端口接入可AT指令配置的模块后,直接通过命令行进行AT指令配置。
正常情况下使用命令 cat /dev/ttyS* & 接收模块返回信息,使用echo "AT+AT" > /dev/ttyS* 给模块发送AT命令

现象:使用cat /dev/ttyS*后,使用 echo "AT+AT" > /dev/ttyS* 命令,串口一直返回ERROR打印信息。

原因:Linux的UART控制器的回显功能被打开,可参考调试串口理解,在超级终端输入一个字符给调试串口,如果没有回显功能,那么在超级终端是看不到这个字符的
这种现象和AT模块相关,AT模块接收的AT指令为特殊的格式,有些模块的处理方式是:如果格式不正确,则丢弃。而有的模块是:如果格式不正确则返回ERROR
如果回显功能打开 第一次执行 echo "AT+AT" > /dev/ttyS* 命令 时 由 3568直接输出给串口,AT模块执行正确,反回OK,因为回显功能,串口又输出了OK,此时的OK并不是AT指令格式,模块返回ERROR,因为回显,模块收到ERROR,如此进入ERROR循环。

解决方法以及可能用的到的命令:
解决方法:stty -echo -F /dev/ttyS* 115200 //关闭串口回显标志位,并且设置ttyS*的串口波特率为115200
关于echo 命令:默认echo 发送字符串时 自动补齐 \r\n , 若使用 echo -e " *** \r\n"不生效,原因为echo -e 遇到\n 自动在\n之前补齐\r,所以命令变为 *** \r\r\n ,如此格式一般不被AT模块认可,需注意。

在Linux开发板上使用AT模块,只要UART端的串口波特率一致,使用 cat 和 echo 命令即可完成配置。

已解决

未解决

只是看看

最新评论

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-22 15:28

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部