资源简介
裸编系统下SJA1000芯片驱动程序。IO口方式实现。
代码片段和文件信息
/*
*****************************************************************************************************************
* DPS4-128
* 11
*
* (c) Copyright 2012 MKL Ltd. Qingdao CN
* All Rights Reserved
*
*
* File : SJA1000.C
* Purpose : Init source file.
* By : Zhu Liangtao
* Version : 1.00
----------------------------------------------------------------------
Version-Date-------Author------- -Explanation
----------------------------------------------------------------------
1.00 111108 Zhu Liangtao First release
*****************************************************************************************************************
*/
#include “DSP2803x_Device.h“ // Peripheral address definitions
#include “DSP2803x_GlobalPrototypes.h“
#include “EVC_var.h“
#define RST_N GpioDataRegs.GPADAT.bit.GPIO20
#define ALE GpioDataRegs.GPADAT.bit.GPIO12
#define CS_N GpioDataRegs.GPADAT.bit.GPIO7
#define RD_N GpioDataRegs.GPADAT.bit.GPIO6
#define WR_N GpioDataRegs.GPADAT.bit.GPIO19
#define DATA0 GpioDataRegs.GPADAT.bit.GPIO21
#define DATA1 GpioDataRegs.GPADAT.bit.GPIO0
#define DATA2 GpioDataRegs.GPADAT.bit.GPIO1
#define DATA3 GpioDataRegs.GPADAT.bit.GPIO10
#define DATA4 GpioDataRegs.GPADAT.bit.GPIO4
#define DATA5 GpioDataRegs.GPADAT.bit.GPIO11
#define DATA6 GpioDataRegs.GPADAT.bit.GPIO8
#define DATA7 GpioDataRegs.GPADAT.bit.GPIO16
#define CR 0x00 //控制寄存器
#define CMR 0x01 //命令寄存器
#define SR 0x02 //状态寄存器
#define IR 0x03 //中断寄存器
#define ACR 0x04 //验收代码寄存器
#define AMR 0x05 //验收屏蔽寄存器
#define BTR0 0x06 //总线定时0寄存器
#define BTR1 0x07 //总线定时1寄存器
#define OCR 0x08 //输出控制寄存器
#define IDEN1 0x0a //发送识别码1寄存器
#define IDEN2 0x0b //发送识别码2寄存器
#define RIDEN1 0x14 //接收识别码1寄存器
#define RIDEN2 0x15 //接收识别码2寄存器
#define CDR 0x1f //时钟分频寄存器
#define ACR_VALUE 0x46 //0x230/8 =0x46
#define AMR_VALUE 0x00 //0xFF-0x46=0xB9 必须得00
//#define ACR_VALUE 0xa9 //0x548-0x549-0x54a 0x548/8 =0xa9
//#define AMR_VALUE 0x00
#define BTR0_VALUE 0x00 //波特率设置,BAUD=500KCLK=12MHZ
#define BTR1_VALUE 0x36
#define OCR_VALUE 0xda //正常输出
#define IDEN1_VALUE 0x26 //发送识别码1 0x130/8
#define IDEN2_VALUE 0x08 //发送识别码2 8字节
#define TX_START 0x0c //发送缓冲区有8字节RAM
#define RX_START 0x16 //接收缓冲区有8字节RAM
/*******************************读数据******************************************/
Uint16 CAN_Read_Data(Uint16 Addr)
{
Uint16 ab;
a = Addr;
CS_N = 1;
WR_N = 1;
RD_N = 1;
ALE = 0;
//写地址
CAN_Port_Out();
Delay(1)
- 上一篇:嵌入式QtC++编程课件
- 下一篇:STM32烧写算法flash包
相关资源
- AD5328驱动程序
- PCA9539驱动程序
- CAN实验
- LCD驱动芯片ST7701SI SPI接口底层驱动配
- USB CAN Tool 源代码(LabVIEW 2011环境)
- arduino I2C设备扫描并串口返回地址(
- OLED驱动源码
- cubeMX设计实现stm32f407上的CAN及485的通
- QT CAN例程
- vs2008 can总线通讯源码
- 51驱动步进电机
- OBD_CAN读取代码(stm32f103)
- canape教程(ape.docx)
- stm32f103 can驱动
- 研华采集卡驱动程序工作原理及流程
- VC图像处理-用Canny算子提取边缘
- 1628驱动程序
- 《测试驱动的嵌入式C语言开发》源码
- DHT11驱动程序基于STM32
- USB 完整bootloader项目,包括底层驱动和
- DBscan实现
- VT虚拟化驱动+内存读写+机器码修改源
- mysql-odbc5.1驱动包
- 模式识别课程作业:C均值(k_means)聚
- CANoe窗口与模块介绍
- 是DBSCAN聚类算法的C++实现代码可以运
- 在vc下开发的canny边缘检测 MFC
- 安徽大学操作系统实验八基于扫描的
- 十个网络驱动层封包截取防火墙源码
- VC6.0+MFC+USBCAN上位机通信控制
评论
共有 条评论