找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2012|回复: 0
收起左侧

关于HX711驱动开源代码 MCU是ST32F103X

[复制链接]
ID:487396 发表于 2021-8-31 22:47 | 显示全部楼层 |阅读模式
现在大部分某网站、论坛的东西下载需要收费(前)才可以下载一些基本能用的代码,或者答非所问,而国外的站基本都是答有所需,我一直在51黑也是因为开源很多东西,也学习了很多东西,今天给大家分享HX711驱动代码,MCU是ST32F103X。废话不多说,附件都是干货,自己添加C文件和H文件即可使用。后续我会在51hei论坛把我在项目中实际用到的东西慢慢开源出来给大家分享。

单片机源程序如下:
  1. #include "HX711.h"
  2. #include "delay.h"

  3. void Hx711GpioInit(void)
  4. {
  5. #if 1
  6.         GPIO_InitTypeDef GPIO_InitStructure;
  7.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);       
  8.        
  9.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;          
  10.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;                                  
  11.         GPIO_Init(GPIOD, &GPIO_InitStructure);                                               

  12.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;          
  13.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                        
  14.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                        
  15.         GPIO_Init(GPIOD, &GPIO_InitStructure);                                                       
  16.        
  17.         GPIO_ResetBits(GPIOD, GPIO_Pin_13);
  18. #endif
  19. }

  20. /*******************************************************************************
  21. * 函数名                :Hx711Init
  22. * 描述                        :Hx711Init初始化
  23. * 参数                        :无
  24. * 返回                        :无
  25. * 编写者                :WZL
  26. * 编写日期        :2021-05-02
  27. *******************************************************************************/
  28. void Hx711Init(void)
  29. {
  30.         Hx711GpioInit();
  31. }

  32. /*******************************************************************************
  33. * 函数名                :GetHX711Data
  34. * 描述                        :HX711数据采集
  35. * 参数                        :ChipDout 芯片Dout脚  ChipClk 芯片CLK脚 channelNum 0 芯片通道A 1 芯片通道B
  36. * 参数                        :hx711_Pga 增益  adValue 转换后的结果指针
  37. * 返回                        :0 未转换完成  1 转换完成
  38. * 编写者                :WZL
  39. * 编写日期        :2021-05-02
  40. *******************************************************************************/
  41. u8 GetHX711Data(u32 *ChipDout,u32 *ChipClk,u8 channelNum, HX711_PGA hx711_Pga, u32 *adValue)   
  42. {
  43.         u32 Count;
  44.         unsigned char i;
  45.         Count=0;
  46.         if(!*ChipDout)//高->低有效(准备好)
  47.         {
  48.                 for(i=0;i<24;i++)
  49.                 {
  50.                         *ChipClk = 1;
  51.                         delay_us(1);
  52.                         Count=Count<<1;
  53.                         *ChipClk = 0;
  54.                         if(*ChipDout)Count++;   
  55.                         delay_us(1);
  56.                 }
  57.                 channelNum = (channelNum == 0)?1:2;
  58.                 if(channelNum == 1 && hx711_Pga == HX711_PGA_64)
  59.                         channelNum = 3;
  60.                 for(i=0;i<channelNum;i++)
  61.                 {
  62.                         *ChipClk = 1;
  63.                         delay_us(1);
  64.                         *ChipClk = 0;
  65.                         delay_us(1);
  66.                 }                
  67.                 *adValue=Count^0x800000;
  68.                 *adValue=*adValue/1000;
  69.                 return 1;               
  70.         }
  71.         return 0;
  72. }
复制代码
51hei.png
以上资料51hei附件下载:
hx711驱动代码_C_H文件.zip (1.67 KB, 下载次数: 38)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表