2019-07-21 07:31发布
hyxhyx 发表于 2016-8-31 15:02 楼主,我用的是4个50kg的,请问怎样转换称重量?而且我用上述程序获取的值是val值是7583411,后三位一直在 ...
最多设置5个标签!
[mw_shl_code=c,true]unsigned long ReadCount(void)
{
unsigned long Count;
unsigned char i;
// RCC->APB2ENR |= 1<<3;
// GPIOB->CRL &= 0X00ffffff;
// GPIOB->CRL |= 0X003000000;
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
ADSK = 0; //SCK=0
Count = 0;
while(ADDO);
for (i = 0; i < 24; i++)
{
ADSK = 1;
Count = Count << 1;
ADSK = 0;
if(ADDO) Count++;
}
ADSK = 1;
Count = Count ^ 0x800000;
ADSK = 0;
return(Count);
}[/mw_shl_code]
串口打印的话就一句: printf("DATA:%lu ",ReadCount());
我也卡在这在。。应该还需要一个滤波算法,数据不稳定,转换我也不知道,网上那些好像不行
处理数据的时候有个参数吧,read完之后要除以那个数,得到具体的质量,每个传感器不一样的,要校准。
一周热门 更多>