目录

第一部分、设备通信图

第二部分、设备接线

HX711与传感器的接线

HX711与MCU的接线

第三部分、驱动代码

HX711引脚初始化(Dout,CLK)

HX711读取数据函数

HX711获取传感器的值

头文件定义:

实验结果:


第一部分、设备通信图

物联网节点设备分为三部分:MCU(STM32),医疗传感器(RSS01B拉压力传感器),HX711(24AD)

HX711负责将传感器的电压值转换为数字量发送给MCU,MCU对数据进行处理分析

HX711模块图

RSS01B模块图

 第二部分、设备接线

HX711与传感器的接线

HX711与MCU的接线

第三部分、驱动代码

HX711引脚初始化(Dout,CLK)


void hx711_Init(void)
{GPIO_InitTypeDef GPIO_InitStruct = {0};/* GPIO Ports Clock Enable */__HAL_RCC_GPIOE_CLK_ENABLE();__HAL_RCC_GPIOA_CLK_ENABLE();/*Configure GPIO pin Output Level */HAL_GPIO_WritePin(GPIOE, GPIO_PIN_5, GPIO_PIN_RESET);/*Configure GPIO pin : PE5 */GPIO_InitStruct.Pin = GPIO_PIN_5;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull = GPIO_NOPULL;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);/*Configure GPIO pin : PE6 */GPIO_InitStruct.Pin = GPIO_PIN_6;GPIO_InitStruct.Mode = GPIO_MODE_INPUT;GPIO_InitStruct.Pull = GPIO_NOPULL;HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);}

HX711读取数据函数

unsigned long HX711_Read_01()
{unsigned long count; unsigned char i; HX711_SCK_0; count=0; delay_us(1);while(HAL_GPIO_ReadPin(HX711_DOUT_GPIO,HX711_DOUT) ==GPIO_PIN_SET);for(i=0;i<24;i++){ HX711_SCK_1; count=count<<1; delay_us(1);HX711_SCK_0; if(HAL_GPIO_ReadPin(HX711_DOUT_GPIO,HX711_DOUT) == GPIO_PIN_SET) count++; delay_us(1);} HX711_SCK_1; count=count^0x800000;delay_us(1);HX711_SCK_0;  return(count);
}

HX711获取传感器的值

void Get_Maopi_01()  //获取标定值(初始化重物重量)
{Weight_Maopi_01 = HX711_Read_01();}float Get_Weight()   //获取重物去皮后的重量
{float Weight_Shiwu = 0;float Weight_Maopi = 0;weight.Real_Weight = HX711_Read_01();printf("weight.Real_Weight£º%f\n",weight.Real_Weight);if(weight.Real_Weight > Weight_Maopi_01)          {Weight_Shiwu = weight.Real_Weight;Weight_Maopi = Weight_Maopi_01;printf("%f\n",Weight_Maopi);Weight_Shiwu = Weight_Shiwu - Weight_Maopi;      Weight_Shiwu = (float)(Weight_Shiwu/weight.GapValue); }return Weight_Shiwu;
}

头文件定义:


typedef struct
{float GapValue;            //传感器的比例值       float MaoPi;            //传感器的初始值(重量的标定值)            float Real_Weight;     //传感器的真实值(去皮值)
}Weight;extern Weight weight;#define HX711_DOUT_GPIO GPIOE
#define HX711_SCK_GPIO  GPIOE#define HX711_DOUT  GPIO_PIN_6
#define HX711_SCK   GPIO_PIN_5//PE6 IO口操作
#define HX711_DOUT_0 HAL_GPIO_WritePin(HX711_DOUT_GPIO,HX711_DOUT,GPIO_PIN_RESET)
#define HX711_DOUT_1 HAL_GPIO_WritePin(HX711_DOUT_GPIO,HX711_DOUT,GPIO_PIN_SET)//PE5 IO口操作
#define HX711_SCK_0  HAL_GPIO_WritePin(HX711_SCK_GPIO,HX711_SCK,GPIO_PIN_RESET)
#define HX711_SCK_1  HAL_GPIO_WritePin(HX711_SCK_GPIO,HX711_SCK,GPIO_PIN_SET)

实验结果:

