嵌入式
文章平均质量分 66
galaxy._
这个作者很懒,什么都没留下…
展开
-
关于使用STM32定时器为什么芯片上电后计数是从1开始,而不是0
原因:下图是初始化时基单元函数TIM_TimeBaseInit()函数中的一段代码。注释意思为但是它的弊端就是,更新事件和更新中断是同时发生的,更新中断会置更新中断标志位。当我们之后一旦初始化完了,更新中断就会立刻进入。所以当我们使用定时器计数时,会造成少计一个数(即一上电,计数值就是从1开始,而不是0)。解决的办法就是在开启中断前,初始化时基单元TIM_TimeBaseInit()函数后,调用TIM_ClearFlag()函数清除中断标志。加上这条代码后,芯片一上电就是从0开始计数了。原创 2024-01-18 19:26:27 · 635 阅读 · 1 评论 -
STM32定时器中断配置步骤_影子寄存器_时钟_时钟树_固件库
本文分两大部分:一、定时器中断这部主要是简单的介绍了一下定时器,给出了定时器中断的配置步骤及实例代码。如果只是想实现定时器中断代码,则只需参考本部分即可。二、补充&深入在这一部分中,简单介绍了一下定时器的框图、影子寄存器、时钟、时钟树。另外还讲解了使用固件库编写定时器相关代码时,需要对固件库中默认参数进行更改的地方。原创 2024-01-18 13:32:03 · 1851 阅读 · 1 评论 -
中断系统_框图_配置步骤
当同时发生多个中断请求时,CUP不需要判断哪个先执行,当多个中断请求发生时NVCI会对其进行优先级排序,最后选择优先级最高的中断请求传达到CPU,CPU则执行相应的中断服务程序即可(NVIC相当于医院的叫号系统,CPU相当于医生)GPIO端口线经过SYSCFG(数据选择器)后分为16个中断线,这16个中断线再通过EXTI(外部中断控制器)与NVIC连接。NVIC为内核外设,而RCC只管内核外的外设,所以也不需要使能】① 使能时钟(GPIO时钟、SYSCFG时钟)CPU如何知道该中断对应的服务程序是哪个?原创 2024-01-16 17:55:25 · 713 阅读 · 1 评论