打印
[技术问答]

新人贴,IIC操作芯片,不成功

[复制链接]
1721|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tianye907|  楼主 | 2017-9-29 08:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用IIC操控音频芯片,芯片有各种寄存器,和应该给寄存器付的值,请问应该用哪个库函数来对芯片进行操作?
我用的这个:  I2C_WriteByteOneReg(I2C1,0x11, 0x00,0x3F); 从地址0x11 7bit 寄存器地址0x00 1byte 写入的值 0x3f 1byte.
现在是程序运行到这个函数:  I2C_WAIT_READY(i2c);就卡这里了,不动了。不知道iic的初始化配置哪里是有哪些需要注意的地方吗?还是我用的写入函数不对?请大家指导!
谢谢!在线等!音频芯片是顺芯的ES8374,MCU是NUC121ZC。
沙发
tianye907|  楼主 | 2017-9-29 09:50 | 只看该作者
为什么没人呢?

使用特权

评论回复
板凳
heisexingqisi| | 2017-9-29 09:50 | 只看该作者
这个芯片是新唐的吗?没用过哎。一般这种外设芯片都会给个时序图,或者给你个操作指令,而且有的给你操作例程序。

使用特权

评论回复
地板
tianye907|  楼主 | 2017-9-29 10:15 | 只看该作者
heisexingqisi 发表于 2017-9-29 09:50
这个芯片是新唐的吗?没用过哎。一般这种外设芯片都会给个时序图,或者给你个操作指令,而且有的给你操作例 ...

谢谢!是新唐的单片机。不用模拟的,I2C不是有库函数可以直接通信吗?

使用特权

评论回复
5
heisexingqisi| | 2017-9-29 10:41 | 只看该作者
tianye907 发表于 2017-9-29 10:15
谢谢!是新唐的单片机。不用模拟的,I2C不是有库函数可以直接通信吗?

可以,你要看看你的外设芯片的操作指令,按照指令要求发送指令读写操作就行了。

使用特权

评论回复
6
zhuomuniao110| | 2017-9-29 17:33 | 只看该作者
没用过这个芯片。看看手册指令没有问题就应该是操作不对。看看官方的例子上怎么用这个接口读写的。

使用特权

评论回复
7
tianye907|  楼主 | 2017-9-30 09:26 | 只看该作者
zhuomuniao110 发表于 2017-9-29 17:33
没用过这个芯片。看看手册指令没有问题就应该是操作不对。看看官方的例子上怎么用这个接口读写的。 ...

iic配置中    /* Set I2C 1 Slave Addresses */
    I2C_SetSlaveAddr(I2C1, 0, 0x20, 0);   /* Slave Address : 0x10 */
    /* Set I2C0 4 Slave Addresses Mask */
    I2C_SetSlaveAddrMask(I2C1, 0, 0x20);
这是干嘛用的?

使用特权

评论回复
8
huangcunxiake| | 2017-9-30 20:25 | 只看该作者
上面的是设置I2C从机地址的,设置MASK那个是蒙版,意思是屏蔽那个设置,防止被串改。

使用特权

评论回复
9
tianye907|  楼主 | 2017-10-9 10:53 | 只看该作者
huangcunxiake 发表于 2017-9-30 20:25
上面的是设置I2C从机地址的,设置MASK那个是蒙版,意思是屏蔽那个设置,防止被串改。 ...

I2C从机地址不是芯片本身就有的吗?怎么还要设置呢?MASK那个是蒙版,意思是屏蔽那个设置?那这句话还需要吗?

使用特权

评论回复
10
zhuotuzi| | 2017-10-9 22:46 | 只看该作者
如果不是单片机,一般i2c地址就固定了,如果是单片机,应该可以设置那个地址

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:15376599220@163.com & 363530137

74

主题

457

帖子

6

粉丝