打印
[PIC®/AVR®/dsPIC®产品]

PIC18F66K80 CAN中断唤醒休眠问题

[复制链接]
1488|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wzdtian|  楼主 | 2019-4-4 14:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有没有完整的单片机进入休眠通过CAN总线活动唤醒的例程?自己调试总是不成功,不是休眠不了就是唤醒不了。

使用特权

评论回复
沙发
wzdtian|  楼主 | 2019-4-4 15:00 | 只看该作者
应该是进休眠了 ,但是瞬间WAKIF=1了   CAN总线上不应该再有数据波动了   不知道为什么瞬间被唤醒

使用特权

评论回复
板凳
oxygenzz| | 2019-4-4 15:27 | 只看该作者
楼主发一下代码看看

使用特权

评论回复
地板
wzdtian|  楼主 | 2019-4-4 15:46 | 只看该作者
        if(PowerOFFbit) //关电休眠
        {
            PowerOFFbit=0;
            PIR5bits.WAKIF = 0;//清除CAN总线活动唤醒中断标志
            PIE5bits.WAKIE = 1;//允许CAN总线活动唤醒中断
            CANCON = 0x20;//禁止/休眠模式  
            while ((CANSTAT & 0xE0) != 0x20);
            OSCCONbits.IDLEN = 0;//配置休眠模式
            SLEEP();
        }

使用特权

评论回复
5
oxygenzz| | 2019-4-4 17:48 | 只看该作者
本帖最后由 oxygenzz 于 2019-4-4 18:03 编辑

楼主CANTX和CANRX脚是用哪个?怎么配置的?有使能IO中断吗?

K80的ECAN模块进入SLEEP模式后,CANTX 状态由IO 寄存器TRIS/LAT控制。是否是这个原因导致异常唤醒?

Disable/Sleep mode reverts CANTX control to TRISx/LATx instead of going to Recessive
state.


In normal mode, the CAN module automatically overrides the appropriate TRIS bit for CANTX. The user
must ensure that the appropriate TRIS bit for CANRX is set.


使用特权

评论回复
评论
wzdtian 2019-4-9 19:22 回复TA
成功的休眠了,休眠模式要和初始化一样配置才行,但是面临的问题是唤醒又要重新配置,没时间测试其他,不知道有没有其他问题。 
6
sensitivity| | 2019-4-10 16:33 | 只看该作者
休眠唤醒的话要重新配置外设吧

使用特权

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

本版积分规则

5

主题

16

帖子

0

粉丝