STM32F103 对PB3-5多次重映射导致TIM3CH1在PB4无法输出PWM波形问题的解决

  1. 用了这么久的STM32,PB4重映射作为TIM3CH1的PWM输出做过很多系统了,可是今天怎么都出不来,整了一下午的代码设置,无效!又测量了硬件通断,全没有问题!吃晚饭了,离开书房去吃饭,明天就大年30了,有点不耐烦,游走着想着是不是芯片IO烧毁了,决定冷静,先测试IO,看看IO作为通用能不能用。

  2. 吃完饭测试,发现IO可以输出高低电平,IO铁定没有烧毁。又对了几遍数据手册,还是没有搞定。

  3. 忽然想着,我采用了SPI重映射到PB345上,虽然我只有用了"只发模式",只占用PB3和PB5,原来想着PB4没有用,可以作为通用IO使用,见数据手册说明应该不会被SPI占用。就想着作为TIM3CH1也可以。
    在这里插入图片描述

  4. 怀着试一试的心情,我打开了复用寄存器查看,将SPI1复用取消选择,就开始输出了! 现在咋办,硬件已经设计好了,只有用软件SPI 了。

  5. 可见复用不能对同一端口多个复用,估计STM32内部就像模拟开关一样,我先复用了TIM3,TIM3的CH1CH2 切换到了PB3 PB4处,之后我复用SPI1到PB3-5,则模拟开关切换到了SPI,这时,TIM3的CH1和CH2则断开了,不管你用SPI的那种模式,是否有IO没有用,复用只控制了模拟开关,切换内部连接。


AFIO复用寄存器
**加粗样式AFIO取消SPI重映射!
**

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值