|
發布時間: 2017-7-29 13:00
正文摘要:HX711驅動程序都一樣,網上例子都差不多,但是,我用的時候就是轉換不出來值來,要么出來一個固定的值不變,硬件上應該沒有問題,不知道問題出在哪里了???求解。。 |
|
老哥,解決了嗎?我的DIY小玩意是這個,想拿源碼學習下 |
|
換一個串口就好了,我一開始也這樣..或者換傳感器.. |
學習態度 發表于 2017-8-5 09:30 樓主你好,我的程序也卡在while(HX711_DOUT)里面出不來,導致讀出的數據為0。請教一下您是如何解決的呢? |
| 老哥,有沒有完整的程序發一個我現在也在做這個 |
| 我換了個串口就好了 |
| 樓主 解決了嗎 |
| 由于程序算法和電路端口原因導致變量不變 |
依然是你 發表于 2017-7-29 15:19 用的是stc51單片機,但感覺HX711芯片不起任何作用一樣,用單步調試就一直卡在while(HX711_DOUT); 語句液晶就顯示0.00KG. 如果在前面就把HX711_DOUT置零那就會顯示一個固定值:209.71KG |
| 你用的什么單片機?51? |
|
//**************************************************** //延時函數 //**************************************************** void Delay__hx711_us(void) { _nop_(); _nop_(); } //**************************************************** //讀取HX711 //**************************************************** unsigned long HX711_Read(void) //增益128 { unsigned long count; unsigned char i; HX711_DOUT=1; Delay__hx711_us(); HX711_SCK=0; count=0; while(HX711_DOUT); for(i=0;i<24;i++) { HX711_SCK=1; count=count<<1; HX711_SCK=0; if(HX711_DOUT) count++; } HX711_SCK=1; count=count^0x800000;//第25個脈沖下降沿來時,轉換數據 Delay__hx711_us(); HX711_SCK=0; return(count); } |