📄 cancom.h
字号:
/*
*********************************************************************************************************
* Copyright (c) 2003, 凌宝设计中心
* All rights reserved.
*
* 文件名称:cancom.h
* 文件标识:无
* 摘 要:
*
* 当前版本:1.0
* 作 者:王黎
* 完成日期:2003年9月9日
*********************************************************************************************************
*/
#ifndef __CANCOM_H // 防止头文件被重复引用
#define __CANCOM_H
/*
*********************************************************************************************************
*
* 包含头文件
*
*********************************************************************************************************
*/
#include <REG51.h>
#include <absacc.h>
/*
*********************************************************************************************************
*
* 数据类型定义
*
*********************************************************************************************************
*/
typedef unsigned char BOOLEAN; // 注意:不要使用bit定义,因为在结构体里无法使用
typedef unsigned char INT8U; // 无符号8位数
typedef signed char INT8S; // 有符号8位数
typedef unsigned int INT16U; // 无符号16位数
typedef signed int INT16S; // 有符号16位数
typedef unsigned long INT32U; // 无符号32位数
typedef signed long INT32S; // 有符号32位数
typedef float FP32; // 单精度浮点数
typedef double FP64; // 双精度浮点数
#define BYTE INT8S // 兼容以前版本的数据类型
#define UBYTE INT8U
#define WORD INT16S
#define UWORD INT16U
#define LONG INT32S
#define ULONG INT32U
#define BOOL BOOLEAN
/*
*********************************************************************************************************
*
* 常量宏定义
*
*********************************************************************************************************
*/
#define STARTFLAG 0xE0
#define FALSE 0
#define TRUE !FALSE
#define true TRUE
#define false FALSE
/*
*********************************************************************************************************
*
* 外部寄存器定义
*
*********************************************************************************************************
*/
#define MODECTLREG XBYTE[0x7f00] //模式寄存器
#define COMMANDREG XBYTE[0x7f01] //命令寄存器
#define STATUSREG XBYTE[0x7f02] //状态寄存器
#define InterruptR XBYTE[0x7f03] //中断寄存器
#define InterruptIER XBYTE[0x7f04] //中断使能寄存器
#define BUFFER0 XBYTE[0x7f10] //验收代码0, TX帧信息EFF, RX帧信息EFF
#define BUFFER1 XBYTE[0x7f11] //验收代码1, TX识别码1, RX识别码1
#define BUFFER2 XBYTE[0x7f12] //验收代码2, TX识别码2, RX识别码2
#define BUFFER3 XBYTE[0x7f13] //验收代码3, TX识别码3, RX识别码3
#define BUFFER4 XBYTE[0x7f14] //验收屏蔽0, TX识别码4, RX识别码3
#define BUFFER5 XBYTE[0x7f15] //验收屏蔽1, TX数据1, RX数据1
#define BUFFER6 XBYTE[0x7f16] //验收屏蔽2, TX数据2, RX数据2
#define BUFFER7 XBYTE[0x7f17] //验收屏蔽3, TX数据3, RX数据3
#define BUFFER8 XBYTE[0x7f18] //TX数据4, RX数据4
#define BUFFER9 XBYTE[0x7f19] //TX数据5, RX数据5
#define BUFFER10 XBYTE[0x7f1a] //TX数据6, RX数据6
#define BUFFER11 XBYTE[0x7f1b] //TX数据7, RX数据7
#define BUFFER12 XBYTE[0x7f1c] //TX数据8, RX数据8
#define CLKOUT XBYTE[0x7f1f] //时钟分频寄存器
#define BUSTIME0 XBYTE[0x7f06] //总线时钟0
#define BUSTIME1 XBYTE[0x7f07] //总线时钟1
#define OUTCTL XBYTE[0x7f08] //输出控制寄存器
/*
*********************************************************************************************************
*
* 外部RAM定义 ,0000H-03FF;
*
*********************************************************************************************************
*/
#define BadLenght 10 //定义数据包多小
#define BadLenght_can 40 //定义CAN的数据包大少
/*
*********************************************************************************************************
*
* 功能函数声明
*
*********************************************************************************************************
*/
void CupInit(void); // CPU初始化函数
void DisableInterrupt(void); // 关闭CPU中断
void EnalbeInterrupt(void); // 打开CPU中断
void TimeDly(WORD); // 延时一定时间
void SjaInit(void); // SJA1000初始化函数
void Sendto485(unsigned char *data485);
void Sendto232(unsigned char *data232);
unsigned char CRC(unsigned char *crc_);
void Changetoadr(void);
void cantest (void);
void cansendtopc (void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -