本项目详细介绍如何在STM32F103微控制器上实现并调试HX711高精度称重传感器模块,涵盖硬件连接、软件配置及数据读取技巧。
STM32F103称重模块HX711调试
```c
#include sys_init.h
unsigned long HX711_Buffer = 0;
unsigned long Weight_Maopi = 0, Weight_Shiwu = 0;
void Get_Maopi() {
HX711_Buffer = HX711_Read();
Weight_Maopi = HX711_Buffer / 100;
}
void Get_Weight() {
HX711_Buffer = HX711_Read();
HX711_Buffer /= 100;
if (HX711_Buffer > Weight_Maopi) {
Weight_Shiwu = HX711_Buffer - Weight_Maopi;
// 获取实物的AD采样数值。
// 1标准大气压=0.1MPa[兆帕],1工程大气压≈1Kgf/cm^2[千克力/平方厘米]
// 压力测试最小气压为0.2MPa。
if (Weight_Shiwu > 400) { // 修改测量实物的最小触发重量值。
printf(得到的重量%dg\r\n, Weight_Shiwu);
}
}
}
void sys_init(void) {
delay_init(); // 延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); // 设置中断优先级分组为2
uart_init(9600); // 串口初始化,波特率为9600
ADInit(); // 初始化AD模块
Get_Maopi(); // 获取毛皮的重量
}
```
这段代码定义了STM32F103微控制器与HX711称重传感器之间的通信接口。首先包含必要的头文件,然后初始化系统所需的各种资源,并通过`Get_Maopi()`函数获取毛皮(背景或基线)重量值,在此基础上使用`Get_Weight()`来计算实物的净重量并输出结果到串口。