完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
定时器中断只进入一次
void tiM3_Int_Init(u16 arr,u16 psc) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //使能TIM3时钟 TIM_TimeBaseStructure.TIM_Period = arr; //指定下次更新事件时要加载到活动自动重新加载寄存器中的周期值 TIM_TimeBaseStructure.TIM_Prescaler = psc; //指定用于划分TIM时钟的预分频值 TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_1; //时钟分频因子 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM计数模式,向上计数模式 TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位 TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE); //使能TIM3中断,允许更新中断 //初始化TIM NVIC,设置中断优先级分组 NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //TIM3中断 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //设置抢占优先级0 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //设置响应优先级3 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能通道1中断 NVIC_Init(&NVIC_InitStructure); //初始化NVIC TIM_Cmd(TIM3, ENABLE); //TIM3使能 } void TIM3_IRQHandler(void) { static u8 i=0; if (TIM_GetITStatus(TIM3, TIM_IT_Update)!=RESET) //检查TIM3中断是否发生 { TIM_ClearITPendingBit(TIM3, TIM_IT_Update); //清除TIM3的中断挂起位 GPIO_WriteBit(GPIOA, GPIO_Pin_1, (i==0) ? (i=Bit_SET):(i=Bit_RESET)); printf("GPIO Togglern"); } } |
|
相关推荐
2个回答
|
|
|
你好,可参考链接中定时器中断的处理,该版本还有其他定时器的例程,可以参考一下。
|
|
|
|
|
|
谢谢 已经解决 RTOS的例程可以发一下吗
void TIM3_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast"))); |
|
|
|
|
只有小组成员才能发言,加入小组>>
347 浏览 0 评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
861 浏览 0 评论
1461 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
3417 浏览 2 评论
2822 浏览 1 评论
安卓手机支持外接otg扩展坞 然后使用ch340+ch9329控制电脑吗
1808浏览 1评论
1461浏览 1评论
348浏览 0评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
863浏览 0评论
468浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 07:18 , Processed in 0.668410 second(s), Total 77, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
758