扫一扫,分享给好友
我想使用润和的Hi3861开发板连接HX711称重模块并进行称重,HX711称重模块已经使用过Arduino与其示例代码完成称重,我仿造Arduino的称重代码将其移植到Hi3861上,但是称重一直不成功,以下是我的Hi3861的代码
#define HX711_SCK_PIN 2 #define HX711_DT_PIN 3 #define LOW HI_GPIO_VALUE0 #define HIGH HI_GPIO_VALUE1
#include "hx711.h" long HX711_Buffer = 0; long Weight_Maopi = 0,Weight_Shiwu = 0; hi_gpio_value DTval; #define GapValue 430 //**************************************************** //GPIO初始化 //**************************************************** void HX711_Init(void) { hi_gpio_set_dir(HX711_DT_PIN, HI_GPIO_DIR_IN); hi_gpio_set_dir(HX711_SCK_PIN, HI_GPIO_DIR_OUT); } //**************************************************** //获取毛皮 //**************************************************** void Get_Maopi() { Weight_Maopi = HX711_Read(); } //**************************************************** //获取实物重量 //**************************************************** long Get_Weight() { HX711_Buffer = HX711_Read(); Weight_Shiwu = HX711_Buffer; Weight_Shiwu = Weight_Shiwu - Weight_Maopi; //获取称重的实物重量 Weight_Shiwu = (long)((float)Weight_Shiwu/GapValue); return Weight_Shiwu; } int GetHX711_DT(){ hi_gpio_get_input_val(HX711_DT_PIN,&DTval); return DTval; } //**************************************************** //璇诲彇HX711 //**************************************************** int32_t HX711_Read(void) { int i; int32_t data = 0; // 等待 HX711 就绪 while(GetHX711_DT()); // 发送一个脉冲以开始转换 hi_gpio_set_ouput_val(HX711_SCK_PIN, LOW); usleep(1); hi_gpio_set_ouput_val(HX711_SCK_PIN, HIGH); usleep(1); hi_gpio_set_ouput_val(HX711_SCK_PIN, LOW); // 读取24位数据 for(i = 0; i < 24; i++) { hi_gpio_set_ouput_val(HX711_SCK_PIN, HIGH); usleep(1); data <<= 1; if(GetHX711_DT()) { data++; } hi_gpio_set_ouput_val(HX711_SCK_PIN, LOW); usleep(1); } // 恢复到默认状态 hi_gpio_set_ouput_val(HX711_SCK_PIN, HIGH); usleep(1); hi_gpio_set_ouput_val(HX711_SCK_PIN, LOW); // 判断读数是否为负数 if(data & 0x800000) { data |= 0xff000000; } return data; }
PIN口用的是2和3,请问该如何使Hi3861正确配置并成功称重? 另外像是树莓派和Arduino的开发板连接电脑USB后用万用表测5V供电实际电压能到5V,但是测Hi3861的5V供电实际电压只有4.6-4.7V,请问这是什么机制,会造成什么影响吗?
该类别下有 19 个回答。
该类别下有 10 个回答。
该类别下有 9 个回答,其中被选为最佳答案 1 次。
该类别下有 9 个回答,其中被选为最佳答案 2 次。
该类别下有 7 个回答,其中被选为最佳答案 2 次。
该类别下有 7 个回答,其中被选为最佳答案 11 次。
该类别下有 6 个回答,其中被选为最佳答案 9 次。
该类别下有 5 个回答。
该类别下有 4 个回答。
该类别下有 3 个回答。
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
发布答案
Hi3861HX711单片机嵌入式华为鸿蒙系统HarmonyOS操作系统RTOSOpenHarmony同欣智能科技移植系统架构全场景分布式鸿蒙操作系统微内核鸿蒙3.0原子化服务
提问,求型号
编译源码出现 “I have no idea what this is.”错误是哪里的问题?
在鸿蒙上能安装docker吗?
Hi3861如何使用HX711模块进行称重?
编译错误。
为什么鸿蒙系统里同一个控件在方舟编译器的previewer中可以显示,在远程模拟器中不可以显示?
鸿蒙系统锁屏的几个快捷方式,能不能给个开关!
鸿蒙升级3.0后,wifi二维码不显示了,请问在哪找出来
现在国产替代行情中 .怎么样让自己产品更多人知道
这个二极管是什么管?
电子发烧友网
电子发烧友论坛