#include<msp430.h>
#include "HX711.h"
//****************************************************
//延时函数
//****************************************************
void Delay_hx711_us(int t)
{
//_nop_();//_nop_();
while(t--);
}
// I/O配置
void PORT_Init(void)
{
P1SEL &=~ (BIT6+BIT7);
P1DIR &=~ BIT7;//SDA
P1DIR |= BIT6;//SCK
}
//****************************************************
//读取HX711
//****************************************************
unsigned long HX711_Read(void) //增益128
{
unsigned long count;
unsigned char i;
P1OUT |= BIT7; //SDA
Delay_hx711_us(4);
P1OUT &=~ BIT6;//SCK
count=0;
while( P1IN&BIT7 ); //SDA
for(i=0;i<24;i++)
{
P1OUT |= BIT6; //SCK
count=count<<1;
P1OUT &=~ BIT6;//SCK
if(P1IN&BIT7)//SDA
count++;
}
P1OUT |= BIT6; //SCK
Delay_hx711_us(4);
P1OUT &=~ BIT6;//SCK
return(count);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>