完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
以下程序在STM32f103c8中CH1,CH2,CH3,CHN3,有输出PWM,但是CHN1,CHN2未有PWM。然后把程序移植到
stm32f103zet6则输出都正常。stm32f103c8是有高级定时器 time1 的 求高手解答 void BLDC_Time1_Init( unsigned int arr,unsigned int psc) //PWM初始化程序 { RCC->APB2ENR|=1<<11; // 使能定时器1时钟 RCC->APB2ENR|=1<<2; //使能IO口A时钟 RCC->APB2ENR|=1<<3; //使能IO口B时钟 //RCC->APB2ENR|=1<<0; //开启辅助时钟 GPIOB->CRH&=0X000FFFFF; // 清除PB13PB14,15状态寄存器位 GPIOB->CRH|=0XBBB00000; // 设定PB13PB14,15//TIM1CH1N,TIM1CHH2N CH3N输出 GPIOA->CRH&=0XFFFFF000; // 清除PA8,9,10状态寄存器位 GPIOA->CRH|=0X00000BBB; // 设定PA8,9,10为复用功能TIM1CH1,2,3输出 //GPIOB->ODR|=1<<13; //GPIOB->ODR|=1<<14; //GPIOB->ODR|=1<<15; //GPIOA->ODR|=1<<8; //GPIOA->ODR|=1<<9; //GPIOA->ODR|=1<<10; TIM1->CR2&=0X0000; TIM1->CCR1=500; //捕获比较预装载值 TIM1->CCR2=200; TIM1->CCR3=400; TIM1->ARR=arr; // 设定计数器自动重装值 TIM1->PSC=psc; // 预分频器不分频 // TIM1->CCER|=1<<0; // TIM1CH1 通道开关 // TIM1->CCER|=1<<2; // TIM1CH1N 通道开关 // TIM1->CCER|=1<<4; // TIM1CH2 通道开关 // TIM1->CCER|=1<<6; // TIM1CH2N 通道开关 // TIM1->CCER|=1<<8; // TIM1CH3 通道开关 // TIM1->CCER|=1<<10; // TIM1CH3N 通道开关 TIM1->CCMR1|=7<<4; // TIM1CH1 PWM2模式 TIM1->CCMR1|=7<<12; // TIM1CH2 PWM2模式 TIM1->CCMR2|=7<<4; // TIM1CH3 PWM2模式 TIM1->CCMR1|=1<<3; // TIM1CH1 预装载使能 TIM1->CCMR1|=1<<11; // TIM1CH2 预装载使能 TIM1->CCMR2|=1<<3; // TIM1CH3 预装载使能 TIM1->CR1|=0X80; // CR1 ARPE自动重装载预装载允许位使能 TIM1->CR1|=0X01; // 使能定时计数器1 TIM1->EGR|=1<<0; TIM1->EGR|=1<<5; TIM1->BDTR|=0x2D; // 死区时间设定,5US死区时间 TIM1->BDTR|=1<<15; // 刹车使能位置1,开启所有输出通道 TIM1->CCER=0x555; //主输出与互补输出都为高电平有效 } |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2797 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2403 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2276 浏览 0 评论
2388 浏览 1 评论
1637 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 02:18 , Processed in 0.385803 second(s), Total 40, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2306