求助,串口通讯,
那位兄弟,可以帮我做个通讯接口的动态连接库,,我这个方面不熟,,考勤软件又要明天交货。急死我了!!
协议如下:
设日期时间:
1、随机发送20个’0’-‘9’之间的数
2、发机器号('A'-'J')。
3、发’?’ 。
4、 12位的日期时间数据(ASC码,加延时),如:'0','0','1','2','3','0','0',8'','3','0','1','2'。表示2000年12月30日8点30分12秒
5、2位的星期,如星期1用’0’,’1’来表示
6、接收到应答信号'Y' 。则表示时间已设好。
7、退出。
接收数据:
1、随机发送25个’0’-‘9’之间的数
2、发机器号('A'-'J')。
3、发'>' 。
4、发6位的年月数据(ASC码,加延时),如: '1','9','9','8','1','2'。表示1998年12月
5、接收连机应答'Y' 。若不是则退出。
6、接收数据应答'Y' 。若不是则退出(为'N'则表示没有当有)。
7、接收小于或等于260字节的数据块。
格式为0xBB + 数据 + 0xBB(或0xCC) + 检验和(2字节)
其中 :整个块为二进制数据
:0xBB为数据块起始和结束标志
:0xCC为数据传输结束标志
:检验和为数据(不加标志位)的二进制和对256的余数
8、如果数据正确接收则发块应答Y ,保存数据,继续过程6,直到结束(收到0xCC或在5秒之内只收到
1个0xBB)。否则发非应答'N' ,错误计数器加1(如超过5次,则整个过程无效,退出),继续过程5。
数据格式
(例子): 3A3A393831323031 30303031 30383330 30303032 30383330
3A3A393831323032 30303031 31343030 30303032 31343030
注: 1、空隔只是为了查看方便,实际上没有
2、上述情况为1号和2号卡在98年月12月1号-2号的考勤数据,列表则为:
卡号/日期 1998/12/01 1998/12/02
0001 08:30 12:00
0002 08:30 12:00
Evan_G@163.com