打印

stm32定时器复用功能

[复制链接]
1892|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenzongxi|  楼主 | 2011-11-17 10:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PA8复用功能是TIM1的CH1,板子上PA8接LED,输出低电平LED亮,我配置好后,LED没有亮,是不是没设置好。


RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);  //外设要开复用时钟?
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);




GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;            //TIM1的CH1是PA8的复用功能
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;              //复用输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;  
GPIO_Init(GPIOA,&GPIO_InitStructure);


使用了GPIOA的PIN8的复用功能,即TIM1_CH1,

TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_OCInitStructure.TIM_OCMode =TIM_OCMode_Toggle;         
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;      
TIM_OCInitStructure.TIM_Pulse = 20000;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset;
TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Set;
TIM_OC1Init(TIM1,&TIM_OCInitStructure);

TIM_ITConfig(TIM1,TIM_IT_CC1,ENABLE);

TIM_ClearITPendingBit(TIM1,TIM_IT_CC1);          //使能输出比较中断
TIM_Cmd(TIM1,ENABLE);
TIM_CtrlPWMOutputs(TIM1,ENABLE);



只要TIM1_CH1输出低电平,LED应该亮,这样理解行不行?
沙发
香水城| | 2011-11-17 10:43 | 只看该作者
也许电路没有接好,怎么都不会亮。

使用特权

评论回复
板凳
chenzongxi|  楼主 | 2011-11-17 10:48 | 只看该作者
2# 香水城

电路是好的,成品板子,试验过,版主看看我设置的有没有问题,关键是能不能输出低电平,我对
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_OCInitStructure.TIM_OCMode =TIM_OCMode_Toggle;         
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;      
TIM_OCInitStructure.TIM_Pulse = 20000;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset;
TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Set;
TIM_OC1Init(TIM1,&TIM_OCInitStructure);
这个不太理解,不知能不能输出低电平?

使用特权

评论回复
地板
香水城| | 2011-11-17 10:57 | 只看该作者
先说你的前一个问题解决了没有,这是2个相关的问题:https://bbs.21ic.com/icview-285296-1-1.html

你可以参考STM32标准外设库中的例子,运行一下。

使用特权

评论回复
5
chenzongxi|  楼主 | 2011-11-17 11:18 | 只看该作者
4# 香水城


没解决啊,晕了

使用特权

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

本版积分规则

0

主题

43

帖子

1

粉丝