[STM32F0]

STM32F042F6 CAN初始化问题急救!

[复制链接]
788|7
手机看帖
扫描二维码
随时随地手机跟帖
ipman|  楼主 | 2019-11-28 15:42 | 显示全部楼层 |阅读模式
初始化时,卡在这里不出来,IO也重新定向到 PA11和PA12了,为何?
   while (((CANx->MSR & CAN_MSR_INAK) == (uint16_t)CAN_MSR_INAK) && (wait_ack != INAK_TIMEOUT))
   {
     wait_ack++;
   }
谢谢指点!

使用特权

评论回复
ipman|  楼主 | 2019-11-28 15:46 | 显示全部楼层
本帖最后由 ipman 于 2019-11-28 15:48 编辑

贴上初始化设置:
static void CAN_GPIO_Configuration(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        SYSCFG->CFGR1 |= SYSCFG_CFGR1_PA11_PA12_RMP;                  //RMAP
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA , ENABLE);                                                                                                                        
        /* CAN1 Periph clock enable */
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN, ENABLE);
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource12,GPIO_AF_4);
  GPIO_PinAFConfig(GPIOA,GPIO_PinSource11,GPIO_AF_4);
        /* Configure CAN pin: RX */                                                         // PA11
        GPIO_InitStructure.GPIO_Pin    = CAN_RX;
        GPIO_InitStructure.GPIO_Mode   = GPIO_Mode_AF;
        GPIO_InitStructure.GPIO_PuPd   = GPIO_PuPd_UP;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
        /* Configure CAN pin: TX */                                                         // PA12
        GPIO_InitStructure.GPIO_Pin    = CAN_TX;
        GPIO_InitStructure.GPIO_Mode   = GPIO_Mode_AF;
        GPIO_InitStructure.GPIO_OType  = GPIO_OType_PP;
        GPIO_InitStructure.GPIO_Speed  = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_PuPd   = GPIO_PuPd_NOPULL;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
}

使用特权

评论回复
xiaoqizi| | 2019-12-11 13:52 | 显示全部楼层
看晶振起振了吗

使用特权

评论回复
wowu| | 2019-12-11 13:53 | 显示全部楼层
别的部分能初始化吗

使用特权

评论回复
cainiao518| | 2019-12-11 15:35 | 显示全部楼层
/* CAN GPIOs configuration **************************************************/
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
  SYSCFG->CFGR1 |= SYSCFG_CFGR1_PA11_PA12_RMP;//PA11 and PA12 remap on QFN28 and TSSOP20 packages
  /* Enable GPIO clock */
  RCC_AHBPeriphClockCmd(CAN_GPIO_CLK, ENABLE);

  /* Connect CAN pins to AF7 */
  GPIO_PinAFConfig(CAN_GPIO_PORT, CAN_RX_SOURCE, CAN_AF_PORT);
  GPIO_PinAFConfig(CAN_GPIO_PORT, CAN_TX_SOURCE, CAN_AF_PORT);

使用特权

评论回复
wahahaheihei| | 2019-12-11 17:35 | 显示全部楼层
这个芯片的例子有没有CAN的

使用特权

评论回复
wahahaheihei| | 2019-12-11 17:35 | 显示全部楼层
如果有CAN的例子,看看例子是怎么初始化的

使用特权

评论回复
wahahaheihei| | 2019-12-11 17:35 | 显示全部楼层
如果代码一致,看看硬件。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

89

主题

550

帖子

4

粉丝