CAN总线控制器SJA1000源程序(c语言)

CAN总线控制器sjalOOO源程序SJA1000是一种独立控制器用于移动目标和一般匸业环境中的区域网络控制CAN它是PHILIPS 半导体PCA82C200CAN控制器BasicCAN的粋代产品而M

总线控制器源程序 CANsjalOOO SJA1000CANPHILIPS PCA82C200CAN 是一种独立控制器用于移动目标和一般匸业环境中的区域网络控制它是半导体控制器 . 协议 BasicCANMPeliCAN .CAN 2.0B 的粋代产品而它增加了一种新的工作模式这种模式支持具冇很多新特性的 特性 1 PCA82C200CAN 二二和独立控制器引脚兼容 PCA82C200CAN 二二和独立控制器电气兼容 PCA82C200BasicCAN 二二模式即默认的模式 64FIFO 二二扩展的接收缓冲器字节先进先出 CAN2.0BPCA82C200 二二和协议兼容嫌容模式中的无源扩展帧 29 二二同时支持笛位和位识别码 1Mbits/s zz PeliCAN 二二位速率可达槓式扩展功能 ••可读/写访问的错误计数器 “可编程的借误报警限制 -最近一次错误代码寄 CAN 存器 ••对毎一个总线皓误的中断 ••具体控制位控制的仲裁丢失中断 ••单次发送无重发 ••只听模式无确认无活动的出错 标志 ••支持热插拔软件位速率椅测 44 ••验收滤波器扩展字节代码字节屏蔽 身信息接收门接收请求 24MHz 二二时钟频率 :z 对不同微处理器的接口 CAN 二二可编程的输出驱动器配建 40"125 二二增强的温度适应《 ^include <reg52.h> ^include <AT89X51.H> ^include <intrins.h> // ■■■■■■■■■■■■■■■■■■■■ ■■ ■7^^| ■■•■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 〃宏 定义 #defiiie ucliar unsigned chai 〃宏定义 #defiiie umt unsigned mt void MCU_init(void); 的管脚定义引 /*P2 II A sbitLED1 =P26; A sbitLED2 =P25; A 片选管脚,低迫平有效 sbitSJA.CS =P27; //SJA1000 A //sbit SJA_RST =P12; 【的管脚定义*/ /*P3I A 人 sbit SJA_RD -P37; sbit SJA_WR=P36; #defiiie base.Adr 0x7F00 // ------------------- 定义总线定时寄存器的值 ---------------------------------------------------- 〃该值需要用户根据需要的波特率进行计算,推 define SJA.BTR0 0x07 荐使用周立功发布的波特率计算器 #defiiie SJA_BTR1 0x2F // ------------------- 设豐接收报文类型(标示符) ------------------------------------------------------- 〃该值需要用户根据实际需要觅新配豊 #define 〃验收代码寄存器的值 SJA.ACR 0x11 〃验收屏蔽寄存器的值 ^define SJA AMR OxFF // ------------------- 设冒输出时钟类型 --------------------------------------------------- 〃该值需要用户根据实际需要重新配置 ^define 〃输出控制寄存器的值 SJA.OCR Oxaa 〃时钟分频寄存器的值 #defhie SJA_CDR 0x40 1/ 9

腾讯文库CAN总线控制器SJA1000源程序(c语言)