📄 sj1000.h
字号:
#include "msgQLib.h"
#define CAN_BASE_ADDR 0x53000000
#define CONTROL_REG 0
#define COMMAND_REG 1
#define STATUS_REG 2
#define INTERRUPT_REG 3
#define ACCEPTANCE_CODE_REG 4
#define ACCEPTANCE_MASK_REG 5
#define BUS_TIMING0_REG 6
#define BUS_TIMING1_REG 7
#define OUTPUT_CONTRL_REG 8
#define TEST_REG 9
#define SEND_IDENTIFIER 10
#define SEND_CODE 11
#define SEND_DATA0 12
#define SEND_DATA1 13
#define SEND_DATA2 14
#define SEND_DATA3 15
#define SEND_DATA4 16
#define SEND_DATA5 17
#define SEND_DATA6 18
#define SEND_DATA7 19
#define RECE_IDENTIFIER 20
#define RECE_CODE 21
#define RECE_DATA0 22
#define RECE_DATA1 23
#define RECE_DATA2 24
#define RECE_DATA3 25
#define RECE_DATA4 26
#define RECE_DATA5 27
#define RECE_DATA6 28
#define RECE_DATA7 29
#define CLOCK_DIVIDER 31
#define CAN_BAUD_SELECT 2
#define MAX_CAN_SEND_GROUP 60
#define MAX_RECV_BUF_LEN 600
#define CAN_REG_BYTE(reg) *((char *)(CAN_BASE_ADDR +reg))
struct BAUD_DATA
{
u_char BT0;
u_char BT1;
};
static struct BAUD_DATA CAN_BAUD[9]=
{
{0x00,0x14}, /* 1M */
{0x00,0x1c}, /* 500k */
{0x01,0x1c}, /* 250k */
{0x03,0x1c}, /* 125k */
{0x43,0x2f}, /* 100k */
{0x47,0x2f}, /* 50k */
{0x53,0x2f}, /* 20k */
{0x67,0x2f}, /* 10k */
{0x7f,0x7f}, /* 5k */
};
struct SEND_DATA
{
u_char buf[10];
};
struct RECV_DATA
{
u_char buf[MAX_RECV_BUF_LEN];
u_short load_ptr;
u_short save_ptr;
};
struct CAN_DATA
{
struct SEND_DATA send_group[MAX_CAN_SEND_GROUP];
u_short send_load_ptr;
u_short send_save_ptr;
struct RECV_DATA recv;
u_char CAN_need_init_flag;
}CAN_data;
MSG_Q_ID CAN_recv_id;
MSG_Q_ID CAN_trans_id;
int CAN_RECV_RING;
/*varible for test*/
char canlen;
char cantbuf[10];
char canrecvbuf[10];
/*varible for test*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -