第六路输出(第5位)
如: 某一时刻六路输出开关量的输出状态为0x01,上位机读取其状态为: 0xee + 0x05 + 0x01 + Xor
Command = 0x06 四路输入状态发生变化时单片机读取其变化的状态并返回给上位机
此时,Content 的1字节中的低四位分别表示四路开关量的输入状态
1表示输入高电平,0表示输入低电平 第一路输入(第0位) 第二位输入(第1位) 第三路输入(第2位) 第四路输入(第3位)
如:假设某一时刻四路输入开关量的输入状态为0x03,上位机读取其状态为: 0xee + 0x06 + 0x03 + Xor
Content:表示四路输入开关量的输入状态(数据)或者六路输出开关量的输出状态(数据),在不使用它的命令格式中,它的值无意义,为通信方便,在不使用它的命令格式中,规定其值为0x00;
Xor :从第一个字节开始到Xor的前一个字节(总共3个字节),做异或运算
四、串口助手测试:
读取四路输入开关量 ff 01 00 fe
控制六路输出的输出状态 ff 03 XX Xor 00 fc 全开 01 fd 关闭右边第一个
02 fe 关闭右边第二个 04 f8 关闭右边第三个 08 f4 关闭右边第四个 10 ec 关闭右边第五个 20 dc 关闭右边第六个 3f c3 全关
3e c2 开右边第一个 3c c1 开右边第二个 3b c7 开右边第三个 37 cb 开右边第四个 2f d3 开右边第五个
1f e3 开右边第六个 读取六路输出开关量的输出状态 ff 04 00 fb
简介:
本文论述了一个简单的单片机串口通信作品,通过上位机和单片机通信,控制几路开关量的输入和输出。只限于学习和参考之用,各部分均通过测试成功!是笔者工作和学习之总结,望大家多学习交流!
2010-12-22 晚 于上海 难为