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

📄 canbus.c.bak

📁 can bus 源代码
💻 BAK
字号:



#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -