单片机怎么处理串口接收到的命令
单片机串口接收到数据h0a0,h代表high, 0a0对应16进制的160, 此时 控制单片机某管脚高电平16s;大约0.1秒后,单片机收到数据l078,l代表low,078对应16进制的120, 此时 控制单片机某管脚高电平16s;
.....
单片机收到一组不定长度的命令,例如h0a0l078h050l029h050l020 单片机控制执行一系列的通断。
求助 单片机怎么处理串口接收到的命令 这种情况需要编制一个完整的通讯协议。 命令所对应的执行动作都是按秒计时的,那么在执行期间,又收到相反的动作命令又该怎么处理。 这个相对简单一些,只要注意比较字符串即可. 怎么处理串口接收到的命令是业务逻辑问题,得根据命令的含义做处理. 这个是靠通讯协议来处理的,要根据实际需求编制通讯协议。 直接使用串口中断处理。 必须约定好通信格式吧。 这个就是一个编码和译码的过程。 16进制的数据好解析的呀。 楼主最好通过协议进行访问。 一般使用0xff或者0x55通信。 你怎么对应写入的数据,怎么反过来读取数据。 在单片机进行解码就行了吧。 每一位代表什么数据的就是固定的通信格式 如果不固定,解码的协议就不好编写的。 长度不固定还不好接收呢。{:smile:} 直接通信控制IO接受串口指令。 正常来说,可以在中断把数据都收到,然后在子函数中处理数据
这个不像是ST的串口程序嘞