您的位置 首页 电子

关于stm32的外部中止与事情的概念

最近在写stm32基础库的时候,发现了一个问题,就是外部中断里,有一个事件寄存器,一直没有明白是干什么用的。网上查了一下,写个总结。主

最近在写stm32根底库的时分,发现了一个问题,便是外部中止里,有一个事情寄存器,一向没有了解是干什么用的。网上查了一下,写个总结。

首要的讲,便是在不进入到中止函数的情况下,触发其他的操作。比方,我期望在外部中止的时分,去收集ad。那么其他单片机的做法是,在中止函数中写入adc收集。而在这儿,只需求将事情寄存器置位,然后在其他外设寄存器中设置即可。这样设置,当外部中止被触发时,则能够不必在中止函数中处理adc。直接由事情来驱动adc收集。


这张图是一条外部中止线或外部事情线的示意图,图中信号线上划有一条斜线,周围标志19字样的注释,表明这样的线路共有19套.图中的蓝色虚线箭头,标出了外部中止信号的传输途径,首要外部信号从编号1的芯片管脚进入,通过编号2的边缘检测电路,通过编号3的或门进入中止挂起恳求寄存器,最终通过编号4的与门输出到NVIC中止检测电路,这个边缘检测电路受上升沿或下降沿挑选寄存器操控,用户能够运用这两个寄存器操控需求哪一个边缘发生中止,因为挑选上升沿或下降沿是分别受2个平行的寄存器操控,所以用户能够一起挑选上升沿或下降沿,而假如只要一个寄存器操控,那么只能挑选一个边缘了.

按下来是编号3的或门,这个或门的另一个输入是软件中止/事情寄存器,从这儿能够看出,软件能够优先于外部信号恳求一个中止或事情,即当软件中止/事情寄存器的对应位为”1″时,不论外部信号怎么,编号3的或门都会输出有用信号.

一个中止或事情恳求信号通过编号3的或门后,进入挂起恳求寄存器,到此之前,中止和事情的信号传输通路都是共同的,也便是说,挂起恳求寄存器中记录了外部信号的电平改变.

外部恳求信号最终通过编号4的与门,向NV%&&&&&%中止操控器宣布一个中止恳求,假如中止屏蔽寄存器的对应位为”0″,则该恳求信号不能传输到与门的另一端,完结了中止的屏蔽.

了解了外部中止的恳求机制,就很简略了解事情的恳求机制了.图中赤色虚线箭头,标出了外部事情信号的传输途径,外部恳求信号通过编号3的或门后,进入编号5的与门,这个与门的效果与编号4的与门相似,用于引进事情屏蔽寄存器的操控;最终脉冲发生器的一个跳变的信号转变为一个单脉冲,输出到芯片中的其它功能模块.从这张图上咱们也能够知道,从外部鼓励信号来看,中止和事情的发生源都能够是相同的.之所以分红2个部分,因为中止是需求CPU参加的,需求软件的中止服务函数才干完结中止后发生的成果;可是事情,是靠脉冲发生器发生一个脉冲,进而由硬件主动完结这个事情发生的成果,当然相应的联动部件需求先设置好,比方引起DMA操作,AD转化等;
简略举例:外部I/O触发AD转化,来丈量外部物品的分量;假如运用传统的中止通道,需求I/O触发发生外部中止,外部中止服务程序发动AD转化,AD转化完结中止服务程序提交最终成果;要是运用事情通道,I/O触发发生事情,然后联动触发AD转化,AD转化完结中止服务程序提交最终成果;相比之下,后者不要软件参加AD触发,而且响应速度也更块;要是运用事情触发DMA操作,就彻底不必软件参加就能够完结某些联动使命了。

总结:

能够这样简略的以为,事情机制供给了一个彻底有硬件主动完结的触发到发生成果的通道,不要软件的参加,降低了CPU的负荷,节省了中止资源,提高了响应速度(硬件总快于软件),是使用硬件来提高CPU芯片处理事情才能的一个有用办法;

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/dianzi/318739.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部