完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void PWM_Init(u16 arr,u16 psc)
{ //此部分需手动修改IO口设置 tiM3->CR1=0x8000; //ARPE使能 TIM3->CR1|=0x01; //使能定时器3 } pdf里面14.4.1 控制寄存器1(TIMx_CR1) 是: 位15:10 保留,始终读为0。 位7 ARPE :自动重装载预装载允许位 (Auto-reload preload enable) 位7 0:TIMx_ARR 寄存器没有缓冲; 1:TIMx_ARR 寄存器被装入缓冲器。 还有就是 我对照着楼主的 程序 我在PB5上结了一个LED,高电平亮。 不过到了这个里面全就灭了。 仿真的时候 PB5是高电平的呢 我的代码是: void PWM_Init(u16 arr,u16 psc) { //此部分需手动修改IO口设置 RCC->APB1ENR|=1<<1; //TIM3时钟使能 //GPIOA->CRH&=0XFFFFFFF0;//PA8输出 // GPIOA->CRH|=0X00000004;//浮空输入 GPIOB->CRL&=0XFF0FFFFF;//PA7输出 GPIOB->CRL|=0X00B00000;//复用功能输出 GPIOB->ODR|=1<<5;//Pb5上拉 TIM3->ARR=arr;//设定计数器自动重装值 TIM3->SC=psc;//预分频器不分频 TIM3->CCMR1|=7<<12; //CH2 PWM2模式 位14:12 OC2M[2:0] :输出比较2模式 (Output compare 2 mode) TIM3->CCMR1|=1<<11; //CH2预装载使能 TIM3->CCER|=1<<4; //OC2 输出使能 CC2E:输入/ 捕获2输出使能 (Capture/Compare 2 output enable) TIM3->CR1=0x8000; //ARPE使能 TIM3->CR1|=0x01; //使能定时器3 } 主函数: int main(void) { u16 led0pwmval=0; u8 dir=1;; STM32_Clock_Init(9); //系统时钟设置 delay_init(72); //延时初始化 LED_Init(); //初始化与LED连接的硬件接口 // PWM_Init(900,0); uart_init(72,9600); //串口初始化 WM_Init(900,0); while(1) { delay_ms(10); if(dir) led0pwmval++; else led0pwmval--; if(led0pwmval>300)dir=0; if(led0pwmval==0)dir=1; LED0_PWM_VAL=led0pwmval; } } |
|
相关推荐
2个回答
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1780 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1081 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1679 浏览 2 评论
1938浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
731浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
596浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
556浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 01:55 , Processed in 0.872335 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号