[STM32F1] PWM输出引脚不用上拉也正常工作?

[复制链接]
4160|13
 楼主| 一颗心的思考 发表于 2015-7-18 11:22 | 显示全部楼层 |阅读模式
发现PWM输出引脚不用上拉也正常工作。特来求证。实验已经验证,没有影响。
//PWM输出初始化
//arr:自动重装值
//psc:时钟预分频数
void PWM_Init(u16 arr,u16 psc)
{                                                          
        //此部分需手动修改IO口设置
        RCC->APB1ENR|=1<<1;       //TIM3时钟使能   

        GPIOA->CRH&=0XFFFFFFF0;//PA8输出
        GPIOA->CRH|=0X00000004;//浮空输入
                 
        GPIOA->CRL&=0X0FFFFFFF;//PA7输出
        GPIOA->CRL|=0XB0000000;//复用功能输出           


//下面这句注销了照样正常工作
//下面这句注销了照样正常工作
//下面这句注销了照样正常工作
        GPIOA->ODR|=1<<7;//PA7上拉         




        TIM3->ARR=arr;//设定计数器自动重装值
        TIM3->PSC=psc;//预分频器不分频
       
        TIM3->CCMR1|=7<<12;  //CH2 PWM2模式                 
        TIM3->CCMR1|=1<<11; //CH2预装载使能          

        TIM3->CCER|=1<<4;   //OC2 输出使能          

        TIM3->CR1=0x8000;   //ARPE使能
        TIM3->CR1|=0x01;    //使能定时器3                                                                                   
}           













s_f_tan 发表于 2015-7-18 13:21 | 显示全部楼层
功能复用是应该是推挽输出吧
mmuuss586 发表于 2015-7-18 13:54 | 显示全部楼层

是可以;
fanxsd 发表于 2015-7-18 13:56 | 显示全部楼层
亲 这个是配置为 复用推挽输出的,跟上拉电阻和下拉电阻是没有关系的。
 楼主| 一颗心的思考 发表于 2015-7-18 15:46 | 显示全部楼层
fanxsd 发表于 2015-7-18 13:56
亲 这个是配置为 复用推挽输出的,跟上拉电阻和下拉电阻是没有关系的。

是推挽输出,我的意思是,推挽输出没必要再加上 GPIOA->ODR|=1<<7;  这句吧
 楼主| 一颗心的思考 发表于 2015-7-18 15:48 | 显示全部楼层
s_f_tan 发表于 2015-7-18 13:21
功能复用是应该是推挽输出吧

 楼主| 一颗心的思考 发表于 2015-7-18 16:01 | 显示全部楼层

我注销之后发现现象没有变化。留意到,在这家板子的库函数所写的例程里是没有这一句的。
冰河w 发表于 2015-7-18 16:56 | 显示全部楼层
这个是配置为 复用推挽输出的,还是要感谢分享,学习了
 楼主| 一颗心的思考 发表于 2015-7-18 17:25 | 显示全部楼层
冰河w 发表于 2015-7-18 16:56
这个是配置为 复用推挽输出的,还是要感谢分享,学习了

我是不是理解错了
过去尘空 发表于 2015-7-18 19:39 | 显示全部楼层
热认为
戈卫东 发表于 2015-7-18 19:53 | 显示全部楼层
它是多余的。
不过,如果考虑到寄存器也许会受到某种影响而变成了GPIO,它也许是有用的
 楼主| 一颗心的思考 发表于 2015-7-18 21:13 | 显示全部楼层
 楼主| 一颗心的思考 发表于 2015-7-18 21:14 | 显示全部楼层
戈卫东 发表于 2015-7-18 19:53
它是多余的。
不过,如果考虑到寄存器也许会受到某种影响而变成了GPIO,它也许是有用的 ...

对照参考手册没找到,才来求证的。谢谢
fanxsd 发表于 2015-7-18 22:14 | 显示全部楼层
一颗心的思考 发表于 2015-7-18 15:46
是推挽输出,我的意思是,推挽输出没必要再加上 GPIOA->ODR|=1

没有了,推挽设置之后,就只有高电平 和 低电平了。上下拉 都没有效果了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

104

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部