求大神帮我看看这个程序有没有错,一直采集不到程序。使用的探索者开发板
#include "hx711.h"
#include "delay.h"
unsigned long Count;
void ADInit(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //SCK
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_Init(GPIOD,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; //DOUT
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);
}
unsigned long ReadCount(void)
{
unsigned char i;
ADSK=0; //使能AD(PD_SCK 置低)
Count=0;
while(ADDO); //AD转换未结束则等待,否则开始读取
for (i=0;i<24;i++)
{
ADSK=1; //PD_SCK 置高(发送脉冲)
Count=Count<<1; //下降沿来时变量Count左移一位,右侧补零
ADSK=0; //PD_SCK 置低
if(ADDO) Count++;
}
ADSK=1;
Count=Count^0x800000;//第25个脉冲下降沿来时,转换数据
ADSK=0;
return(Count);
}
//*******************************
#ifndef __HX711_H
#define __HX711_H
#include "sys.h"
#define ADDO PDout(6) // DS0
#define ADSK PDout(7) // DS1
void ADInit(void);
unsigned long ReadCount(void);
extern unsigned long Count;
#endif
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>