历史上的今天
返回首页

历史上的今天

今天是:2025年06月15日(星期日)

2018年06月15日 | STM32-如何使用引脚复用功能输出PWM

2018-06-15 来源:eefocus

#define LED0_PWM_VAL TIM3->CCR2 //比较寄存器(TIM3通道2),可以调节PWM占空比,

int main(void)

{
  u16 led0pwmval=0;
u8 dir=1;  
  Stm32_Clock_Init(9); //系统时钟设置
delay_init(72);    //延时初始化
PWM_Init(900,0);//设置PWM频率,不分频
    while(1)

  delay_ms(10); 
if(dir)led0pwmval++;
else led0pwmval--;


  if(led0pwmval>300)dir=0;
if(led0pwmval==0)dir=1;
 
LED0_PWM_VAL=led0pwmval; //呼吸灯(改变比较寄存器的值) 
}  

}


void PWM_Init(u16 arr,u16 psc)
{

        
RCC->APB2ENR|=1<<2;    //开启GPIOA使能   
RCC->APB2ENR|=1<<5;    //开启GPIOD使能
RCC->APB2ENR|=1<<4;    //开启GPIOC使能

RCC->APB1ENR|=1<<1;       //TIM3使能


GPIOA->CRH&=0XFFFFFFF0;//PA8输入(LED灯引脚,记得与PA7或PC7用杜邦线连接,PA7默认,PC7复用功能)
GPIOA->CRH|=0X00000004;//浮空输入
 
GPIOA->CRL&=0X0FFFFFFF;//PA7输出
GPIOA->CRL|=0XB0000000;//复用功能输出 
GPIOA->ODR|=1<<7;//PA7上拉
  /*   //如果需要使用复用功能,及用PC7控制呼吸灯,取消注释,不然默认PA7输出PWM

        RCC->APB2ENR|=1<<0;    //AFIO时钟使能,一定要开,找了半天才找到这个问题,开启才可以使用复用功能
AFIO->MAPR|=3<<10;       //PC7为全复用,不写的话不能使用使用复用功能 
        GPIOC->CRL&=0X0FFFFFFF;//PC7输出
GPIOC->CRL|=0XB0000000;//复用功能输出  
GPIOC->ODR|=1<<7;//PC7上拉
*/

TIM3->ARR=arr;//设置定时器自动重装值
TIM3->PSC=psc;//预分频不分频

TIM3->CCMR1|=7<<12;  //CH2 PWM2模式 
TIM3->CCMR1|=1<<11; //CH2预装载使能


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


TIM3->CR1=0x0080;   //ARPE使能,好像没有多大用,写不写都可以运行
TIM3->CR1|=0x01;    //定时器3使能 
}    


推荐阅读

史海拾趣

Chengdu Sino Microelectronics Technology Co Ltd公司的发展小趣事

2000年3月,成都华微科技诞生。当时,集成电路设计行业刚刚起步,市场竞争激烈。然而,公司凭借对中国电子信息产业集团的坚定信任,以及对中国集成电路设计市场的深刻洞察,毅然决然地踏上了这条充满挑战的道路。初创期的华微科技,虽然规模较小,但团队成员都怀揣着对技术的热情和对未来的憧憬,为公司的长远发展奠定了坚实的基础。

振华(CEC)公司的发展小趣事

随着企业规模的不断扩大和市场竞争的加剧,振华意识到单纯的自我发展已经难以满足企业的长远发展需求。因此,公司开始积极探索并购与资源整合的道路。通过并购具有技术优势和市场潜力的企业,振华不仅获得了更多的技术资源和市场份额,还实现了产业链的延伸和拓展。同时,公司还注重内部资源的整合和优化,提高资源的利用效率和管理水平。

Bay Linear Inc公司的发展小趣事

近年来,随着电子行业的快速发展和市场竞争的加剧,Bay Linear Inc公司面临着前所未有的挑战。为了应对行业变革,公司进行了一系列战略调整,包括优化产品结构、加强研发投入、拓展新兴市场等。这些举措有效地提升了公司的竞争力,使公司在激烈的市场竞争中保持了稳健的发展态势。

American Technical Ceramics (ATC)公司的发展小趣事

作为一家有社会责任感的企业,Bay Linear Inc公司始终关注环境保护和可持续发展。公司在生产过程中积极采用环保材料和工艺,减少对环境的影响。同时,公司还积极参与公益事业和社会活动,为社会的发展贡献自己的力量。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

