📄 can.h
字号:
/****************************************************************/
/* 项目名称 : R8C/23 CAN/LIN Demo Board */
/* : 样例程序2 */
/* : CAN收发 */
/* 硬件环境 : R0K521237C000BB */
/* MCU型号 : R5F21237JFP */
/* C编译器 : NC30WA,版本5.30.r02及以上 */
/* 文件名 : CAN.h */
/* 版本 : 1.0 */
/* 作者 : wangsy */
/* 修订历史 : */
/* 修订者 时间 版本 说明 */
/* wangsy 2006/9/11 1.0 初版发行 */
/* */
/****************************************************************/
/* Copyright, 2006 RENESAS TECHNOLOGY CORPORATION & */
/* RENESAS SOLUTIONS CORPORATION */
/****************************************************************/
#ifndef _CAN_H_
#define _CAN_H_
#define RCV_SLOT 0x00 // 接收信箱
#define SND_SLOT 0x01 // 发送信箱
#define SND_FRM_ID 0x333U // 发送帧ID
#define CAN0_RCV_PRIORITY 0x05 // CAN0接收中断优先级
#define SYS_CLOCK 20000000UL // 系统时钟
#define BAUDRATE 125000UL // CAN0传输波特率
#define BT_SAM 1U // 位时序SAM
#define BT_PTS 1U // 位时序PTS
#define BT_PBS1 3U // 位时序PBS1
#define BT_PBS2 3U // 位时序PBS2
#define BT_SJW 1U // 位时序SJW
// CAN0预分频器
// SYS_CLOCK / (2 * BAUDRATE * (BT_SAM + BT_PTS + BT_PBS1 + BT_PBS2) ) = 10
#define CAN0_BRP 10U
/*----------------------------------
结构体定义
----------------------------------*/
typedef struct
{
uint16 id; // ID
uchar8 dlc; // 数据段数据所含字节数
uchar8 data[8]; // 数据
}can_std_data_def;
/*----------------------------------
变量声明
----------------------------------*/
extern can_std_data_def ReceiveData;
extern can_std_data_def TransmitData;
extern uchar8 ucFlag_CAN0_RE;
extern uchar8 re_slot;
extern uchar8 tr_slot;
/*----------------------------------
函数声明
----------------------------------*/
extern void config_can0(void);
extern void can0_receive(void);
extern void can0_transmit(void);
/*----------------------------------
中断函数声明
----------------------------------*/
extern void int_can0_receive(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -