URC是Unsolicited Result Code,即“非请求结果码”。一般的AT命令流程都是控制端发出命令,被控端响应结果码。但当被控端有事件需要通知控制端时,就会主动发出URC,例如有呼叫打入、收到新短信息、自动关机等。另一方面,TC35i对AT命令的响应结果可能有多行,各个命令都不同,没有一个统一的机制可以确切得知命令响应完成,加上URC,使得处理比较困难。 MC55的建议是启用回响(ATE1),当控制端发出“AT”,并收到“A”的回响开始,到命令响应结束,这段期间不会发出URC。而且控制端应该在各个AT命令后等待至少100ms,以让TC35i有发出URC的机会。 处理的思路是,用一对函数将命令处理的“安全期”保护起来,以防止漏掉URC或被URC干扰程序。在开始AT命令时,先调用BeginATCommand()函数。BeginATCommand()函数先发出“AT”字符到TC35i,然后读取输入缓冲的每一行,如果有URC则放入URC队列,直到输入缓冲为空而超时,最后读入的字符应该就是“AT”的回响,这时候就进入了“安全期”,可以继续发送后续的命令。命令完成后,再调用EndATCommand()函数,EndATCommand()函数负责把输入缓冲剩余的字符清空。同样读取输入缓冲的每一行,如果有URC则放入URC队列,直到输入缓冲为空而超时,清理完毕。
2025年使用AT命令集控制TC35i时对URC的处理
使用AT命令集控制TC35i时对URC的处理URC 是 Unsolicited Result Code 即 非请求结果码 一般的 AT 命令流程都是控制端发出命令 被控端响应结果码 但当被控端有事件需要通知控制端时 就会主动发出 URC 例如有呼叫打入 收到新短信息 自动关机等 另一方面 TC35i 对 AT 命令的响应结果可能有多行 各个命令都不同 没有一个统一的机制可以确切得知命令响应完成 加上 URC 使得处理比较困难
大家好,我是讯享网,很高兴认识大家。
陈小玉:算法学习建议
上一篇
2025-02-07 16:43
神经网络(Neural Networks)简介
下一篇
2025-01-24 18:28

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/20335.html