新手上路
- 积分
- 43
- 金钱
- 43
- 注册时间
- 2013-7-23
- 在线时间
- 3 小时
|
stm32写的hx711程序,输出的AD值一直在增加,采用单片机内部时钟,配置为8MHz
uint32_t HX711_Read(void) //读HX711芯片输出的数据。
{
uint32_t val = 0;
uint8_t i = 0;
GPIO_SetBits(GPIOA,ADDO); //DOUT=1
GPIO_ResetBits(GPIOA,ADSK); //SCK=0
while(GPIO_ReadInputDataBit(GPIOA,ADDO)); //等待DOUT=0
delay_us(1);
for(i=0;i<24;i++)
{
GPIO_SetBits(GPIOA,ADSK); //SCK=1
val=val<<1;
delay_us(1);
GPIO_ResetBits(GPIOA,ADSK); //SCK=0
if(GPIO_ReadInputDataBit(GPIOA,ADDO)) val++; //DOUT=1
delay_us(1);
}
GPIO_SetBits(GPIOA,ADSK);//25次脉冲
val = val^0x800000;
delay_us(1);
GPIO_ResetBits(GPIOA,ADSK);
delay_us(1);
return val;
}
|
|