canbus.c

来自「can bus 源代码」· C语言 代码 · 共 41 行

C
41
字号



#include <ARTX.h>                     /* ARTX kernel functions & defines     */
#include <LPC21xx.h>                  /* LPC21xx definitions                 */
#include "ARTX_CAN.h"                 /* CAN Generic functions & defines     */
#include "CAN_hw.h"                   /* CAN hw specific functions & defines */
#include "CAN_reg.h"                  /* LPC2xxx CAN registers               */






void			CanInit(U32 ctrl, U32 baudrate)
{
	
	PINSEL1 &= 0xFFEBFFFF;            /* Reset CAN1 bits                     */
   PINSEL1 |= 0x00040000;            /* Set CAN1 bits to 01                 */

   /* Set interrupt vector for Tx1                                          */
   *(&VICVectAddr0 + VIC_NUM_CTRL1_TX) = (unsigned long) CAN_TX1_ISR;
   *(&VICVectCntl0 + VIC_NUM_CTRL1_TX) = 0x20 | 20;
   /* Set interrupt vector for Rx1                                          */
   *(&VICVectAddr0 + VIC_NUM_CTRL1_RX) = (unsigned long) CAN_RX1_ISR;       
   *(&VICVectCntl0 + VIC_NUM_CTRL1_RX) = 0x20 | 26;

   VICIntEnable |= 0x04100000;        /* Enable CAN Tx1 and Rx1 Interrupt    */
   ///////////////////////////////////////////////////////////////////////////   
   AFMReg = 1;
  	C1MOD  = 1;
  	C2IER	 = 0;
  	C1GSR  = 0;
  	C1BTR  = CAN_calc_baudrate(baudrate);
  	C1IER	 = 0x0603;
  	//////////////////////////////////////////////
  	
  	
   
   
}

⌨️ 快捷键说明

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