完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
void tiM2_Init(void)
{ CLK_PCKENR1_PCKEN10=1;//开启定时器2外设时钟 TIM2_PSCR=0x0f;//不分频 TIM2_ARRH = 0x27; // 自动重载寄存器,10000 TIM2_ARRL = 0x10; // 计数达到该值即重头开始计数,(更新) TIM2_CNTRH =0x00;//设定计数器起始值(出现异常后增加了这段程序) TIM2_CNTRL =0x00; TIM2_IER = 0x01; // 允许更新中断 TIM2_SR1_UIF=0;//清除中断标志 (出现异常后才加的这代码,异常照旧) TIM2_CR1 = 0x85; // 允许溢出中断,开始计数 } //下面是定时器2中断程序 //TIM2溢出中断,采样时间进行定时 #pragma vector = TIM2_OVR_UIF_vector __interrupt void EXIT_TIM2_OVR(void) //中断服务函数 { TIM2_SR1_UIF=0;//清除中断标志 TIM2_CR1 = 0x00; //停止计数器2 TIM2_CNTRH =0x13;//设定计数器起始值,5000(出现异常后增加了这段程序) TIM2_CNTRL =0x88; TIM2_CR1 = 0x85;//// 允许溢出中断,开始计数 } #include //主函数 int main( void ) { asm("rim"); TIM2_Init(); while(1); } 照上面的程序运行,在计数到10000时能够进入中断,但是问题在于定时器一起动就先进入中断(从5000开始计数),然后才正常计数到10000后再次进入中断。换成定时器3,定时器4,定时器5,都一样的情况,不管是先请中断标志再启动定时器,还是启动定时器立即清除中断标志都一样的效果,初始化顺序来回调整都一样的效果,折腾一晚上了,还没搞定。 |
|
相关推荐
1个回答
|
|
|
问题出在预装载寄存器上,下面这段程序并没有把值写入对应的寄存器,而是写在预装载寄存器里面,在发生更新(溢出)时才会写入对应的寄存器里面,
void TIM2_Init(void) { CLK_PCKENR1_PCKEN10=1;//开启定时器2外设时钟 TIM2_PSCR = 0x07;//使用内部时钟,4分频 //TIM2_CNTRH = 0x00; //TIM2_CNTRL = 0x00; TIM2_ARRH = 0x23;//自动重载值9000,计数到此值计数器从0开始重新计数 TIM2_ARRL = 0x28; TIM2_CNTRH = 0x00; TIM2_CNTRL = 0x00; TIM2_CCR1H = 0xff; TIM2_CCR1L = 0xff; TIM2_CCR2H = 0xff; TIM2_CCR2L = 0xff; //TIM2_ARRH = 0xC0; // 自动重载寄存器,复位默认值为0xff,所以不用设置 //TIM2_ARRL = 0x00; // 计数达到该值即重头开始计数,(更新) TIM2_IER = 0x01; // 允许更新中断 TIM2_SR1_UIF = 0; //TIM2_CR1 = 0x81; // 开始计数 } 在这段程序的末尾加一个强制更新命令即可, TIM2_EGR_UG =1; 到这程序运行就全部正常了。 意法的定时器功能太多了{:10:},以前用AVR、PIC、合泰的设置都没这么复杂,这个问题折腾了我一周时间 |
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
4182 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
3252 浏览 1 评论
2782 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
2214 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
15087 浏览 2 评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
3143浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
1929浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
2098浏览 3评论
2009浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
2203浏览 3评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-10 06:02 , Processed in 0.520679 second(s), Total 40, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3449