CAN总线控制器sja1000源程序
SJA1000 是一种独立控制器用于移动目标和一般工业环境中的区域网络控制CAN 它是PHILIPS 半导体PCA82C200 CAN 控制器BasicCAN 的替代产品而且它增加了一种新的工作模式PeliCAN , 这种模式支持具有很多新特性的CAN 2.0B 协议。
1 特性
和PCA82C200
和PCA82C200
PCA82C200 独立CAN 控制器引脚兼容 独立CAN 控制器电气兼容
字节先进先出FIFO 模式即默认的BasicCAN 模式
协议兼容PCA82C200 兼容模式中的无源扩展帧 扩展的接收缓冲器64 和CAN2.0B
同时支持11 位和29 位识别码
位速率可达1Mbits/s
PeliCAN 模式扩展功能
--可读/写访问的错误计数器
--可编程的错误报警限制
--最近一次错误代码寄存器
--对每一个CAN 总线错误的中断
--具体控制位控制的仲裁丢失中断
--单次发送无重发
--只听模式无确认无活动的出错标
志
--支持热插拔软件位速率检测
--验收滤波器扩展4 字节代码4 字节屏蔽
--自身信息接收自接收请求
24MHz 时钟频率
输出驱动器配置 对不同微处理器的接口 可编程的CAN
增强的温度适应-40-+125
#include
#include
#include
//-----------------------沿袭引脚和变量----------------------------------------------
#define uchar unsigned char //宏定义
#define uint unsigned int //宏定义
void MCU_init(void);
/*P2口的管脚定义*/
sbit LED1 = P2^6;
sbit LED2 = P2^5;
sbit SJA_CS = P2^7; //SJA1000片选管脚,低电平有效
//sbit SJA_RST = P1^2;
/*P3口的管脚定义*/