小弟最近刚入手一个HX711芯片,用来制作台秤。但是我编程之后发现DATA引脚一直保持高位,求大神解惑。
我的程序如下:
u32 HX711_Read(void)
{
u32 count;
u8 i;
delay_us(10);
GPIO_ResetBits(GPIOA, GPIO_Pin_6);//sck
count=0;
while(GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_7));//data
for(i=0;i<24;i++)
{
GPIO_SetBits(GPIOA, GPIO_Pin_6);//sck
// delay_us(1);
count=count<<1;
GPIO_ResetBits(GPIOA,GPIO_Pin_6);//sck
// delay_us(1);
if(GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_7))//data
{
count++;
}
}
GPIO_SetBits(GPIOA, GPIO_Pin_6);//sck
count=count^0x800000;//第25个脉冲下降沿来时,转换数据
delay_us(1);
GPIO_ResetBits(GPIOA, GPIO_Pin_6);//sck
return(count);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
哈哈,以解决了
---------------------------------
hx711的手册里时钟频率不对,我记得好像是100hz
一周热门 更多>