完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
现用STM8S005K6定时器2 PWM通道3无输出,其它两路通道1,通道2输出正常,OPtiON BYTE也写了,求解:
void TIM2_PWMOut_config(void) { TIM2_PSCR=15999; TIM2_ARRH=0; TIM2_ARRL=0x09;//PWM频率 16M/pscr/arr=16000000/16000/10=100Hz TIM2_CCR1H=0;//占空比 TIM2_CCR1L=0x32; TIM2_CCMR1|=1<<3;//预装载使能 TIM2_CCMR1|=6<<4;//CH1为PWM1模式 TIM2_CCER1|=1<<0;//开启OC1输出管脚 TIM2_CCER1|=0<<1;//OC1 0高电平有效,1低电平有效 TIM2_CCR2H=0;//占空比 TIM2_CCR2L=0x32; TIM2_CCMR2|=1<<3;//预装载使能 TIM2_CCMR2|=6<<4;//CH2为PWM1模式 TIM2_CCER1|=1<<4;//开启OC2输出管脚 TIM2_CCER1|=0<<5;//OC2 0高电平有效,1低电平有效 TIM2_CCR2H=0;//占空比 TIM2_CCR2L=0x32; TIM2_CCMR3|=1<<3;//预装载使能 TIM2_CCMR3|=6<<4;//CH3为PWM1模式 TIM2_CCER2|=1<<0;//开启OC3输出管脚 TIM2_CCER2|=0<<1;//OC3 0高电平有效,1低电平有效 //TIM2_EGR|=0X01; TIM2_CR1|=0<<4;//使能ARP,边沿对齐,向上计数 TIM2_CR1|=0X01;//使能TIM2 } |
|
相关推荐
1个回答
|
|
STM8S005K6定时器2 PWM通道3无输出的问题可能由多种原因导致。根据您提供的代码,我将分析一些可能的原因并提供解决方案。
1. 检查定时器2的时钟源和时钟分频: 确保定时器2的时钟源和时钟分频设置正确。您可以通过设置CKDIVR寄存器来调整时钟分频。例如: ```c CLK_divider = 1; // 根据需要调整时钟分频 ``` 2. 检查定时器2的模式配置: 确保定时器2的工作模式设置正确。根据您的描述,您可能希望使用PWM模式。请检查以下设置: ```c TIM2_CR1 &= ~(1 << TIM2_CR1_CKS1); // 清除时钟源选择位 TIM2_CR1 |= (0 << TIM2_CR1_CKS1); // 设置时钟源为内部时钟 ``` 3. 检查定时器2的通道3配置: 您提供的代码中,通道3的配置似乎不完整。请确保您已经正确设置了通道3的相关寄存器。例如: ```c TIM2_CCMR2 |= (1 << TIM2_CCMR2_CC3S); // 设置通道3为PWM模式 TIM2_CCER |= (1 << TIM2_CCER_CC3E); // 启用通道3 ``` 4. 检查定时器2的预装载和自动重载寄存器: 确保您已经正确设置了定时器2的预装载和自动重载寄存器。根据您的代码,您已经设置了这些寄存器。但是,请确保它们的值是正确的。例如: ```c TIM2_PSCR = 15999; // 设置预装载分频 TIM2_ARRH = 0; TIM2_ARRL = 0x09; // 设置自动重载值 ``` 5. 检查定时器2的通道3占空比: 确保您已经正确设置了通道3的占空比。根据您的代码,您没有设置通道3的占空比。请添加以下代码: ```c TIM2_CCR3H = 0; // 设置通道3的占空比高8位 TIM2_CCR3L = 0x32; // 设置通道3的占空比低8位 ``` 6. 检查定时器2的输出比较模式寄存器: 确保您已经正确设置了定时器2的输出比较模式寄存器。根据您的代码,您已经设置了通道1的输出比较模式寄存器。请添加以下代码以设置通道3的输出比较模式寄存器: ```c TIM2_CCMR2 |= (6 << (TIM2_CCMR2_OC3M_Pos * 2)); // 设置通道3为PWM模式 ``` 7. 检查定时器2的输出使能: 确保您已经启用了定时器2的输出。请添加以下代码: ```c TIM2_BDTR |= (1 << TIM2_BDTR_MOE); // 启用定时器2的主输出 ``` 8. 检查定时器2的启动: 确保您已经启动了定时器2。请添加以下代码: ```c TIM2_CR1 |= (1 << TIM2_CR1_CEN); // 启动定时器2 ``` 请尝试以上建议,并检查您的代码是否正确配置了定时器2的PWM通道3。如果问题仍然存在,请仔细检查硬件连接和STM8S005K6的数据手册,以确保没有其他潜在问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1649 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1566 浏览 1 评论
994 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
693 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1613 浏览 2 评论
1871浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
656浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
526浏览 3评论
543浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
515浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 09:12 , Processed in 0.874988 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号