现在大部分某网站、论坛的东西下载需要收费(前)才可以下载一些基本能用的代码,或者答非所问,而国外的站基本都是答有所需,我一直在51黑也是因为开源很多东西,也学习了很多东西,今天给大家分享HX711驱动代码,MCU是ST32F103X。废话不多说,附件都是干货,自己添加C文件和H文件即可使用。后续我会在51hei论坛把我在项目中实际用到的东西慢慢开源出来给大家分享。
单片机源程序如下:
- #include "HX711.h"
- #include "delay.h"
- void Hx711GpioInit(void)
- {
- #if 1
- GPIO_InitTypeDef GPIO_InitStructure;
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);
-
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
- GPIO_Init(GPIOD, &GPIO_InitStructure);
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOD, &GPIO_InitStructure);
-
- GPIO_ResetBits(GPIOD, GPIO_Pin_13);
- #endif
- }
- /*******************************************************************************
- * 函数名 :Hx711Init
- * 描述 :Hx711Init初始化
- * 参数 :无
- * 返回 :无
- * 编写者 :WZL
- * 编写日期 :2021-05-02
- *******************************************************************************/
- void Hx711Init(void)
- {
- Hx711GpioInit();
- }
- /*******************************************************************************
- * 函数名 :GetHX711Data
- * 描述 :HX711数据采集
- * 参数 :ChipDout 芯片Dout脚 ChipClk 芯片CLK脚 channelNum 0 芯片通道A 1 芯片通道B
- * 参数 :hx711_Pga 增益 adValue 转换后的结果指针
- * 返回 :0 未转换完成 1 转换完成
- * 编写者 :WZL
- * 编写日期 :2021-05-02
- *******************************************************************************/
- u8 GetHX711Data(u32 *ChipDout,u32 *ChipClk,u8 channelNum, HX711_PGA hx711_Pga, u32 *adValue)
- {
- u32 Count;
- unsigned char i;
- Count=0;
- if(!*ChipDout)//高->低有效(准备好)
- {
- for(i=0;i<24;i++)
- {
- *ChipClk = 1;
- delay_us(1);
- Count=Count<<1;
- *ChipClk = 0;
- if(*ChipDout)Count++;
- delay_us(1);
- }
- channelNum = (channelNum == 0)?1:2;
- if(channelNum == 1 && hx711_Pga == HX711_PGA_64)
- channelNum = 3;
- for(i=0;i<channelNum;i++)
- {
- *ChipClk = 1;
- delay_us(1);
- *ChipClk = 0;
- delay_us(1);
- }
- *adValue=Count^0x800000;
- *adValue=*adValue/1000;
- return 1;
- }
- return 0;
- }
复制代码
以上资料51hei附件下载:
hx711驱动代码_C_H文件.zip
(1.67 KB, 下载次数: 38)
|