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

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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版