上位机以PC,下位机以单片机为例,两者在进行通信时一般用串口通信,而数据通过串口时是以16进制来传送的,为了发送、接收处理方便,建议通过函数做一下处理,使发送的数据为16进制,这样,通过串口接收到的数据也是相同的16进制,方便查看。
如果想让下位机做某事,则需要上位机给下位机发送指令,也就是数据帧,这个要根据协议来写,比如移动GSM、联通GSM协议,里边都有数据帧的格式以及具体定义。
补充:这个协议不是说串口通信协议,那个协议是根据用途或要求来采用的,比如说,要用单片机做一个联通GSM协议的数据通信,那么数据帧的格式必须是X开头,X结尾的,有固定的格式。再比如移动的,数据帧格式有7E开头7E结尾的,也有!开头!结尾的,如果你的数据帧格式不正确,将无法识别而不能做出相关的动作。
你如果只是自己弄着玩,数据帧可以自己定义,但如果要做项目,最好根据要求协议来编写。
还真有些 复杂!
下位机 多半 是 诸如 单片机类的,如果2端约定用ascii码方式发送,字符很好处理,读解起来也容易,但 控制符 就不太好处理了!
其实,都可以用16进制方式发送,只是 接收方 读解起来 不便
发送什么样的数据 对方收到后怎么样反馈 都应该是 协议设计 的 范畴之内
实施编程前要充分考虑
可以借鉴前人也有的一些 协议 如 modbus 等等
多 查查 百度百科 吧
祝你顺利