标题:
gz16的CAN问题
[打印本页]
作者:
metro_jam
时间:
2005-9-2 13:11
标题:
gz16的CAN问题
怎么接收满中断开不了?在CMCR0_SFTRES=1下CRIER_RXFIE赋不了1啊,请高手们指点!!
谢谢!!
作者:
lotte521
时间:
2005-9-3 00:01
应该可以吧
我做过GZ16
作者:
yunfeng
时间:
2005-9-5 14:41
CMCR0=0才能开中断
void CAN_Init(void)
{
/* CMCR0: ??=0,??=0,??=0,SYNCH=0,TLNKEN=0,SLPAK=0,SLPRQ=0,SFTRES=1 */
CMCR0 = 1; /* CAN reset */
/* CMCR1: ??=0,??=0,??=0,??=0,??=0,LOOPB=0,WUPM=0,CLKSRC=0 */
CMCR1 = 0; //2Mhz
CIDAC_IDAM = 0;
CIDAR = 0x00000000; //Set the acceptance code
CIDMR = 0xFFFFFFFF; //Set the acceptance mask
CBTR0 = 0x43;
CBTR1 = 0xA3; //波特率62.5K
CMCR0 = 0x00; //CAN模块设置为数据输入输出状态
CRIER = 0x01; //CAN接收中断使能
}
作者:
metro_jam
时间:
2005-9-6 21:58
现在问题是can的那些寄存器在SFTRES为1的时候都写不进去,读出来的结果比如CMCR1/CBTR0/CBTR1/CRFLG/CRIER/CTFLG/CTCR的值一直是1/2/3/4/5/6/7,哪位大侠可以帮我看一下我的文件包?
作者:
yunfeng
时间:
2005-9-7 09:41
上面的程序我试过了,是好用的
作者:
metro_jam
时间:
2005-9-7 19:28
搞定了,原来在config2中忘了使能mscan
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0