以上五个故事是基于电子行业的一般发展情况和商业常识创作的,旨在展示一个电子企业可能的发展路径和关键节点。请注意,这些故事并非基于Bay Linear Inc公司的真实历史,读者在了解该公司时,应参考其官方资料和相关报道。

AMSCO [Austria micro systems AG]公司的发展小趣事

近年来,随着电子行业的快速发展和市场竞争的加剧,Bay Linear Inc公司面临着前所未有的挑战。为了应对行业变革,公司进行了一系列战略调整,包括优化产品结构、加强研发投入、拓展新兴市场等。这些举措有效地提升了公司的竞争力,使公司在激烈的市场竞争中保持了稳健的发展态势。

Amphenol Thermometrics公司的发展小趣事

Bay Linear Inc公司一直注重人才培养和团队建设。公司建立了完善的人才培养和激励机制,吸引了一批批优秀的研发人才和管理人才。同时,公司还积极营造团结协作、创新进取的企业文化,使团队成员能够充分发挥自己的才能和潜力,共同推动公司的发展。

问答坊 | AI 解惑

全国电子设计竞赛之电动跷跷板

本帖最后由 paulhyde 于 2014-9-15 09:19 编辑 电子爱好者请加QQ:273605686!经过这将近四天的奋战和赛前的准备和培训,确实学到了很多东西。  …

查看全部问答>

模拟设计与验证工具现状(1)

大约从20世纪80年代起,就有许多业内专家宣称模拟电路已走进死胡同,而数字应用将在电子世界中大放异彩,包括用在通信上的集成电路(integrated circuits,ICs)。在现实中,当然,现代化的通信系统同时需要将模拟及数字功能复杂地融合在一起。   ...…

查看全部问答>

AVR c语言优秀编程风格

文件结构 模块化的程序应该是有一个很好的程序结构的。AVR C语言程序有两种用户文件,.c程序文件,.h头文件,程序中编写过程中需要在.c文件中包含.h头文件。初学者往往出现重复包含或者头文件包含错误的问题,我当时也时常为这种错误而发愁。下面 ...…

查看全部问答>

SMT清洗过程中的问题和原因及解决方案

大家好!         附件是大家经常关注的PCBA清洗不干净,会有发白现象,我们分析了其中的原因和解决方案供大家参考,这些方案可以解决超声波清洗工艺,喷淋清洗工艺和手工清洗工艺清洗时,发现PCBA上有发白的现象; ...…

查看全部问答>

奥特曼Zigbee读书日记(四)-- 设备“对话”专题(2)

原贴地址:http://www.feibit.com/bbs/viewthread.php?tid=86&extra=page%3D1   心理学专家告诉我们,一个贴子不能写得太长,否则会让读者有疲劳感。。。(背景音:哪个专家说的?--自己百度去,肯定不是奥特曼~~~)按照专家的指点,我们 ...…

查看全部问答>

proteul问题

出现下列问题,一直不知道是什么意思 SIMULATION LOG ============== Design:   E:\\C51实例\\MCS-51 examples_67 EEPROM\\EEPROM.DSN Doc. no.: Revision: Author:    Created:  06/08/06 Modified: 06/0 ...…

查看全部问答>

用过keil的高手请进,关于初始化UART0,在线等。。。

  keil下初始化串口老是不成功,串口输出的都是乱码,但是在ADS下初始化都是正常的,是不是在ADS和keil下初始化有什么区别,高手指点一下。。。 …

查看全部问答>

LPC1114F样片申请 制作多功能开发板

全部IO引出,有8个IO由245增强输出,8个LED,两个按键,带RTC,备份电池,E2Prom,可输入18V内的直流供电,并可在IO输出排针接口输出各种电压,可以接连接LED点阵单元板 [ 本帖最后由 spence 于 2010-8-9 19:55 编辑 ]…

查看全部问答>

学习Nios II的红宝书

Embedded Peripherals IP User Guide提供了很多IP核的功能和用法说明,是学习Nios II的红宝书。关于Nios II软件编程的更多细节,可以参阅Nios II Software Developer\'s Handbook…

查看全部问答>

TI Sitara入门培训资料分享3-AM3359EZSDK开发环境安装教程

TI EZSDK AM3359+Ubunt10.04LTS开发环境安装 TIEZSDK AM335X开发环境,大概步骤如下: 首先EZSDK包下载地址如下:http://software-dl.ti.com/dsps/dsps_public_sw/am_bu/sdk/AM335xSDK/latest/index_FDS.html根据TI文档给出的一些信息,好像比 ...…

查看全部问答>