2019-08-08 13:21发布
MrXiong 发表于 2017-4-16 17:07 楼主,我用您提供的BMP280驱动试了一下,数据一致返回为0,请问是我操作失误还是怎么回事,求楼主指导! ...
最多设置5个标签!
我的模块如下图所示:
主函数
[mw_shl_code=c,true]while(1)
{
BMP280_ReadPressureTemperature(&bmp280_press,&bmp280_temp);//bmp280获取气压值和温度
printf("bmp280_press:%d ",bmp280_press);
printf("bmp280_temp :%d ",bmp280_temp);//比mpu9250的温度更准
delay_ms(1000);
i++;
delay_ms(10);
if(i==20)
{
LED0=!LED0;//提示系统正在运行
i=0;
}
}[/mw_shl_code]
确定IIC总线正确连接上BMP280,可以用IIC发送启示信号,看是否有应答,没有的话检查硬件连接是否正常。芯片接口选择是否对了。
void IIC_Slave_List(void)
{
u8 i=0,res = 0;
for(i=0;i<255;i++)
{
IIC_Start();
IIC_Send_Byte((i<<1)|0);
res = IIC_Wait_Ack(); //等待应答
if(res == 0)
printf("IIC_ADDR = %#x ",i);
IIC_Stop();
}printf(" ");
}
一周热门 更多>