Chinaunix首页 | 论坛 | 博客
  • 博客访问: 481507
  • 博文数量: 93
  • 博客积分: 1431
  • 博客等级: 上尉
  • 技术积分: 1006
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-18 10:30
文章分类

全部博文(93)

文章存档

2011年(20)

2010年(2)

2009年(71)

我的朋友

分类: 嵌入式

2009-07-10 17:28:34

1.CAN IO RX TX 的设定和重映射
GPIO_PinRemapConfig(GPIO_Remap2_CAN, ENABLE); //端口重映射到PD0,PD1
 
2.clock   CAN IO CLOCK 的开启
、*-------gpio for can------------*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO, ENABLE);
          CAN 自身CLOCK 的开启、
 /* CAN Periph clock enable */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN, ENABLE);
3.CAN 接收中断 函数 USB_LP_CAN_RX0_IRQHandler()
  及其 向UCOS 系统的注册
  /*Set ISR for CAN*/
  BSP_IntVectSet(BSP_INT_ID_USB_LP_CAN_RX0,USB_LP_CAN_RX0_IRQHandler);
  BSP_IntEn(BSP_INT_ID_USB_LP_CAN_RX0);
 
  向CPU 注册
 /* enabling interrupt */
  NVIC_InitStructure.NVIC_IRQChannel=USB_LP_CAN_RX0_IRQChannel;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
   CAN 使能
/* CAN FIFO0 message pending interrupt enable */
  CAN_ITConfig(CAN_IT_FMP0, ENABLE);
4.CAN 相关结构体即寄存器的初始化
/* CAN register init */
  CAN_DeInit();
  CAN_StructInit(&CAN_InitStructure);
阅读(5753) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~