|
驅(qū)動函數(shù)
u32 Hx_Read(void) //增益128
{
u32 val = 0;
u32 i = 0;
GPIO_ResetBits(GPIOA, GPIO_Pin_1); //初始狀態(tài)SCK引腳為低電平
while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0));
for(i=0; i<24; i++)
{
delay_us(100);
GPIO_SetBits(GPIOA,GPIO_Pin_1);
val=val<<1;
delay_us(1);
GPIO_ResetBits(GPIOA,GPIO_Pin_1);
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0))
val++;
delay_us(1);
}
GPIO_SetBits(GPIOA,GPIO_Pin_1);
val = val^0x800000;
delay_us(1);
GPIO_ResetBits(GPIOA,GPIO_Pin_1);
delay_us(1);
return val;
}
main方法
while(1){
asd=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0);
GPIO_ResetBits(GPIOA,GPIO_Pin_0);
OLED_DISPLAY_8x16(4,3*8,'0');//
OLED_DISPLAY_8x16(6,3*8,asd/1000000+0x30);//
OLED_DISPLAY_8x16(6,4*8,asd%100000/10000+0x30);//
OLED_DISPLAY_8x16(6,5*8,asd%10000/1000+0x30);//
OLED_DISPLAY_8x16(6,6*8,asd%1000/100+0x30);//
OLED_DISPLAY_8x16(6,7*8,asd%100/10+0x30);//
OLED_DISPLAY_8x16(6,8*8,asd%10+0x30);//
delay_s(1); //延時1秒
asd=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1);
//asd=Hx_Read();
OLED_DISPLAY_8x16(4,3*8,'1');//
OLED_DISPLAY_8x16(6,3*8,asd/1000000+0x30);//
OLED_DISPLAY_8x16(6,4*8,asd%100000/10000+0x30);//
OLED_DISPLAY_8x16(6,5*8,asd%10000/1000+0x30);//
OLED_DISPLAY_8x16(6,6*8,asd%1000/100+0x30);//
OLED_DISPLAY_8x16(6,7*8,asd%100/10+0x30);//
OLED_DISPLAY_8x16(6,8*8,asd%10+0x30);//
delay_s(1); //延時1秒
}
我使用驅(qū)動代碼,發(fā)現(xiàn)我的OLED屏幕黑屏,然后我試了試輸出腿腳狀態(tài),發(fā)現(xiàn)PA0一直高電平,
什么原因?不是上電等變?yōu)榈碗娖铰铮窟有大佬們,這個HX711不接探頭也有數(shù)據(jù)吧?
我現(xiàn)在數(shù)據(jù)出不來。。。。
|
|