OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3335|回复: 1

stm32F769 IIC与WM894通讯,读ID异常

[复制链接]

3

主题

5

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2019-4-23
在线时间
4 小时
发表于 2019-4-24 12:24:28 | 显示全部楼层 |阅读模式
本帖最后由 allance1031 于 2019-4-24 12:24 编辑

stm32F769 IIC与WM894通讯,读ID(16位)异常,读高八位第一个字节正常0x89,但是读第二个字节始终为0x00,代码如下:
uint8_t WM8994_Read(uint16_t Chip_ADD,uint16_t Reg_Add,uint16_t *Read_Data)
{
uint8_t ak;
uint8_t Reg_Add_H,Reg_Add_L;
uint8_t Temp_Chip_ADD;
Reg_Add_H =        (uint8_t)(Reg_Add>>8);
Reg_Add_L =        (uint8_t)(Reg_Add);        
//Temp_Chip_ADD = Chip_ADD<<1;
Temp_Chip_ADD = Chip_ADD&0xFE;
flag=Temp_Chip_ADD;

IIC_Start();

IIC_Send_Byte(Temp_Chip_ADD|0x00);

ak=IIC_Wait_Ack();
  
if(ak==1)
{
return KO;
}

IIC_Send_Byte(Reg_Add_H);

ak=IIC_Wait_Ack();

if(ak==1)
{
return KO;
}

IIC_Send_Byte(Reg_Add_L);

ak=IIC_Wait_Ack();

if(ak==1)
{
return KO;
}

//IIC_Stop();

IIC_Start();

IIC_Send_Byte(Temp_Chip_ADD|0x01);

ak=IIC_Wait_Ack();

if(ak==1)
{
return KO;
}

Read_Data[0]=IIC_Read_Byte(1);        

Read_Data[1]=IIC_Read_Byte(0);        

IIC_Stop();

return OK;





















正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

5

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2019-4-23
在线时间
4 小时
 楼主| 发表于 2019-4-24 12:33:46 | 显示全部楼层
wm8994 datasheet

WM8994.pdf

3.9 MB, 下载次数: 4

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-13 16:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表