![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32
文章平均质量分 84
共同学习STM32
kirito_o2
这个作者很懒,什么都没留下…
展开
-
STM32 定时器TIM
可以选择通过ITR的这一路,这一部分的时钟信号是来自其他定时器的。在运行的过程中,计数值不断自增,自动重装寄存器中写入的值是固定的目标值,当计数值等于自动重装寄存器中的目标值时,也就是计时时间到了,就会产生一个中断信号,并且清零计数器,计数器自动开始下一次的计数计时。图中向上的折线箭头表示在它的位置处会产生中断信号,而计数值等于自动重装寄存器目标值时产生的中断一般称它为更新中断,在这个更新中断之后就会通往NVIC,就需要再配置好NVIC的定时器通道,这样定时器的更新中断就能够得到CPU的响应了。原创 2024-06-01 22:54:19 · 669 阅读 · 0 评论 -
STM32 中断系统
另一种是,如果这个病人更加紧急,并且此时已经有人在看病了,那紧急的病人可以不等上一个人看完,直接冲到医生的就诊室里,让上一个病人先靠边站,先给紧急的病人看病,等他看完了,上一个看了一半病的病人再继续,上一个病人结束了,叫号系统再看看有没有人来。这种形式的优先级就是中断嵌套,决定是不是可以中断嵌套的优先级,就叫抢占优先级。中断定义:在主程序运行过程中,出现了特定的中断触发条件,这里的中断触发条件就是中断源,使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行。原创 2024-06-01 22:58:23 · 638 阅读 · 0 评论 -
STM32——理解中断与中断配置
比如一老师在教室里面给学生上课,课堂上的学生可能做出各种行为的动作,比如做笔记,打哈欠,翻书包,讲小话等,我们把这些行为统称为事件,其中有些行为老师往往只是视而不见,继续他的上课;类比我们平时生活中的状态,就像社会上有256个人,每个的级别都一样,估计你会眼花缭乱,解决这个问题的办法就是把这256级的中断分类归层,层级内再分子级的分层管理形式,达到压缩层级的效果。编码格式统一是一切的基础。若子优先级也相同,就去比较两个外设的硬件终端编号,即该中断在中断向量表中的位置,同样是编号越小,优先级越高的原则。原创 2024-06-01 22:49:43 · 501 阅读 · 0 评论 -
STM32 TIM输出比较、PWM波形
从上图输出比较通道中可以看到,REF输出之后还有一个极性的配置(图中2部分),所以使用PWM模式1的正极性和PWM模式2的反极性最终的输出是一样的。向下计数的情况下,CNT>CCR时,REF置无效电平,CNT≤CCR时,REF置有效电平。输出模式控制器的输入是CNT和CCR的大小关系,输出的是REF的高低电平,可以选择多种模式控制REF输出。PWM频率:PWM的一个周期始终对应着计数器CNT的一个溢出更新周期,所以PWM的频率就等于计数器CNT的更新频率,PWM频率的计算公式就是计数器的更新频率公式。原创 2024-06-01 22:59:50 · 531 阅读 · 0 评论 -
STM32 配置中断常用库函数
调用这个函数就可以根据这个结构体里的参数配置EXIT外设,初始化EXTI主要用这个函数,使用方法和GPIO_Init一样。if(EXTI_GetITStatus(EXTI_Line14) == SET)//判断所选定的中断标志位是不是为1.这个函数是用来软件触发外部中断的,调用这个函数,参数给一个指定的中断线,就能软件触发一次这个外部中断。//清除中断标志位函数。配置中断,调用这个函数可以配置AFIO的数据选择器,来选择需要的中断引脚。调用这个函数就可以把EXTI的配置都清除,恢复成上电默认的状态。原创 2024-06-01 22:59:03 · 396 阅读 · 0 评论 -
STM32 TIM定时中断设计
时基单元中关键寄存器参数ARR、PSC都有设置,但是这里没有CNT计数器的参数,CNT参数的配置可更具需要在函数 TIM_SetCounter 和函数 TIM_GetCounter 中操作。因为预分频器和计数器都有1个数的偏差,所以PSC和ARR两个值都要再减1,PSC和ARR的取值都要在0~65535之间,不能超范围。第6步:运行控制,整个模块配置完成后,还需要使能一下计数器,不使能计数器,计数器是不会运行的。运行控制,整个模块配置完成后,还需要使能一下计数器,不使能计数器,计数器是不会运行的。原创 2024-06-01 22:56:00 · 256 阅读 · 0 评论 -
STM32 外部中断配置与中断函数设计
可使用GPIO_Init函数,函数具体介绍可见上一篇内容https://blog.csdn.net/Echo_cy_/article/details/134587440?配置AFIO,选择使用这一路GPIO,连接到后面的EXIT.可使用GPIO_EXTILineConfig函数配置AFIO外部中断引脚。在配置中断之前,先使用NVIC_PriorityGroupConfig函数指定中断分组,然后使用NVIC_Init函数初始化NVIC。第三步:配置AFIO,选择使用这一路GPIO,连接到后面的EXIT。原创 2024-06-01 20:02:03 · 382 阅读 · 0 评论 -
STM32 配置TIM定时中断常用库函数
在初始化结构体里有很多关键的参数,如自动重装器的目标值和预分频值等,这些参数可能会在初始化之后还需要更改,以下函数可以方便更改这些关键参数。计数器的预装功能可以根据需要选择配置,调用这个函数,参数选择使能还是失能来控制计数器预装功能。TIM_ExtTRGPrescaler外部触发预分频器,这里可以对ETR的外部时钟再提前做一个分频。获取当前计数器的值,调用这个函数可以查看当前计数器记到哪里了,返回值就是当前计数器的值。给自动重装寄存器写入一个目标值,调用这个函数可以手动给一个目标值。原创 2024-06-01 22:55:26 · 658 阅读 · 0 评论