renyaq 发表于 2022-4-17 18:06

PIC18F66K80 CAN中断唤醒休眠

本帖最后由 pzsh 于 2022-4-20 09:03 编辑

有没有完整的单片机进入休眠通过CAN总线活动唤醒的例程?

dengdc 发表于 2022-4-17 18:08

还有什么现象?能再详细描述下吗?

renyaq 发表于 2022-4-17 18:10

自己调试总是不成功,不是休眠不了就是唤醒不了。

午夜粪车 发表于 2022-4-17 18:13

应该是进休眠了

renyaq 发表于 2022-4-17 19:16

但是瞬间WAKIF=1了   CAN总线上不应该再有数据波动了

renyaq 发表于 2022-4-17 19:18


不知道为什么瞬间被唤醒

llia 发表于 2022-4-17 19:21

楼主发一下代码看看

renyaq 发表于 2022-4-17 19:24

if(PowerOFFbit) //关电休眠
      {
            PowerOFFbit=0;
            PIR5bits.WAKIF = 0;//清除CAN总线活动唤醒中断标志
            PIE5bits.WAKIE = 1;//允许CAN总线活动唤醒中断
            CANCON = 0x20;//禁止/休眠模式
            while ((CANSTAT & 0xE0) != 0x20);
            OSCCONbits.IDLEN = 0;//配置休眠模式
            SLEEP();
      }

jlyuan 发表于 2022-4-17 19:26

楼主CANTX和CANRX脚是用哪个?

dingy 发表于 2022-4-17 19:29

怎么配置的?有使能IO中断吗?

jlyuan 发表于 2022-4-17 19:31


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.

renyaq 发表于 2022-4-17 19:33

休眠唤醒的话要重新配置外设吧

renyaq 发表于 2022-4-17 19:39

哦,那我就知道怎么回事了,多谢大家

jiajs 发表于 2022-4-17 19:41

怎么判断can总线空闲啊

pzsh 发表于 2022-4-20 09:03

官网上有没有例子?
页: [1]
查看完整版本: PIC18F66K80 CAN中断唤醒休眠