求助 脚本驱动 点击:352 | 回复:1



paowuxian1

    
发表于:2010-02-23 10:18:04
楼主

我想做一个与单片机通信的驱动  用脚本驱动开发工具一直没有做出来 也没有头绪

下面是我的通信方式  请高手帮忙


通信方式
一、 通信格式要求:
通信方式 RS232   波特率 9600 和校验 (一位)
二、 数据包格式:
数据为16进制(两字节的数据 先传送高八位,后传送低八位)
上位机 到 下位机
传输数据包格式
名称 数据包头  指令标志   工作段段号  功率值 工作时间(分) 控制指令 校验位 
           EBAA 
字节数    2                    1            1                      2              2                            1             
 数据位   0 1                 2             3                  4 5             6 7                      8               9
1、 初始值数据包 指令标志:F0(分为8个工作段)
每次只发送一个工作段的初始值数据包。如果有第二个工作段则等第一个工作段传送结束后,得到下位机的第一个工作段处理完毕的确认信息后,才发送第二个工作段初始值数据包。多工作段,依次类推。
工作段包括
1) 升温功率值(两字节16位 范围 100~~1000 )
2) 工作定时(两字节16位 范围 0~~9999分)
2、控制指令。指令标志:F1 数据包格式第8位。
控制指令真值表,
指令 停止 暂停 运行 电机I -正 电机I -反 电机II -正
值       C0      C1    C2       C3             C4             C5
CF查询命令下去,下位机不执行任何动作,只返回相应数据值。
名称  指令标志F1  指令
字节数 1                   1
数据位 2                    8
3、当前工作段时间更改,指令标志:F2
数据包格式的第6 7位
名称 指令标志F2  时间(分)
字节数 1                   2
数据位 2                      6 7

三条的指令在上位机传送到下位机时,使用相同的数据位数,不同的数据包,指令标志不同。每次传送9个字节的数据下去。三条数据指令的有效位置如下。0x0x表示有效位,进行和校验。不属于该数据包的其他位置的数据使用0xff填充,并且不计入和校验。

校验位的判断方法:
除去包头EBAA,对有效的数据位,求和,舍去高位,保留最后一位数为校验位。
各个指令数据格式包的红色波浪线为有效位置。
第一条指令为初始值数据包指令举例
名称 数据包头  指令标志 工作段段号 升温功率值 工作时间 (分) 指令 校验位 
            EBAA

字节数    2                 1              1                             2                    2                 1    &nbs



楼主最近还看过

SSI ļʱ