找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2921|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

關(guān)于HX711驅(qū)動開源代碼 MCU是ST32F103X

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
現(xiàn)在大部分某網(wǎng)站、論壇的東西下載需要收費(fèi)(前)才可以下載一些基本能用的代碼,或者答非所問,而國外的站基本都是答有所需,我一直在51黑也是因?yàn)殚_源很多東西,也學(xué)習(xí)了很多東西,今天給大家分享HX711驅(qū)動代碼,MCU是ST32F103X。廢話不多說,附件都是干貨,自己添加C文件和H文件即可使用。后續(xù)我會在51hei論壇把我在項(xiàng)目中實(shí)際用到的東西慢慢開源出來給大家分享。

單片機(jī)源程序如下:
  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. * 函數(shù)名                :Hx711Init
  22. * 描述                        :Hx711Init初始化
  23. * 參數(shù)                        :無
  24. * 返回                        :無
  25. * 編寫者                :WZL
  26. * 編寫日期        :2021-05-02
  27. *******************************************************************************/
  28. void Hx711Init(void)
  29. {
  30.         Hx711GpioInit();
  31. }

  32. /*******************************************************************************
  33. * 函數(shù)名                :GetHX711Data
  34. * 描述                        :HX711數(shù)據(jù)采集
  35. * 參數(shù)                        :ChipDout 芯片Dout腳  ChipClk 芯片CLK腳 channelNum 0 芯片通道A 1 芯片通道B
  36. * 參數(shù)                        :hx711_Pga 增益  adValue 轉(zhuǎn)換后的結(jié)果指針
  37. * 返回                        :0 未轉(zhuǎn)換完成  1 轉(zhuǎn)換完成
  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)//高->低有效(準(zhǔn)備好)
  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. }
復(fù)制代碼

以上資料51hei附件下載:
hx711驅(qū)動代碼_C_H文件.zip (1.67 KB, 下載次數(shù): 38)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵(lì)!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表