历史上的今天
今天是:2025年04月06日(星期日)
2021年04月06日 | 飞思卡尔S12系列CAN初始化总结和分享
2021-04-06 来源:eefocus

CAN初始化流程:
1.查询是否进入初始化状态,如不是,进入初始化状态,此处需设置CANCTL0,CANCTL1寄存器
2.设置CAN波特率,此处需设置CANBTR0,CANBTR1寄存器,具体计算过程可参照我的另一篇博客 https://blog.csdn.net/chenwenyang0/article/details/83378556
3.关闭相应CAN口滤波器,此处需设置CANIDMR寄存器。
4.使能MSCAN模块,进入一般模式,选择时钟,此处需设置CANCTL0,CANCTL1寄存器
5.设置接收或者发送中断使能
/*************************************************************/
/* 初始化CAN0 */
/*************************************************************/
void INIT_CAN0(void)
{
if(CAN0CTL0_INITRQ==0) // 查询是否进入初始化状态
CAN0CTL0_INITRQ =1; // 进入初始化状态
while (CAN0CTL1_INITAK==0); //等待进入初始化状态
CAN0BTR0_SJW = 0; //设置同步
CAN0BTR0_BRP = 8-1; //设置波特率,32M总线时钟
CAN0BTR1 = 0x1c; //设置时段1和时段2的Tq个数 ,总线频率为250kb/s
// 关闭滤波器
CAN0IDMR0 = 0xFF;
CAN0IDMR1 = 0xFF;
CAN0IDMR2 = 0xFF;
CAN0IDMR3 = 0xFF;
CAN0IDMR4 = 0xFF;
CAN0IDMR5 = 0xFF;
CAN0IDMR6 = 0xFF;
CAN0IDMR7 = 0xFF;
CAN0CTL1 = 0xC0; //使能MSCAN模块,设置为一般运行模式、使用总线时钟源
CAN0CTL0 = 0x00; //返回一般模式运行
while(CAN0CTL1_INITAK); //等待回到一般运行模式
while(CAN0CTL0_SYNCH==0); //等待总线时钟同步
CAN0RIER_RXFIE = 0; //禁止接收中断
}
史海拾趣
|
我用vs2005C#在windows ce 5.0上做开发.一上来就遇到一个问题.设备与电脑连好后,activesync上也提示完成同步.呈绿色.但是当我用vs2005上的连接设备去连接该设备的时候去提示:\"连接失败,bootstrap未能加载\" 想请问这是怎么回事?… 查看全部问答> |
|
自己写了个嵌入式实时OS核,取名LOS,即Learn Operate System。LOS是应用于工业控制领域和车载设备中的可剪裁的嵌入式实时操作系统。 LOS具有的功能目录如下: 1 任 ...… 查看全部问答> |
|
replyreload += \',\' + 1109623; 这个是实物效果哦! 这个是仿真图哦! 这是仿真显示部分。 电路包括温度检测、时钟控制、闹铃报警、液晶显示等、、、、 粗糙的焊接工艺,望大家见谅啊! 带纽扣电池,可以给时钟芯片 ...… 查看全部问答> |
|
这几天做一个51项目,要用到RC-R01A这个RF接收模块,模块连接51单片机的RXD串口接收端,但是在实验的时候,却发现从RF接收模块收到的噪音太多了····以至于单片机不断的处理没用的噪音,我在无线这方面是个小白,请问有什么方法可以滤掉从RF接收 ...… 查看全部问答> |
|
从“低功耗特性图”可以足够让人感叹430在低功耗这方面的强项了。从数据手册中可以知道,MSP430低功耗模式共有5 种,为 LPM0~LPM4(LOW POWER MODE )。CPU 运行状态称为AM(ACTIVE MODE )模式。下图2显示出各种工作模式的耗电量,可以看出,AM ...… 查看全部问答> |
|
此应用报告讨论采用MSP430微处理器来设计RC型电容单触式传感器。MSP430具有一些独特的特性非常适合与电容式触摸传感器相连接。RC型方法无需专用外设且可通过MSP430产品系列中的所有器件实施。此方法本身还具有低功耗特性可实现超低功耗的应用。 此 ...… 查看全部问答> |




