大功率地磅遥控器最新上市

更新:2016/8/9 22:10:48      点击:
  • 产品品牌   
  • 产品型号   
  • 产品描述

    ...

产品介绍

CPU版AD模块的29条命令格式和功能说明老兵不死,只会慢慢凋零!单机下载地址里面进去,这孩子有那么点不忠厚老实,有时有点尖头吧唧的,平时脾气不怎么好,天头野外毒人,几乎天天都装逼无度,而且经常到处捣乱,人长得不死很帅很帅,但有时还是会给大家刷点怪打打(虽然怪都 出的垃圾),笨丶小孩 被管理员禁言天分钟!我给你宣传,你还揍我 ...,以权谋私,滥用职权。给你们搞啥活动都有人说这说那的。所以以后叫我搞活动我就当没听见,笨丶小孩 被管理员解除禁言!你刷一堆巨灵神,镇守BOSS,没意见才怪

注:本CPU版AD模块所有的数据或者指令的输入输出均采用RS232格式,9600波特率( 无奇偶校验,1个停止位),TTL电平。本模块不能和电脑主机上的串口直接连接,需要通过RS232芯片进行电平转换。

 1、 02H 输出1次当前通道的最终重量⑴(16进制整数)
命令格式A502A7
模块返回:02H D1 D2 D3 D4 D5 D6 状态码 校验码
说明
向本模块发送A502A7,其中A5是命令数据头,02H是命令ID,A7是A5和02的异或校验值。模块将返回当前通道所测得的最终重量数据,其中02H代表本次数据是对应A502A7这个命令返回的,D1—D6是最终的重量数据,D1是高字节,D6是低字节,状态码⑵是指本模块现在的运行状态和数据状态,附注有详细说明,检验码⑶是前面8个字节的异或值。
本指令在以下系统状态时会报错(在状态码里有标志位),表示数据无效或本指令没有执行:
a 校准状态下 (因为校准状态是准备输入砝码值的,连砝码的值都还没有确定所以就无法输出最终的重量了。好比要你去测量一根铜丝的直径,这时连手上卡尺准不准都还不知道,也就没法测了,即使测了,读数也可能是不准的)
b当前通道没有经过校准,还没有砝码数据的时候。(可用读砝码命令读一下数据看看)
c 模块接收串口数据超时或者模块内部的单片机和HX711通讯错误。(这个是全局都会报错,对所有指令都有效,后续指令不再重复本条)
2、03H 连续输出当前通道的最终重量(16进制整数)
命令格式:A503A6
模块返回:03H D1 D2 D3 D4 D5 D6 状态码 校验码
说明:连续输出指令相当于本模块自动的重复的执行输出一次指令,例如:本条指令A503A6是连续输出当前通道的最终重量16进制,那么就相当于自动的、重复的执行 02H 输出一次当前通道最终重量16进制的这个命令,只是命令ID代码02改为03,其它数据的含义都相同。连续输出命令可以其它被任何一条命令中断或改变。
本指令在以下系统状态时会报错:
a 校准状态下
b当前通道没有经过校准,还没有砝码数据的时候

