rk3568 , 移远 EM05 , 如何发短信。
首先使用的是 minicom 的交互的方式。这样是可以的。这是 使用 minicom 的交互串口 发送的 短信这里唯一注意的就是 最后 会 按一下 键盘上的 ctrlz 这是一个 结束的标志。然后手机就收到短信了。其实命令就是 这些。./quectel-CM /dev/null 21 # 这是再启动 4G模块联网。 AT ATCMGF1 ATCMGS13911139197 test CtrlZ然后还想 使用 单个 shell 命令的方式 联网 就是 不进入 交互的 命令行。这样其他程序就可以使用了。当然首先想到的就是 echo 命令 但是 这样 输入 是没有效果的。echo -e AT\r /dev/ttyUSB3 sleep 0.3 echo -e ATCMGF1\r /dev/ttyUSB3 sleep 0.3 echo -e ATCMGS13911139197\r /dev/ttyUSB3 sleep 0.3 echo -e test\x1A /dev/ttyUSB3然后我就怀疑是不是 因为 没有 配置 波特率的原因。然后 使用 stty 配置串口的波特率。但是报错了。应该是 stty 无法操作 这个 ttyUSB3 节点。因为 我是用 minicom 的时候 是配置了 波特率的。所以 我想到 配置 波特率也是 可以的。所以 我就想 能不能用 C语言程序 来控制 波特率呢结果是 没有报错 但是 也是 没有 发送短信成功。后来 测试 发现 需要 cat 一下才行。linaro-alip:/userdata# rootlinaro-alip:/userdata# rootlinaro-alip:/userdata# rootlinaro-alip:/userdata# echo -e ATCMGF1\r /dev/ttyUSB3 rootlinaro-alip:/userdata# cat /dev/ttyUSB3 ATCMGF1 OK rootlinaro-alip:/userdata# echo -e ATCMGS\18876338151\\r /dev/ttyUSB3 rootlinaro-alip:/userdata# cat /dev/ttyUSB3 ATCMGS18876338151 rootlinaro-alip:/userdataecho -e wang\x1A /dev/ttyUSB3 rootlinaro-alip:/userdata#然后最后的结果。总结1 、 对于 波特率的配置 我觉得 最后 肯定 会 配置 串口寄存器。2、 那么为什么 stty 报错了但是 C 语言程序 minicom 没有报错呢 我不知道。3、 其实不用配置 4G 虚拟串口的波特率4、 最重要的是 echo 完之后 要cat 一下。 也许这是 厂家的 程序就是这样安排的。