老古开发网首页
导航:老古开发网首页文章索引文章分类技术文章→[单片机CAN寄存器初始化函数]
| -文章搜索 - 最新文章 - |

单片机CAN寄存器初始化函数

发布时间:2005年5月20日 点击次数:2795
来源:   作者:
 
~~P87C591单片机:
/******************************************
单片机CAN寄存器初始化函数
******************************************/
void P87C591_CANRegInit_Config()
{
    REG_CANADR = REG_CAN_MOD;             //指针指向CAN寄存器MOD
    REG_CANDAT = 0x01;                    //置复位请求
    
    P1M2 = P1M2|0xC2;                     //将CAN总线TXDC置成推挽模式
    
    REG_CANADR = REG_CAN_IER;             
    REG_CANDAT = 0x83;                    //开CAN中断
    
    REG_CANADR = REG_CAN_BTR0;            //10K波特率 FOR 12M(CAN)
    REG_CANDAT = 0xEF;
    REG_CANADR = REG_CAN_BTR1;
    REG_CANDAT = 0xFF;
    
    REG_CANADR = REG_CAN_ACF1_ACR0;       //设置验收代码滤波器(接收标志:0xAC)
    REG_CANDAT = 0xAC;
    REG_CANDAT = 0x00;
    REG_CANDAT = 0x00;
    
    REG_CANADR = REG_CAN_ACF1_AMR0;       //设置验收代码屏蔽器
    REG_CANDAT = 0x00;
    REG_CANDAT = 0xFF;
    REG_CANDAT = 0xFF;
    REG_CANDAT = 0xFF;
     
    REG_CANADR = REG_CAN_ACFMOD;          //设置验收滤波器工作模式(单滤波器,接收扩展帧)
    REG_CANDAT = 0x33;
    
    REG_CANADR = REG_CAN_ACFPRIO;         //设置所有滤波器优先级为高
    REG_CANDAT = 0xFF;
    
    REG_CANADR = REG_CAN_ACFEN;           //使能验收滤波器1
    REG_CANDAT = 0x01;
    
    REG_CANADR = REG_CAN_MOD;             //退出复位使能
    REG_CANDAT = 0x00;
}

    

/*************************************************
CAN中断处理函数
*************************************************/
void ECAN_int_service(void) interrupt 13  
{
    
REG_CANADR = REG_CAN_IR;
InterruptRegCopy = REG_CANDAT;           //读出CAN中断状态
                CANADR_save = REG_CANADR;

               if((InterruptRegCopy & 0x01) == 0x01)
{
          //接收中断       
}  

if((InterruptRegCopy & 0x02) == 0x02)
{
         //发送中断处理
}

               if((InterruptRegCopy & 0x80) == 0x80)
{
        //总线出错处理
}
    
    REG_CANADR = CANADR_save;

}

你试试先~~
都是跑通了的
初始化波特率写入的值那里我不太肯定,忘了,你自己查一下


欢迎进入老古论坛进行讨论
[技术文章] 相关文章:
跌幅趋缓 近期被动元件不显淡
简介:
深圳现货行情显示,时至第二季度中旬,被动元件市场需求相较一季度并没有太大变化。受惠终端需求持续增温,以及供给面力稍显吃紧,目前深圳现货市场被动元件跌幅已呈趋缓迹象。 据悉,被动元件在历经2000年的产业大幅扩产造成供需失衡及价格崩跌后,因各厂不再盲目扩产,目前产业已经面临产能略显吃紧的压力。受近期库存消化速度较快影响,现货行情显示,MLCC以及芯片电阻(R-Chip)等产品价格下跌幅度都较第一季度趋缓。业者预估,被动元件第二季度价格跌幅将小于第一季度的4%-5%。 原本预期,被动元件经......

飞利浦照明研发中心将迁中国
全球NOR闪存05年销售收入将增长7%
LCD显示器一季度出货较同期增五成
微控制器时钟 — 选择RC振荡器、晶振还是谐振槽路?
用单片机实现通用存贮器IC卡的读写
常见通讯协议介绍
全球LED产业高度依赖手机业 2005年仅增15%
EMV芯片卡年底登陆内地
SIA:税收而非劳动成本导致美国IC制造外流
 
下一个:[新闻热点]三星预测NAND闪存降价40% 制造商反应不一
简介:
  最近,网站Semiconductor Reporter引述三星内存部门总裁Chang-Gyu Hwang的话,由于进程技术日趋成熟,NAND闪存价格将会每年下降40%。台湾的内存制造商对此反应不一。   威刚科技主席Simon Chen表示,今年内,NAND闪存的价格都不会如三星预计般下跌。小尺寸记忆卡需求的增长刺激下半年出货量的增长。他并预计,今年移动存储产品对NAND闪存的需求量会增长21%。   Chen承认,高端的4G、5G NAND闪存降价幅度会比较大,但也不可能达到40%之多。   然而,由于目前制造商的MP3......
 

上一个:[技术文章]MAX232和MAX232E的区别

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:16毫秒