打印
[ARM9、LPC]

请教,LPC2361 I2C作从机的问题

[复制链接]
1390|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
heng1386|  楼主 | 2013-8-5 14:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我把LPC2361 的 I2C配置成从机,与另一块板通信,发现I2C的状态一直为0XF8,进不了中断,根本不能发数据,因为我在中断里发数据的。把I2C配置成主机,I2C的状态有0X10、0X20、0X08、0X48等等。
为什么LPC2361作从机用时会这样,难道要特殊配置,或者还有什么要注意的

相关帖子

沙发
heng1386|  楼主 | 2013-8-6 10:44 | 只看该作者
没有用过吗

使用特权

评论回复
板凳
heng1386|  楼主 | 2013-8-7 09:09 | 只看该作者
这个初始化程序有错吗?
WORD I2CInit( DWORD I2cMode )
{
        PCONP |= (1 << 7);
        PINSEL1 &= ~0x03C00000;
       
        PINSEL1 |= 0x01400000;        // set PIO0.27 and PIO0.28 to I2C0 SDA and SCK //
                                                        // function to 01 on both SDA and SCK. //
        //--- Reset registers ---//
        I20SCLL   = I2SCLL_SCLL;
        I20SCLH   = I2SCLH_SCLH;       
       
        //--- Clear flags ---//
        I20CONCLR = I2CONCLR_AAC | I2CONCLR_SIC | I2CONCLR_STAC | I2CONCLR_I2ENC;   


        if ( I2cMode == I2CSLAVE )
        {
                I20ADR = PCF8594_ADDR;                       
        }   


        if ( install_irq( I2C0_INT, (void *)I2C0SlaveHandler, 0 ) == FALSE )
        {
                return( FALSE );
        }                 
            
                         
        __nop();   __nop(); __nop();
        I20CONSET =  I2CONSET_I2EN | I2CONSET_AA;
       
        return( TRUE );
}

使用特权

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

本版积分规则

4

主题

125

帖子

2

粉丝