3、04H 输出1次当前通道的最终重量(十进制整数)
命令格式:A504A1
模块返回:04H D1 D2 D3 D4 D5 D6 D7 D8 状态码 校验码
说明:功能上与A505A7读一次当前重量16进制指令相同,只是输出数据是十进制而不是16进制
本指令在以下系统状态时会报错:
a 校准状态下
b当前通道没有经过校准,还没有砝码数据的时候。
4、05H 连续输出当前通道的最终重量(十进制整数)
命令格式:A505A0
模块返回:05H D1 D2 D3 D4 D5 D6 D7 D8 状态码 校验码
说明:相当于自动重复执行 A504A1指令,只是指令代码改为05。
本指令在以下系统状态时会报错:
a 校准状态下
b当前通道没有经过校准,还没有砝码数据的时候。
5、06H 输出1次当前通道的最终重量(16进制带2位小数 )
命令格式:A506A3
模块返回:06H D1 D2 D3 D4 D5 D6 状态码 校验码
说明:这里的16进制带2位小数的含义如下:
例如模块返回的数据是06 00 00 00 01 6F DF 07 B0,表示最终重量就是016FDFH,转换成10进制就是94175,说明当前重量是941.75克,因为这种表示方法相对来说适合进行快速二次加工,如:适合快速的加减乘除运算,也适合进行快速比较大小等等,所以就自创了这种格式,而没有采用浮点格式。(当然这里的单位:克,仅仅是一个例子,具体什么单位要看实际应用和砝码性质了,如果用来校准温度传感器的,那么砝码就是特定时候的温度值,如果用来测电压的,那么这里的单位就是V,如果用来测力的,那么这里的单位就是 牛顿 或者 kg了,等等)。数据头06H表示本数据是针对A506A3这条指令而返回的,状态码07表示当前是A通道,是正数,砝码有效,最新数据,无错误 等等。
本指令在以下系统状态时会报错:
a 校准状态下
b当前通道没有经过校准,还没有砝码数据的时候。
6、07H 连续输出当前通道的最终重量(16进制带2位小数)
命令格式:A507A2
模块返回:07 D1 D2 D3 D4 D5 D6 状态码 校验码
说明:相当于自动的重复的执行A506A3指令,只是指令代码改为07。
本指令在以下系统状态时会报错:
a 校准状态下
b当前通道没有经过校准,还没有砝码数据的时候。
7、08H 输出1次当前通道的最终重量(十进制带2位小数)
命令格式A508AD
模块返回:08H D1 D2 D3 D4 D5 D6 D7 D8 状态码 校验码
说明:这里的16进制带2位小数的含义如下:
例如模块返回的数据是08 00 00 00 00 00 09 41 78 07 3F,表示最终是941.78克,也就是说这里的D8就是小数点后两位的值。这些D1-D8都是BCD码,方便用来直接显示。
本指令在以下系统状态时会报错:
a 校准状态下
b当前通道没有经过校准,还没有砝码数据的时候。
8、09H 连续当前通道的最终重量(十进制带2位小数)
命令格式:A509AC
模块返回:09H D1 D2 D3 D4 D5 D6 D7 D8 状态码 校验码
说明:本指令相当于自动的重复的执行A508AD指令,只是指令代码改为09。
本指令在以下系统状态时会报错:
a 校准状态下
b当前通道没有经过校准,还没有砝码数据的时候。
9、0AH 输出1次当前通道的滤波值(16进制整数)
命令格式:A50AAF
模块返回:0AH D1 D2 D3 状态码 校验码
说明:因为从HX711读进来的24bit数据不是直接用来计算,而是先通过平均值计算,去掉最大、最小值等数字滤波后,才用来计算。这里所说的滤波值也就是通过平均值滤波后的数值,这和砝码值是没有关系,即使没有砝码参数,这个值也是有效的。
10、0BH 连续输出当前通道的滤波值(16进制整数)
命令格式:A50BAE
模块返回:0BH D1 D2 D3 状态码 校验码
说明:本指令相当于自动的重复执行A50AAF,只是把命令ID 0A改为0B。
11、0EH AB通道交替输出1次 (十进制整数)
命令格式:A50EAB
模块返回:0EH D1 D2 D3 D4 D5 D6 D7 D8 状态码 校验码
说明:由于HX711有两个通道,有时候会接2个传感器(相当于一拖二),而且2个传感器的数据都要用到,所以就诞生了本条指令。把它分解就相当于:读一次当前通道的十进制(A504A1)→切换到另一通道→读一次当前通道的十进制(A504A1)→再切换回原来的通道,这个4个动作的组合。这个功能在某些需要多传感器数据的场合十分有用,可节省硬件、软件资源开支。
指令在以下系统状态时会报错:
a 校准状态下,且只返回一次数据。
b当前通道没有经过校准,还没有砝码数据的时候。
12、0FH AB通道连续交替输出 (十进制整数)
命令格式:A50FAA
模块返回:0FH D1 D2 D3 D4 D5 D6 D7 D8 状态码 校验码
说明:本指令相当于自动的重复执行A50EAB,只是把0E改为0F。
指令在以下系统状态时会报错:
a 校准状态下,且只返回一次数据。
b当前通道没有经过校准,还没有砝码数据的时候。
13、C0H 当前通道归零
命令格式:A5C065
模块返回:74 C0 状态码 校验码
说明:把当前通道的读数作为当前通道的零位基数。类似于市场上普通电子秤的归零功能。执行归零时请保持传感器输出稳定,不要在重量变化、振动、或者温差变化、信号变化的时候执行归零。所有C或D开头的命令ID都是和系统参数有关的命令,这种命令的返回数据的数据头高半位都是以7开头,数据头的低半位代表整个返回数据的字节总数,例如本命令的返回数据的数据头是74,就表示本数据一共有4个字节。第二个字节C0表示本数据值针对A5C065个命令而返回的。这种结构有助于上位机的校验,防止出现错误的执行系统命令。保证系统命令的执行可靠性。
14、C1H A、B通道同时归零
命令格式:A5C164
模块返回:74 C1 状态码 校验码
说明:把当前A、B通道的读数分别作为A、B通道零位基数。本命令在校准状态下无效,会报错。
15、C2H 读取当前通道的砝码重量(16进制整数)
命令格式:A5C267
模块返回:77 C2 版本号+当前通道 砝码H 砝码L 状态码 校验码
说明:这里的“版本+当前通道”的含义是:前半字节是固件版本,值为0-F,后半字节是在没有开机自动执行参数情况下选中运行的通道,值为A或者B,A表示A通道,B表示B通道。砝码H是砝码的高字节,砝码L是低字节。
16、C3H 读取当前通道的砝码重量(十进制整数)
命令格式:A5C366
模块返回:77 C3 D1 D2 D3 状态码 校验码
说明:功能上等同于A5C267这个命令,只是把 砝码H、砝码L转换为十进制BCD码。D1是高字节,D3是低字节。十进制的数据有助于人机界面的直接显示。
17、C4H 读取当前通道的砝码对应的ad值(16进制整数)
命令格式:A5C461
模块返回:77 C4 D1 D2 D3 状态码 校验码
说明:这个数据一般用来二次开发或者某些特殊场合使用,D1是高字节。
18、C5H 读取当前当前通道的滤波累加深度
命令格式:A5C560
模块返回:77 C5 版本+当前通道 滤波状态 深度 状态码 校验码
说明:滤波状态在附注里面有说明。累加深度是指软件滤波器的累加次数。例如深度是05,就表示连续读5次HX711的数据后再进行一次平均值计算,这个平均值就是前面所说的当前通道的滤波值。“版本+当前通道”的含义是:前半字节是固件版本,值为0-F,后半字节是在没有开机自动执行参数情况下选中运行的通道,值为A或者B,A表示A通道,B表示B通道,例如:在下文D1H命令举例中设定了开机自动运行在B通道05H命令,然后上电自动运行一段时间后由于某种需要用A5D10074命令取消了开机自动运行功能,这时模块还是运行在B通道的,如果用本命令读取滤波深度中:“版本+当前通道”字节显示的是当前A通道,那么下次开机就会选中A通道,而不是B。也就是说 D1H命令中设定的工作通道具有优先权。本命令在校准状态下无法执行,会报错。
19、C7H 使用滑动滤波方式
命令格式:A5 C7 深度 校验码
模块返回:74 C7 状态码 校验码
说明:本命令作用是使当前通道切换到滑动滤波方式,并且附带输入数据滤波缓冲区的大小(深度)。
滑动滤波也称为均值移动滤波,是一种减少随机白噪声同时可保持最敏捷阶跃响应的好方法,采用均值移动方法可使输出数据速率与输入数据速率保持相同。这种方法可以显著地提高最终结果的有效分辨率,而不影响输出数据的更新速率。这种方法的唯一缺点是由于计算平均值产生的流水线延迟而延长了建立时间。本命令在校准状态下无法执行,会报错。累加深度最小值04H,最大值0AH。
20、C8H 使用平均值滤波
命令格式:A5 C8 深度 校验码
模块返回:74 C8 状态码 校验码
说明:本命令作用是使当前通道切换到平均值滤波方式,并且附带输入累加次数(深度)。深度取值在04-C8H之间。深度越大相应输出时间越慢,特别是在连续输出的时候使用平均值滤波方式,要等模块内读取HX711的次数到累加次数的时候才会有数据输出。例如:HX711的数据输出速率设置为80Hz(模块背后J1开路),平均值累加深度设置为C8H,也就是十进制的200,而且当前执行的是任何一条连续输出的命令,那么每次数据输出的间隔就达到200x0.0125s=2.5秒,如果是A、B连续交替输出,那个这个时间还会延长,因为HX711规定切换通道后会有4个数据周期的稳定期。如果HX711的数据输出速率设置为10Hz(模块背后J1短接),那么每个输出数据间隔还会更长。本命令在校准状态下无法执行,会报错。累加深度最小值04H,最大值C8H。
21、C9H 当前通道进入校准状态
命令格式:A5C96C
模块返回:74 C9 状态码 校验码
说明:使系统进入传感器的校准模式,为输入砝码做好准备。
22、CAH 输入砝码重量(16进制整数)
命令格式:A5 CA 砝码H 砝码L 校验码
模块返回:74 CA 状态码 校验码
说明:本命令作用是在当前通道的校准模式下输入砝码值,其中砝码H是高字节,砝码取值在1-FFFEH之间。传感器校准的一般流程为:首先进入校准状态,然后再使当前通道归零(如果不是在零位),接着再在传感器上施加一定的准确重量(具体一点可以是精确的1kg重的砝码,或10度的温度差,或者10mv电压等,看具体情况而定),最后再输入本命令,就校准成功了。在正常模式下输入此命令将会报错,在零位的时候也会报错,无法执行。
23、CBH 输入砝码重量(十进制整数)
命令格式:A5 CB 砝码1 砝码2 砝码3 校验码
模块返回:74 CB 状态码 校验码
说明:本功能等同与输入砝码重量16进制整数,只是这里的砝码值是十进制的BCD码,砝码1是高字节。例如一个砝码的重量是945克,那么本命令就是:A5CB00094522。在正常模式下输入此命令将会报错,在零位的时候也会报错,无法执行。
24、CCH 中途退出校准状态
命令格式:A5CC69
模块返回:74 CC 状态码 校验码
说明:如果输入了A5C96C 命令进入校准状态,但是由于某种原因不想校准了,就可以使用本命令退出,而不影响,不改变,不覆盖原有的砝码数据。在正常模式下输入此命令将会报错,无法执行。
25、CDH 切换到A通道128db
命令格式:A5CD68
模块返回:74 CD 状态码 校验码
说明:本命令作用是选中A通道,并且增益设置为128db。本命令在校准模式下无法执行,会报错。 
26、CEH 切换到A通道64db
命令格式:A5CE6B
模块返回:74 CE 状态码 校验码
说明:本命令作用是选中A通道,并且增益设置为64db。本命令在校准模式下无法执行,会报错。
27、CFH 切换到B通道32db
命令格式:A5CF6A
模块返回:74 CF 状态码 校验码
说明:本命令作用是选中B通道,并且增益设置为32db。本命令在校准模式下无法执行,会报错。
28、D1H 把当前环境设定为开机自动执行参数
命令格式:A5 D1 开机执行命令ID 校验码
模块返回:74 D1 状态码 校验码
说明:本命令作用是把当前的参数保存,并作为下次开机自动运行的参数,并且自动执行命令中的“开机执行命令ID”,本命令不会保存砝码参数,滤波方式,滤波深度,只保存A、B通道的零位基数。注意,“开机执行命令ID”只能是0开头的命令ID,但是不能为00H,如果发送了C开头的命令或00H命令ID,都将会取消开机自动执行功能,并且删除先前保存的有关开机自动运行的参数(如果有)。如果想要开机时跳过自动归零,但是又不想自动执行任何指令,请把“开机执行命令ID”设定为0C 或0D这两个无效命令。这个指令对应用于温度、湿度传感器,测电压等很有用,用来保存出厂校准时的设定参数。 例如:当前选中的是B通道,模块内部零位基数是810A9E,然后发送本命令A5D10571,就表示下次上电开机将自动使用B通道,并且跳过开机自动归零,强制使用上次保存的零位基数810A9E,接着马上执行05H命令(连续输出当前重量十进制)。本命令在校准状态下会报错,无法执行。
29、D2H 在当前环境下调用开机自动运行命令
命令格式:A5D277
模块返回:74 D2 状态码 校验码
说明:本命令作用是调用之前保存的开机自动运行命令。例如:按D1命令所假设的情况已经设定了一个开机自动运行命令:A5D10571,当时的环境是B通道,零位基数810A9E,并且这次开机也运行了一段时间了,现在有想看看A通道的情况,或者想看看别的什么参数,于是就输入了切换通道命令,也输入了其它命令,而且也归零了,也就是说情况变化大了,等一切都了解明白之后又想要模块运行开机自动运行命令,但是又不想模块断电,这时就可以输入本命令,输入后将重新选用B通道,和零位基数810A9E,且模块返回74D207A1,紧接着就是05H命令的数据返回,就相当于断电再上电这个动作。如果在模块内没有开机自动运行参数的情况下输入本命令,也会有返回数据,但是不会执行开机自动运行命令,可用C5H命令读一下,就知道模块内开机执行参数是否有效了,如果有效还可知道开机自动执行的是哪个通道,哪个命令ID。本命令在校准状态下会报错,无法执行。

