打印

IIC接收中断问题

[复制链接]
2131|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
caoyonglu|  楼主 | 2013-12-2 08:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 caoyonglu 于 2013-12-2 08:11 编辑

从机利用中断接收数据,但是程序进入不了中断,大神指教一下?
MCU为pic16F1509,配置如下:
        SSP1STAT=0X80;//
        TRISB4=1;//将IIC的数据和时钟总线设置为输入
        TRISB6=1;
        SSP1ADD=0XA0;//设置地址为0xa0
       SSP1CON1=0b00110110;//未发生冲突、无溢出、同步串口时能,7位地址从模式
       SSP1CON3bits.BOEN = 1;  //仅当BF 位 = 0 时,在接收到地址/ 数据字节时,更新SSPxBUF 并产生ACK 信号,忽略SSPOV位的状态  
       SSP1CON3bits.SDAHT = 1;//在SCLx 的下降沿之后,在SDAx 上最少有300 ns 的保持时间                             
       SSP1CON3bits.SBCDE = 1;//允许从器件总线冲突中断  

        SSP1IF = 0; //中断标志位清零                 
        SSP1IE=1;//时能串口中断
         GIE=1;//打开总中断
         PEIE=1;//打开外部中断
void interruput iic()
{

}//注:主机发送数据正常



沙发
Rain_King| | 2013-12-2 09:56 | 只看该作者
利用外部中断么....还是利用捕捉....自己可以先就仅仅测试自己的外部中断的这部分功能呗....单独的拿出来测试....看看自己的设置对不对...

使用特权

评论回复
板凳
caoyonglu|  楼主 | 2013-12-2 15:29 | 只看该作者
就是利用IIC的接收中断啊

使用特权

评论回复
地板
兰天白云| | 2013-12-2 16:16 | 只看该作者
IIC的 中断使能有没有开启?
一般IIC采用软件模拟的多,很少采用硬件的

使用特权

评论回复
5
兰天白云| | 2013-12-2 16:17 | 只看该作者
IIC的 中断使能有没有开启?
一般IIC采用软件模拟的多,很少采用硬件的

使用特权

评论回复
6
caoyonglu|  楼主 | 2013-12-2 17:55 | 只看该作者
兰天白云 发表于 2013-12-2 16:17
IIC的 中断使能有没有开启?
一般IIC采用软件模拟的多,很少采用硬件的

SSP1IF = 0; //中断标志位清零                 
SSP1IE=1;//时能串口中断
GIE=1;//打开总中断
PEIE=1;//打开外部中断
这就是IIC的接收中断使能啊

使用特权

评论回复
7
兰天白云| | 2013-12-3 15:17 | 只看该作者
你得查查IIC器件有没有返回信号,用示波器看

使用特权

评论回复
8
caoyonglu|  楼主 | 2013-12-4 10:41 | 只看该作者
兰天白云 发表于 2013-12-3 15:17
你得查查IIC器件有没有返回信号,用示波器看

只要我的中断配置没有错的话,进入中断之后,不是由硬件自动产生应答么?
如果SSPxCON3 寄存器的AHEN 和DHEN 位清零,从器件硬件会产生ACK 响应。(数据手册上描述)

使用特权

评论回复
9
caoyonglu|  楼主 | 2013-12-4 10:44 | 只看该作者
我的中断配置是按照pic16f1937的IC配置的。因为软件仿真没有1509,我仿真的是1937,可以接收导数据。但是一样的配置1509就不可以了

使用特权

评论回复
10
caoyonglu|  楼主 | 2013-12-4 10:44 | 只看该作者
两个IC的寄存器的配置位都是一样的啊

使用特权

评论回复
11
caoyonglu|  楼主 | 2013-12-6 12:32 | 只看该作者
没人知道么

使用特权

评论回复
12
caoyonglu|  楼主 | 2013-12-10 12:33 | 只看该作者
没人指教一二?

使用特权

评论回复
13
兰天白云| | 2013-12-17 16:16 | 只看该作者
caoyonglu 发表于 2013-12-4 10:41
只要我的中断配置没有错的话,进入中断之后,不是由硬件自动产生应答么?
如果SSPxCON3 寄存器的AHEN 和D ...

我是说外接的IIC器件有没有返回应答信号,如果没返回,说明你发出去的有问题

使用特权

评论回复
14
949155525| | 2013-12-20 23:01 | 只看该作者
看一下  发来的数据是不是地址错了   再就是你写程序说明不了问题

使用特权

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

本版积分规则

9

主题

47

帖子

0

粉丝