打印

求助PIC16F690的硬件I2C中断问题~

[复制链接]
3815|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mygod985|  楼主 | 2009-6-4 11:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    PIC做从机,不知道怎么回事,SSPIF一直不能置1,通过软件置1能进入中断服务程序。
用示波器量了无应答信号

初始化程序如下:
void init_I2C(void)         //初始化函数
{
    unsigned char  j ;
    TRISB = 0x50;
    

    SSPCON = 0x36; //7地址为从
    SSPSTAT= 0x80;//初始状态
    SSPADD = 0xa8;//器件地址
    

    j = SSPBUF;
    SSPOV = 0;
    

}

void init_interrupt()
{
    GIE    = 1; //全局中断允许
    PEIE   = 1;//外设中断允许
       SSPIE  = 1;//SSP中对允许
       SSPIF  = 0;//初始化SSP 中断标志    


    INTE = 1;//外部中断允许
    INTF = 0;//初始化外部中断标志
    
}
沙发
yewuyi| | 2009-6-4 12:29 | 只看该作者

检查SCL、SDA硬件是否正常

使用特权

评论回复
板凳
mygod985|  楼主 | 2009-6-4 14:16 | 只看该作者

SCL、SDA

SCL、SDA信号正常啊,寻址后PIC没有应答,应该是寻址的时候PIC没初始化完全,是不是遗漏了什么~~

使用特权

评论回复
地板
龙紫枫| | 2009-6-4 14:59 | 只看该作者

硬件问题的可能性较大

咱用过16F737的硬件I2C做从机......不过是汇编写的。

你看看SSP模块的说明,没置1,如果地址对了,估计就是硬件问题了

使用特权

评论回复
5
chengqing3968| | 2013-9-15 22:24 | 只看该作者
不会I2C的飘过!

使用特权

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

本版积分规则

2

主题

4

帖子

0

粉丝