历史上的今天
今天是: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使能
}
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 09:19 编辑 电子爱好者请加QQ:273605686!经过这将近四天的奋战和赛前的准备和培训,确实学到了很多东西。 … 查看全部问答> |
|
大约从20世纪80年代起,就有许多业内专家宣称模拟电路已走进死胡同,而数字应用将在电子世界中大放异彩,包括用在通信上的集成电路(integrated circuits,ICs)。在现实中,当然,现代化的通信系统同时需要将模拟及数字功能复杂地融合在一起。 ...… 查看全部问答> |
|
文件结构 模块化的程序应该是有一个很好的程序结构的。AVR C语言程序有两种用户文件,.c程序文件,.h头文件,程序中编写过程中需要在.c文件中包含.h头文件。初学者往往出现重复包含或者头文件包含错误的问题,我当时也时常为这种错误而发愁。下面 ...… 查看全部问答> |
|
大家好! 附件是大家经常关注的PCBA清洗不干净,会有发白现象,我们分析了其中的原因和解决方案供大家参考,这些方案可以解决超声波清洗工艺,喷淋清洗工艺和手工清洗工艺清洗时,发现PCBA上有发白的现象; ...… 查看全部问答> |
|
奥特曼Zigbee读书日记(四)-- 设备“对话”专题(2) 原贴地址:http://www.feibit.com/bbs/viewthread.php?tid=86&extra=page%3D1 心理学专家告诉我们,一个贴子不能写得太长,否则会让读者有疲劳感。。。(背景音:哪个专家说的?--自己百度去,肯定不是奥特曼~~~)按照专家的指点,我们 ...… 查看全部问答> |
|
keil下初始化串口老是不成功,串口输出的都是乱码,但是在ADS下初始化都是正常的,是不是在ADS和keil下初始化有什么区别,高手指点一下。。。 … 查看全部问答> |
|
全部IO引出,有8个IO由245增强输出,8个LED,两个按键,带RTC,备份电池,E2Prom,可输入18V内的直流供电,并可在IO输出排针接口输出各种电压,可以接连接LED点阵单元板 [ 本帖最后由 spence 于 2010-8-9 19:55 编辑 ]… 查看全部问答> |
|
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文档给出的一些信息,好像比 ...… 查看全部问答> |




