笔者在使用LPC2119芯片内部的CAN控制器时,发现头文件LPC2294.H中既然没有CANRID的定义,并且CAN模块的部分寄存器地址均与数据手册上有出入,根据周立功论坛上上的相关回复,应为头文件编写有误,现在这指出这部分,望读者能少走弯路,可自行修改。
/* CAN CONTROLLERS AND ACCEPTANCE FILTER */
#define CAN1MOD (*((volatile unsigned long *) 0xE0044000)) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1CMR (*((volatile unsigned long *) 0xE0044004)) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1GSR (*((volatile unsigned long *) 0xE0044008)) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1ICR (*((volatile unsigned long *) 0xE004400C)) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1IER (*((volatile unsigned long *) 0xE0044010)) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1BTR (*((volatile unsigned long *) 0xE0044014)) /* lpc2119\lpc2129\lpc2292\lpc2294 only */
#define CAN1EWL

在使用LPC2119的CAN控制器时,发现官方头文件LPC2294.H中缺少CANRID寄存器定义,且部分寄存器地址与数据手册不符。据周立功论坛反馈,这是头文件编写错误,建议开发者参照数据手册自行修正。
最低0.47元/天 解锁文章
1291

被折叠的 条评论
为什么被折叠?



