|
本帖最后由 andy93762 于 2017-5-25 09:51 编辑
我用stm8l051F3芯片驱动HX711,但是读取的数据时序老是不对,不知道问题出在哪里,求指点。
我的时序:
官方时序:
void HX711_Init(void)
{
GPIO_Init(HX711_PORT, HX711_SCL_PIN, GPIO_Mode_Out_PP_Low_Fast);
GPIO_Init(HX711_PORT, HX711_SDA_PIN, GPIO_Mode_In_FL_No_IT);
}
unsigned long HX711_ReadDate(void)
{
unsigned long datevalue;
unsigned int delay_count=0;
unsigned char i;
HX711_SCL_L;
datevalue = 0;
while(HX711_SDA)
{
delay_ms(1);
if(delay_count++>60000)
{
delay_count = 0;
return 0xffffffff;
}
}
for(i=0;i<24;i++)
{
HX711_SCL_H;
datevalue = datevalue<<1;
HX711_SCL_L;
nop();
if(HX711_SDA)
datevalue++;
}
HX711_SCL_H;
datevalue = datevalue^0x800000;
HX711_SCL_L;
return(datevalue);
}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|