附注:
1、
最终重量是指经过和砝码比例计算后的值。例如校准的时候砝码是1kg且ad读数是111111H,刚才测量的时候ad读数是222222H,那种这时最终重量就是2kg了。所以这个最终重量如果没有砝码参数的时候是没法计算得到的。
2、状态码含义:
比特位: bit7  bit6  bit5  bit4  bit3  bit2  bit1  bit0
含义:   出错  连续 负数 零位 校准 最新 通道 砝码
说明
bit7 为1表示有错误发生,表示数据是不准确或者命令没有执行。为0表示正确可用。
bit6 为1表示现在正在连续输出数据。
bit5 为1表示现在的数据是负数(比零位基数小),为0表示正数(比零位基数大)。
bit4 为1 表示现在是零位,读数为零(读滤波数据除外)。
bit3 为1表示现在是校准状态,限制很多功能。
bit2 为1表示现在的数据是最新的,刚滤波后计算得到的、刚出炉的。
bit1 为1表示当前正在使用A通道,为0表示B通道。
bit0 为1表示系统内有砝码参数,为0表示无砝码参数,限制部分功能。
3、校验码含义
校验码是前面几个数据的异或值,例如一个数据或者命令是6字节:A5 D8 0A 1B 73 1F 。其中最后一个校验码字节1F 表示是前面5个字节A5 D8 0A 1B 73的异或值,A5先和D8异或得到7D,接着7D和0A异或得到77,接着77和1B异或得到6C,最后6C和73异或就得到校验码1F了。
4、滤波状态含义
比特位: bit7….bit4          bit3         bit2   bit1    bit0
含义:  开机执行命令 开机执行通道  速率  增益 滤波方式
说明
bit7-bit4开机自动运行的命令,如果是1-F表示对应01-0F命令,为0表示模块内没有开机自动运行参数。
bit3 为1表示开机自动运行的通道是A通道,0表示开机自动运行的通道是B通道
bit2 为1表示HX711的输出速率是80Hz,为0表示是10Hz(由模块背后J1设定)。
bit1 为1表示当前通道增益128db,0表示当前通道增益64db或32db。
bit0 为1表示当前通道采用滑动滤波方式,0表示当前通道采用平均值滤波方式。
5、命令和返回数据的编码规则:所有命令都是以A5开头,接着是命令ID,例如02H表示读一次16进制重量等,然后是数据(如果有),最后是校验码。所有的模块返回数据分为2类:一类是02-0FH开头,表示这些返回数据是对应读数命令的,例如数据头是04H的返回数据,表示针对04H命令ID返回的。第二类返回数据是以7XH开头,后半字节的X表示本次返回数据的字节数(包含最后字节校验码),此类返回都表示是针对和系统参数有关(也就是C或者D开头的命令ID)的命令的数据返回,7X后面一个字节紧跟着是被执行的命令ID(值为C0-CFH、D1、D2)。这样的编码方式有助于上位机的数据处理,快速转散,也有助于校验数据的正确性,提高安全可靠性能。如果所有返回数据都同一方式的话,将很难分辨某个返回数据是那个命令所引起的,特别是快速操作的时候,短时间发送了多个命令,后续会有多个返回数据,统一的编码方式将很难或者要花费更多系统资源来区分哪个数据是对应哪个命令。所有命令的前后两个字节的间隔请在50ms内发送,超过50ms模块将认为是乱码或者受到干扰,将放弃解码。例如:现在要输入A502A7这个三字节的读数命令,首先发送的是A5H,发送完后接着发送02H,但是这个A5H 和02H的发送间隔不能超过50ms,同理,后面的02H和A7H的发送间隔也不能超过50ms。一旦超过,即使3个字节全部发送了,整个命令也是无效的,模块不会返回任何数据。
6、如果前面一个命令正在执行,返回数据正在输出,但是还没有输完,又发送了一个命令,那么这个命令会进入等待,会等到前一个命令输出了一个完整的数据包时,新命令才会被执行。例如:输入一个读数命令A50AAF,这时模块将要返回数据0A 00 62 48 05 25,可是还没来得及输出返回数据或者正当输出了2个数据0A00时又收到了一个新命令A5C065,那么这个新命令A5C065会进入等待,直到模块接着输出上一命令的数据62 48 05 25后,才会执行这个等待的新命令A5C065,且如果执行成功将返回74 C0 21 95。详见下图
7、本模块上电开机时会自动执行一次A、B通道同时归零命令,也可使用D1H命令跳过开机归零,而使用其它零位基数。通道改变 增益改变 校准时的砝码参数 都有掉电保存功能,不必每次上电都校准。
8、在校准状态下有效的命令:
a. 0AH 输出1次当前滤波值16进制整数
b. 0BH 连续输出当前滤波值16进制整数
c. C0H 当前通道归零
d. C2H 读取当前砝码重量16进制整数
e. C3H 读取当前砝码重量十进制整数
f.  C4H 读取当前砝码对应的ad值16进制整数
g. CCH 中途退出校准状态
h. CAH 输入砝码重量16进制整数
i.  CBH 输入砝码重量十进制整数
9、由于本模块应用场合不是固定不变的,外接的传感器也是品种繁多,没有统一的参数,所以无法设定一个读数稳定标志。设计者可结合实际,用多次读数来判断被测信号是否稳定。例如:向本模块发送5次读数命令,把得到的5个数据进行比较,看看最大值和最小值之间的差值有多少,再结合实际情况,判断一下这个差值在多大范围内就可以认定被测信号是处于稳定状态。

 连续发送多个命令,后续命令进入等待状态的实测图:最可恶的是你刷掉了我的闪运狼牙,你怎么不说,滚蛋,没次都有替身。我没说,刚刚我表弟在玩,里面藏了好boss你们懒得打而已!那个小法师听说是冬天。昨天刷的boss那叫一个疯狂,逍遥城进去都没办法立住脚跟。不理他,他在别区玩的,小法师是老人那边的吗,小法师和你们会那些的一类!逍遥是打怪大家的地方吗,你太坑了,睡觉,下午还多个浴缸要搬。滚蛋,昨天不是地磅遥控器我刷的。我们这今天估计是最高温了,我的小弟“小法师”,我这下午千万别下雨

更多产品