资料下载:
https://pan.baidu.com/s/1AhBSm3acySVNPxewOCOlzg
默认波特率:9600bps
校验位:无
停止位:1位
协议总长度:10字节
体积:长3.3cm*宽2cm*高0.3cm
钮电容:新款增加47uf黑色大电容钮电容
芯片:HX711
典型工作电流:12mA
工作电压范围:DC 4.7~5.5V
工作温度范围:-20 ℃ ~+85 ℃
HX711串口模块主要特点:
●AB双通道设计,每个通道都有2种工作模式任客户选择,满足不同用户需求。(详情看模块使用说明书,上方有链接)
●默认波特率:9600bps 校验位:无 停止位:1位 协议总长度:10字节
●体积:长3.3cm*宽2cm*高0.3cm。
●新款增加47uf黑色大电容钽电容,稳定性明显提高了。
●内置单片机,去皮,校正等N条指令控制,功能强大。节约底层开发时间。
●HX711芯片内稳压电路可以直接向外部压力传感器提供电源。
●简单的串口通信,可以TTL转USB连接电脑进行数据传输,非常方便。
●可同步抑制50Hz和60Hz的电源干扰。
●耗电量非常小,典型工作电流12mA.
●工作电压范围:DC 4.7~5.5V。
●工作温度范围:-20 ℃ ~+85 ℃
先大体了解一下指令控制:
下面以通道A,工作方式1 讲一小部分数据读取方法:
A通道主动发送;工作方式1:(出厂默认此格式)
默认波特率:9600bps 校验位:无 停止位:1位
协议总长度:10字节
Bit1 |
起始位 |
0XAA (固定) |
Bit2 |
命令格式返回 |
0XA1代表A通道工作方式1进行被动发送(一发一收) 0XA2代表A通道工作方式1进行主动发送 ----------------------------------------------- 0XB1代表B通道工作方式1进行被动发送(一发一收) 0XB2代表B通道工作方式1进行主动发送 |
Bit3 |
预留 |
|
Bit4 |
预留 |
|
Bit5 |
当前通道数据低16位 |
对应Bit2命令下返回的数据 格式还原HX711的AD 24位转换 【000000H--FFFFFFH】 数据=bit5*65536+bit6*256+bit7 |
Bit6 |
当前通道数据高8位 |
|
Bit7 |
当前通道数据低8位 |
|
Bit8 |
校验和高8位 |
校验码=(bit2+bit3+....+bit6+bit7) |
Bit9 |
校验和低8位 |
|
Bit10 |
结束位 |
0XFF (固定) |
赠送的51单片机程序读取部分,完整程序请下载上面的资料链接。
/*********************************************************/
// 串口中断服务程序
/*********************************************************/
void UartInt(void) interrupt 4
{
ES = 0; //关闭串口中断
while(!RI); // Byte1 固定起始位 0XAA
Byte1=SBUF;
RI=0;
while(!RI); // Byte2
Byte2=SBUF;
RI=0;
while(!RI); // Byte3
Byte3=SBUF;
RI=0;
while(!RI); // Byte4
Byte4=SBUF;
RI=0;
while(!RI); // Byte5
Byte5=SBUF;
RI=0;
while(!RI); // Byte6
Byte6=SBUF;
RI=0;
while(!RI); // Byte7
Byte7=SBUF;
RI=0;
while(!RI); // Byte8 校验位高8位
Byte8=SBUF;
RI=0;
while(!RI); // Byte9 校验位低8位
Byte9=SBUF;
RI=0;
while(!RI); // Byte10 固定结束位 0XFF
Byte10=SBUF;
RI=0;
if(Byte1==0xAA && Byte10==0xFF) //判断第一个字节和最后一个字节
{
if((Byte8*256+Byte9)==(Byte2+Byte3+Byte4+Byte5+Byte6+Byte7)) //检验校验位是否正确
{
if(Byte2==0XA2) //可以加个判断是否返回对应的当前指令。如果准确则执行下面程序
{
Weight=Byte5*65536+Byte6*256+Byte7; // 计算检测结果(这里得到的是AD值哦)
}
}
}
ES = 1; //开启串口中断
}