STM32与拉力传感器通信相关推荐

  1. STM32 CAN总线通信学习笔记(一)

    STM32 CAN总线通信学习笔记(一) 一.CAN总线简介 CAN 是控制器局域网络(Controller Area Network, CAN)的简称.CAN采用数据块编码的方式,数据块根据帧的类型 ...

  2. STM32 —— STM32 的串口通信

    STM32 -- STM32 的串口通信 STM32的串口通信接口有两种,分别是:UART(通用异步收发器).USART(通用同步异步收发器).而对于大容量 STM32F10x 系列芯片,分别有 3 ...

  3. Ardunio下实现STM32的串口通信及其与Stduino的区别

    摘要 本文介绍了在Ardunio下配置STM32并进行STM32的串口通信:之后我将介绍一下国人MCU开发平台Stduino与现在所使用的Arduino进行比较. 文章目录 摘要 :man_stude ...

  4. 单片机与PC机的交流———基于STM32的串口通信

    STM32之串口通信程序 前言: 一.串口通信要求 二.串口通信准备 1.硬件准备 2.软件准备 三.下载程序进入STM32 1.下载之前相关配置 2.下载 四.最终效果展示 总结: 前言: 本文主要 ...

  5. K210学习笔记(三) K210与STM32进行串口通信,K210发STM收

    文章目录 前言 一.以/r/n为结尾 二.K210端代码 三.STM32端 3.1 main函数 四.测试结果 4.1当收到1时 4.2当收到2时 4.3 测试视频 总结 前言 前面我们讲了STM32 ...

  6. 嵌入式学习笔记——STM32的USART通信概述

    文章目录 前言 常用通信协议分类及其特征介绍 通信协议 通信协议分类 1.同步异步通信 2.全双工/半双工/单工 3.现场总线/板级总线 4. 串行/并行通信 5. 有线通信.无线通信 STM32通信 ...

  7. 嵌入式STM32入门之STM32基础串口通信

    STM32基础串口通信 一.前言 二.串口协议 (1)浅谈设备通信方式 (2)具体串口协议 (3)STM32的串口通信 (4)RS-232通信协议 (5)USB To TTL(CH340) 5.1 C ...

  8. pixy php,Pixy2与STM32进行SPI通信

    简单来说,如果你通过检索从而看到这篇文章,那就假设你已经知道Pixy2是用来干什么的(一款功能强大的开源视觉传感器),以及你已拥有一些STM32基础.你可以通过访问官方手册来获得更多关于Pixy2的相 ...

  9. 【星曈科技】OpenMv笔记——利用OpenMV与STM32进行串口通信

    利用OpenMV与STM32进行串口通信 OpenMV端的程序 # Untitled - By: dell - 周一 7月 19 2021# Blob Detection and uart trans ...

最新文章

  1. Android加速度传感器
  2. Vysor_v1.6.9
  3. 指定端口传输_高速数字传输链路测试 - 高速数字电路仿真设计与测试技术发展趋势综述(二)...
  4. 关于寻路算法的一些思考(2):Heuristics 函数
  5. django-groundwork
  6. c++的assert函数
  7. 漫步VR——Unity语音聊天室开发小结
  8. 已知表t est(name)的记录如下, tom tom_green tomly lily 代码select * from test where name rlike ‘tom.*‘的结果有几条记录
  9. 激光雕刻机——广告制作新利器
  10. 《未来编年史》——关于地球未来2000年的预言
  11. 赵容弼(Cho Yong Pil) -《30周年纪念专辑》
  12. 华为路由器怎么看是不是公网_如何查看华为路由器默认ip地址
  13. js 根据公历日期 算出农历_JS简单获取当前日期和农历日期的方法
  14. html5手机app抽奖页面,app H5活动抽奖转盘 前端+后台
  15. 第九届蓝桥杯 b组 明码
  16. 毕业论文写作经验总结
  17. Oracle安装过程中出现的错误指令
  18. drawableTop,button图片显示在文字上面,文字不显示的问题
  19. 华硕ubuntu安装
  20. 海思HI3516A千兆网卡换百兆网卡配置方法

热门文章

  1. 【工具】国内苹果市场已上架 新一代社交产品 damus
  2. 入驻亚马逊前期需要投入多少钱?
  3. android compose利用pager写一个引导页
  4. 二叉搜索树(BST)Go实现
  5. URL - 统一资源定位器
  6. Android 计时器Timer,时间格式化以时分秒显示
  7. Flume监控之Ganglia安装与简单实践
  8. RSA加密——go语言版
  9. 温故而知新 二月份英语学习
  10. 1025 偏僻的小路