CC2640 R2使用IIC问题,open打开IIC驱动后读写数据异常,2个读写操作后开始正常了
问题如题
if(SensorI2C_open()==true)
{
bma250_init();
}
bool success;
void bma250_init(void)
{
uint8 read_id =0;
uint8 temp_command=0;
uint8 bma250_deviceid_address=0x00;//读取设备ID的地址
success=SensorI2C_select(0,0x19);
success=SensorI2C_readReg(bma250_deviceid_address,&read_id,1);//获取设备ID
temp_command=0x00;
success=SensorI2C_writeReg(0x11,&temp_command,1); //noraml
// Set 2G range
temp_command=0x03;
success=SensorI2C_writeReg(0x0f,&temp_command,1);
// Filter detection bandwidth (Time between samples = 1/(2*filter_bw))
temp_command=0x0E;
success=SensorI2C_writeReg(0x10,&temp_command,1);
SensorI2C_deselect();
}
前面的2个读写操作返回失败,之后就正常了,如果我后面有执行CLOSE,使用时再open,问题依然存在,谢谢!
怎么没有人回应啊,自己顶一下。
用了模拟的IIC没有这样的问题,所以IIC挂的设备是没有问题的,我也尝试过打开IIC时延时一段时间,然后再去操作设备,结果问题依然存在,
请大神们,帮忙分析下,有用过CC2640 IIC的朋友请看一下,谢谢!
能正确获取芯片id吗?即 who am i ?把前面的两个读写操作重复两次试试。
你好!
我前面说了,2个读写操作之后就正常了,也可以读取芯片ID的
可以参考官方cc2650 sensor tag例程,确定是否软件bug?
用的驱动就是 sensor里面的,我用模式的IIC是没有问题的,谢谢!