完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32F030C8T6单片机PWM呼吸灯寄存器配置:
TIM3_CR1:控制寄存器 BIT8~BIT9:CKD 与外部输入时钟有关,不使用外部时钟输入,所以不操作BIT8~BIT9,设置为00 BIT7:ARPE 预装使能,置1有缓冲器,置0无缓冲器。 BIT6:CMS: 默认边沿对齐模式,使用边沿对齐模式,默认值00 BIT5:DIR: 计数器的计数方向,默认0,表示向上计数。 BIT4:OPM 单脉冲模式使能,默认0,默认不使能单脉冲模式。 BIT3:URS 更新请求源,默认不实用请求源,这里不需要产生中断或DMA事件,设置为默认值0 BIT2:UDIS 禁止更新位,需要连续PWM信号,所以重复更新事件产生,置0 BIT1:CEN 使能计数,在单脉冲模式下,CEN位会自动清除 总结:TIM3_CR1寄存器中ARPE=1,CEN=1 TIM3_CCMR2 捕捉比较模式寄存器2 BIT7:OC3CE: 输出比较清除允许,不需要清除输出比较,默认为0 BIT4~BIT6:OC3M 设置工作模式,设置为110,设置为PWM模式1,CNTCCR,输出低, BIT3:OC3PE 输出预装使能,置1,对CCR的读写操作,仅对预装寄存器操作,当更新事件来的时候才送到影子寄存器中 BIT2:OC3FE: 输出比较快速使能,置1,可以加快输出对触发器对输入事件的快速响应,这里设置为0 BIT0~BIT1:CC3S 配置输入输出放向,默认00就是输出方向。 总结:TIM3_CCMR2寄存器中OC3M =110 OC3PE = 1 TIM3_CCER :捕捉比较使能寄存器 BIT11:CCNP 定时器3通道3配置为输出,默认是0。 BIT9:CC3P 设置比较器输出极性,0为高有效,1为低有效,这里设置0为高有效 BIT8:CC3E 使能比较输出,设置为1,开启使能输出 TIM3_CNT :表示定时器的计数器值(十六位数) 定时器开启时,这个寄存器的值一直在递增。初始化时,初始化为0。 TIM3_PSC:预分频寄存器 有影子寄存器 这里设置为0,不使用预分频寄存器,不分频。 TIM3_ARR:自动加载寄存器 有影子寄存器 用来设置PWM的周期长度。这里设置为7999,为1毫秒长度的周期。 TIM3_CCR3:捕捉比较寄存器3 用来设置PWM的占空比 总结: 设置TIM3_CH3产生PWM 1、设置GPIOB时钟使能 RCC_AHBENR |= 0X00040000 GPIOB_AFRL =0X00000001 //GPIOx_AFRL查规格书 2、设置PB0复用功能 GPIOB_MODER = 0X00000002 3、设置TIM3时钟使能 RCC_AHB1ENR |= 0X00000002 4、CCMR2 5、ARR =7999 6、CCER 7、CNT=0 8、CR1 |
|
|
|
只有小组成员才能发言,加入小组>>
3294 浏览 9 评论
2970 浏览 16 评论
3473 浏览 1 评论
9023 浏览 16 评论
4061 浏览 18 评论
1140浏览 3评论
589浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
579浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2313浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1876浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 01:19 , Processed in 1.433760 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号