winnie 发表于 2009-3-16 14:37:29

访问CAN控制寄存器的疑问?

IDE:PICMATWE2002
CHIP:18F458
在18F458的data sheet中可以看到,CAN控制寄存器CANCON在ACCESS BANK中,那么用直接寻址的方法访问CANCON应该没问题,即如要将CANCON设置为正常模式,只须执行MOVLW0X00,MOVWFCANCON,0但是在PICMATWE2002中执行完上面两条指令,CANCON仍然是其复位值0x80。用另一种直接寻址的方法,即 MOVLB 0X0F, MOVLW 0X00, MOVWF CANCON,1则可将CANCON改写为0x00,这是怎么回事?
顺便问一句,MPSWIN编译MOVWF CANCON时 ,是编译成MOVWF CANCON,0还是MOVWF CANCON,1?

winnie 发表于 2009-3-16 14:37:40

我使用的是248,它的ACCESS BANK,有两个部分组成,后一部分是BANK15的高96个字节,这时候你可以看看258的CANCON到底是不是在ACCESS BANK里面。你前面加了MOVLB 0FH ,说明CANCON应该没有在ACCESS BANK 里面。我也遇见过,因为有关于CAN的寄存器没有完全包含在ACCESS BANK 里面。
页: [1]
查看完整版本: 访问CAN控制寄存器的疑问?