打印

新唐M0求教,I2C从机调不通,需要注意什么?

[复制链接]
2903|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
forgot| | 2012-1-9 20:57 | 只看该作者
注意模式还有应答

使用特权

评论回复
板凳
czdo| | 2012-1-9 21:16 | 只看该作者
啥情况???楼主能说的详细一点吗?

使用特权

评论回复
地板
hsbjb| | 2012-1-9 21:43 | 只看该作者
什么现象

使用特权

评论回复
5
Ryanhsiung| | 2012-1-10 08:36 | 只看该作者
LZ为什么调不通就不知道了,以下是我的经验
1、要打开IO相应外设功能,若不打开肯定是不能正常工作
 DrvGPIO_InitFunction(E_FUNC_I2C0);        


2、设置地址
    这个要特别注意了,新唐所代表的地址是不含W//R位的。
    例如正常EEPROM中地址为0XA0,我们要设置的地址要设置0X50
DrvI2C_SetAddress( I2C_PORT0,0,Device_Addr>>1,0 );                                            // 设置I2C 地址1,并将广播命令关闭




3、设置为从机模式
DrvI2C_Ctrl(I2C_PORT0, 0, 0, 0, 1);                                                                                                


4、打开I2C功能模块
 DrvI2C_EnableInt(I2C_PORT0);                                                                                                                                // 使能I2C_PORT        


5、使能中断
 DrvI2C_InstallCallback(I2C_PORT0, I2CFUNC, S_I2C_Callback_Slave);



按我的试一下看看。

使用特权

评论回复
6
QQisLitter|  楼主 | 2012-1-10 10:12 | 只看该作者
谢谢LS,地址错了!

使用特权

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

本版积分规则

0

主题

20

帖子

0

粉丝