完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
用STM32F030CC芯片做tiM3的定时中断时,中断处理服务函数无法进去,在定时器配置上不知道有没有遗漏的地方。芯片系统时钟是48M,TIM3 500ms进一次中断,中断处理函数是对LED灯进行翻转。下面是我的TIM3初始化,和中断处理函数,大家方便的时候还望帮我看一看,打扰了
void TIM3_Init(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, ENABLE); //tim3时钟使能,APB时钟48M TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1; //分频系数为1 TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数 TIM_TimeBaseInitStructure.TIM_Period = 499; TIM_TimeBaseInitStructure.TIM_Prescaler = 47999; //定时500ms TIM_TimeBaseInit(TIM3, &TIM_TimeBaseInitStructure); TIM_ClearITPendingBit(TIM3,TIM_IT_Update); TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE); //允许定时器3更新中断 TIM_Cmd(TIM3,ENABLE); //使能定时器3 NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //定时器3中断 NVIC_InitStructure.NVIC_IRQChannelPriority = 0; //优先级0 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); } void TIM3_IRQHandler(void) { if(TIM_GetITStatus(TIM3,TIM_IT_Update) != RESET) //溢出中断 { LED2_Turn(); } TIM_ClearITPendingBit(TIM3,TIM_IT_Update); //清除中断标志位 } |
|
相关推荐
6个回答
|
|
你的开Tim3的时钟函数有用错吗?
RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, ENABLE); //tim3时钟使能,APB时钟48M |
|
|
|
本帖最后由 alisa123 于 2017-9-5 08:44 编辑
标准库中,开时钟的函数应该是RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE)吧,你试试是不是这个原因呢 |
|
|
|
楼主这种问题也来问啊,太不细心了,楼上的说了,时钟打开函数都没写对
|
|
|
|
|
|
|
|
楼上正解
|
|
|
|
本帖最后由 sting 于 2017-9-5 12:10 编辑
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1950 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1809 浏览 3 评论
4389 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1960 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2463 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 10:15 , Processed in 0.652153 second(s), Total 51, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号