你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103 CAN引脚复用

[复制链接]
newphj 提问时间:2016-8-13 15:10 /
STM32CuBeMX CAN引脚复用 PB8,PB9..程序不能联调,第二次下载的时候提示找不到MCU。直接引脚PA11,PA12就正常运行。搞不懂了。STM32F103VET6

CAN_TEST.zip

下载

9.18 MB, 下载次数: 90, 下载积分: ST金币 -1

收藏 1 评论15 发布时间:2016-8-13 15:10

举报

15个回答
johnson_gong 回答时间:2016-8-17 09:37:33
估计是引用复用相关配置,还有CLK的配置问题,重影射要使能AFIO的CLK才行

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2 淡定

查看全部评分

newphj 回答时间:2016-8-17 09:50:52
johnson_gong 发表于 2016-8-17 09:37
估计是引用复用相关配置,还有CLK的配置问题,重影射要使能AFIO的CLK才行

/* USER CODE BEGIN CAN1_MspInit 0 */
  __HAL_RCC_AFIO_CLK_ENABLE();

  /* USER CODE END CAN1_MspInit 0 */
    /* Peripheral clock enable */
    __HAL_RCC_CAN1_CLK_ENABLE();
  
    /**CAN GPIO Configuration   
    PB8     ------> CAN_RX
    PB9     ------> CAN_TX
    */
    GPIO_InitStruct.Pin = GPIO_PIN_8;
    GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

    GPIO_InitStruct.Pin = GPIO_PIN_9;
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

    __HAL_AFIO_REMAP_CAN1_2();

貌似还是不行,
废鱼 回答时间:2016-8-17 10:34:08
楼主用的是哪个芯片?
newphj 回答时间:2016-8-17 10:38:17
可以了。先把HAL_Init()-》HAL_MspInit()-》__HAL_RCC_AFIO_CLK_ENABLE();屏蔽,再在MX_CAN_Init-》HAL_CAN_Init-》HAL_CAN_MspInit里加__HAL_RCC_AFIO_CLK_ENABLE();

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2 赞一个!

查看全部评分

newphj 回答时间:2016-8-17 10:38:37
安 发表于 2016-8-17 10:34
楼主用的是哪个芯片?

STM32F103VET
无薪税绵 回答时间:2016-8-17 10:54:38
楼主厉害,自己解决了。
gonger 回答时间:2016-8-17 13:57:39
学习了,谢谢楼主
feixiang20 回答时间:2016-8-17 22:25:29
自己动手能解决,印象会更深刻啊
feixiang20 回答时间:2016-8-17 22:26:27
还有,如果有硬件上的问题,也可以先检查检查
huaiqiao 回答时间:2016-8-17 22:47:23
PB8,PB9 不是复用哦,需要Remap,即重映射哦。看清楚datasheet中引脚功能的,说明哦。
废鱼 回答时间:2016-8-18 09:40:58
newphj 发表于 2016-8-17 10:38
可以了。先把HAL_Init()-》HAL_MspInit()-》__HAL_RCC_AFIO_CLK_ENABLE();屏蔽,再在MX_CAN_Init-》HAL_CAN ...

在哪个里面调用都可以,说明没有进入这个函数。楼主仿真一下,看看HAL_Init时,能否进入HAL_MspInit。
nashchen17 回答时间:2016-8-18 12:34:29
自己發自己解決,珍是厲害
newphj 回答时间:2016-8-18 13:58:35
安 发表于 2016-8-18 09:40
在哪个里面调用都可以,说明没有进入这个函数。楼主仿真一下,看看HAL_Init时,能否进入HAL_MspInit。 ...

不注视掉,首次下载后,就不能仿真。IAR环境,不知道哪里问题,STM32CubeMX更新最新的,STM32F407的直接设置就可以。可以试一下,
newphj 回答时间:2016-8-18 14:02:55
附件上传
12下一页

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版