⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pelican.h

📁 一个关于PCI CAN开发板的windows下的驱动程序,用DDK做的,希望对做PCI CAN板的朋友有用
💻 H
字号:
/*----------------------------------------------------------------------------
 * PeliCAN.h  -
 *
 * Author       : redsea_li
 * Version      : 1.1
 * Created      : 2009-03-02 15:53:36
 * Last Modified: 2009-03-18 10:09:49
 * Copyright ECI
 *----------------------------------------------------------------------------*/
#ifndef _PeliCAN_H
#define _PeliCAN_H

/*
#include "vxWorks.h"
#include "iv.h"
#include "intLib.h"
#include "errnoLib.h"
#include "sysLib.h"
#include "vmLib.h"
#include "drv\pci\pciConfigLib.h"
#include "logLib.h"
#include "stdio.h"
*/

#include <ntddk.h>
#include "PeliCanDef.h"

typedef void (*PFUNC)(UINT8_T);

#define REG_MOD		0x00
#define REG_CMR		0x01
#define REG_SR		0x02
#define REG_IR		0x03
#define REG_IER		0x04
#define REG_BTR0	0x06
#define REG_BTR1	0x07
#define REG_OCR		0x08
#define REG_TEST	0x09
#define REG_ALC		0x0B
#define REG_ECC		0x0C
#define REG_EWLR	0x0D
#define REG_RXERR	0x0E
#define REG_TXERR	0x0F
#define REG_ACR0	0x10
#define REG_ACR1	0x11
#define REG_ACR2	0x12
#define REG_ACR3	0x13
#define REG_AMR0	0x14
#define REG_AMR1	0x15
#define REG_AMR2	0x16
#define REG_AMR3	0x17
#define REG_RMC		0x1D
#define REG_RBSA	0x1E
#define REG_CDR		0x1F

/**********************************************/
void can_set_urg(UINT8_T channel, char *ACK);		/*write four bytes continous for Urg_ID28-Urg_ID0 in ACK*/
void can_transmit(UINT8_T channel, unsigned char *txdata);
int can_receive(UINT8_T channel, unsigned char *rxdata);
void can_TrnUrg(UINT8_T channel, char *txdata);
UINT32_T can_RcvLngth(UINT8_T channel);
UINT32_T can_TrsmtLngth(UINT8_T channel);
UINT8_T can_st(UINT8_T channel);
int can_rst(UINT8_T channel);
int can_init(UINT8_T channel,int baudrate);
void registerFunc(PFUNC func);
UINT8_T rd_reg(UINT8_T channel, UINT8_T sja_reg);
void wrt_reg(UINT8_T channel, UINT8_T sja_reg, char data);
int can_rd_trn(UINT8_T channel, char *rxdata);
void can_wrt_recv(UINT8_T channel, char *txdata);

#endif


/*
baudrate referrence table when the crystalloid is 16M

               baudrate            BTR0                  BTR1
               
                20                 0x53                  0x2f 
                40                 0x87                  0xff 
                50                 0x47                  0x2f 
                80                 0x83                  0xff 
                100                0x43                  0x2f 
                125                0x03                  0x1c 
                200                0x81                  0xfa 
                250                0x01                  0x1c 
                400                0x80                  0xfa 
                500                0x0                   0x1c 
                666                0x80                  0xb6 
                800                0x0                   0x16
                1000               0x0                   0x14             
                                                               */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -