F149驱动HX711不正确,求指点啊!!啊啊啊啊!

2019-07-27 18:48发布

代码如下,读出来的数据不准确,按照卖家说的改一个电阻改成3.3V的,结果还是没什么用啊。
伤不起了
  1. unsigned long int ReadCount(void)
  2. {
  3.         unsigned long Count=0x000000;
  4.         unsigned char i;
  5.   unsigned char tmp=0;
  6.   _DINT();
  7.   ADSK_CLR;
  8.         Count=0;
  9.         while(ADDO_R);
  10.         for(i=0;i<24;i++)
  11.         {
  12.                 ADSK_SET;
  13.     DelayNus(10);
  14.                 Count=Count<<1;
  15.                 ADSK_CLR;
  16.     DelayNus(10);
  17.     tmp = ADDO_R;
  18.                 if(tmp==1)
  19.                         Count++;
  20.         }
  21.         ADSK_SET;
  22.   DelayNus(10);
  23.         Count=Count^0x800000;
  24.         ADSK_CLR;
  25.   DelayNus(10);
  26.   _EINT();
  27.         return(Count);
  28. }
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
568581185
1楼-- · 2019-07-27 23:12
  1. 头文件

  2. #ifndef _HX711_H_
  3. #define _HX711_H_
  4. #include <msp430x14x.h>


  5. #define ADDO_SET P1OUT |= BIT0 //p1.0
  6. #define ADDO_CLR P1OUT &= ~BIT0
  7. #define ADDO_OUT P1DIR |= BIT0
  8. #define ADDO_IN  P1DIR &= ~BIT0
  9. #define ADDO_R   (P1IN & BIT0)

  10. #define ADSK_SET P1OUT |= BIT1 //P1.1
  11. #define ADSK_CLR P1OUT &= ~BIT1
  12. #define ADSK_OUT P1DIR |= BIT1

  13. extern void DelayNus(unsigned int n);
  14. extern unsigned long int ReadCount(void);

  15. #endif
复制代码
p04050405
2楼-- · 2019-07-28 01:23
脉冲数不对吧。脉冲数应该在25-27之间。
568581185
3楼-- · 2019-07-28 01:31
p04050405 发表于 2013-5-17 15:36
脉冲数不对吧。脉冲数应该在25-27之间。

额,好像不是这个问题。我上面的代码脉冲数是25个。A通道128增益
fighting12
4楼-- · 2019-07-28 05:25
 精彩回答 2  元偷偷看……
玛尼玛尼哄
5楼-- · 2019-07-28 09:29
楼主说不正确,那到底如何个不正确法呢,读出来了什么,应该是什么,你要说清楚。
玛尼玛尼哄
6楼-- · 2019-07-28 09:43
这就像看医生,不能到那说你有病,但是你不说是头疼还是脚疼,还是咳嗽,还是发烧

一周热门 更多>