完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 wdelabview 于 2015-10-14 17:02 编辑
void tiM3_GPIOB5_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO , ENABLE); GPIO_AFIODeInit(); GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3 ,ENABLE ); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); } void TIM4_GPIOB6_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO , ENABLE); GPIO_AFIODeInit(); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); } 使用的片子是LQFP 100pin的STM32F103VET6; TIM3_CH2和TIM4_CH1都配置为PWM输出模式(这个就不挂出来了,单独用PWM输出是正常的); PB5重映射作为TIM3_CH2输出,PB6复用作为TIM4_CH1输出; 那么问题来了:TIM3_CH2无法输出正常波形,TIM4_CH1正常输出PWM!! 究竟是什么原因呢?希望大家指正下!!
|
|
相关推荐
5个回答
|
|
wdelabview 发表于 2015-10-14 17:22 GPIO_AFIODeInit();的作用是什么得搞清楚,这两个不一样的,一个复用,一个没复用。
最佳答案
|
|
|
|
复用时钟和PB5时钟都开了,但是这句话的作用 GPIO_AFIODeInit();是不是又把复用时钟复位了,看一下是不是这个问题。还有确定硬件电路是否有问题。
|
|
|
|
applevs 发表于 2015-10-14 17:06 硬件没有问题啊,不使用复用功能,单独是可以用的,GPIO_AFIODeInit();在TIM4_ch1那里也用了额,可是TIM4_ch1能工作,TIM3_ch2就不可以呢? |
|
|
|
TIM4_ch1那个是默认复用功能,可以不用AFIO时钟,TIM3_CH2是user定义复用,AFIO就必须用了。问题已经解决,就是GPIO_AFIODeInit();这个问题,谢谢你哈 |
|
|
|
程序写的很给力啊!真的是大神啊!自己学了很久都不会啊!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2049 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1893 浏览 3 评论
4485 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2040 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2549 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 11:08 , Processed in 0.678764 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号