新手入门
- 积分
- 7
- 金钱
- 7
- 注册时间
- 2020-10-4
- 在线时间
- 2 小时
|
2金钱
最近在鼓捣LDC1314,结果被16位寄存器卡死了,理论上读取16位寄存器就比平时多读一次再停止就好了,结果现在高8位可以正常读取出来,第八位不行,有没有好心人来帮忙看看啊。
附一下现在用的代码
u16 LDC1314_Read_Word(u8 ADDR, u8 REG)
{
u16 out_data = 0;
u8 test=0;
IIC_Start();
IIC_Send_Byte((ADDR << 1) | 0);
if(IIC_Wait_Ack())
{
IIC_Stop();
return 0x000F;
}
IIC_Send_Byte(REG);
if(IIC_Wait_Ack())
{
IIC_Stop();
return 0xFF00;
}
IIC_Start();
IIC_Send_Byte((ADDR << 1) | 1);
if(IIC_Wait_Ack())
{
IIC_Stop();
return 0x00FF;
}
out_data = IIC_Read_Byte(1)<<8;
test = IIC_Read_Byte(0);
IIC_Stop();
return out_data|test;
}
|
|