关于中断请求标志位

2018-07-12 22:02:25编辑:什么鱼 关键字:中断  请求标志位

今天才发现我用了这么长时间的中断服务函数,竟然不知道中断请求标志位到底具体是什么意思~~~悲哀!!!

 

一般就用了定时器中断服务函数,没关心中断请求标志位,今天才发现,原来定时器中断请求标志位就是定时器溢出标志位,定时器溢出时自动跳到相应中断向量处,当主机响应该定时器中断时,该标志位由硬件自动清零。所以,我虽然写了定时器中断服务函数,而没操作定时器溢出标志位,程序还能运行,是因为单片机自己把这事儿给办了~~是典型的瞎猫碰到死老鼠

 

对于外部中断,其中断请求标志位跟定时器溢出标志位相似,都是主机相应中断后自动硬件清零,所以,也不必考虑需要不需要软件清零

 

串行口中断就不一样了,它分为发送中断标志位和接受中断标志位,在方式0中,当发送完或者接受完第八位数据后,由硬件置位,而其他工作方式下,(发送时)当发送停止位前或者(接收时)当接受到停止位的中间时刻由硬件置位。标志位置位象征着一帧数据的操作完成,继而转到中断服务函数,但是,这些标志位不能由硬件清零,只能用软件清零。

 

其他扩展的单片机,还有N多可以产生中断的功能,如果写中断服务函数,就要看清楚这些中断标志位了,看下到底需要不需要软件清零,需要软件清零但是不软件清零的,可能就要死在终端服务函数中了~~~~~~应该是吧,至少我这么理解


关键字:中断  请求标志位

来源: eefocus 引用地址:http://www.eeworld.com.cn/mcu/2018/ic-news071240278.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:MSP430G2553 WDT的NMI中断例子
下一篇:MSP430G2553 串口通信

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

C51、STM32和S3C2440中断体系的比较

/* 名称:C51、STM32和S3C2440中断体系的比较 说明:对于这三个芯片的中断体系来说,就我目前了解的, 我说:差不多。这里说的差不多,是中断的本质上差不多,都是首先中断源提出申请(比如触发了外部中断,定时器中断等),然后经过中断源屏蔽寄存器,再然后中断优先级的比较,最后CPU相应中断。(我去,这好像又回到了计算机组成原理啊)。不同的是细节,C51作为低级一点的芯片,其中断少,中断能达到的功能也少,相对来说较为简单些(无论是设计还是具体使用)。而STM32和S3C2440来说,其提供的功能较多,设计起来和使用起来要复杂的多(使用的时候得配置好多好多寄存器)。目前总结的,差不多就是这些吧。*/
发表于 2018-07-21 14:40:54

ARM学习之中断体系结构

今天下午和晚上研究了一直在研究s3c2410中断体系结构,虽然以前老师上课也接触过,考试也考过,但仔细研究起来,还是有不少收获的。现记述如下:1.什么是中断? 答:中断是CPU保证并发程序的一种机制。它使得CPU在执行程序的时候能够响应异常的情况发生。 其实,在CPU在运行的过程中,如何知道各类外设发生了某些没预期的事,比如说串口接受到了数据、USB接口中插入了设备、按下了某个按键。有两种方法,一个是前面所说的中断、另一个就是轮询方式。(就是不断的while循环查询)。从某种程度上说,这两种方式其实是一样的。前者是把查询的时间跨度缩小到每条指令执行结束后,即当某事件发生时,硬件会设置某个寄存器;CPU在每执行完
发表于 2018-07-21 12:21:44

STM32之LED按键中断

****************************************************************************************************************************************前言:本文主要是通过按键中断,实现当按下按键时,LED灯灭,释放按键时,LED灯亮。(不过我设置LED的起始状态为亮,也就是上电就点亮了LED灯。)下面看main.c#include "stm32f10x.h"#include "led.h"#include "exti.h"  int main(void) {     init_led_gpio();  turn_led(LED1,ON);    /*exti line
发表于 2018-07-21 11:48:43

STM32学习之路-按键中断测试(外部中断)

终于有时间再来学习STM32了~ 这几天都在忙着该死的考试.直接进入正题开发板:奋斗V5这个按键中断测试的要求是:按键2(K2)按下,LED2(V7)亮, 再一次按下就灭,循环..好,先看看按键和LED的原理图 好吧~ 虽然图截得不是很好看,但是能看到K2接的是PC2, LED2接的是PD6ok,剩下的就是配置工作了.. 先来理一理思路:(1)初始化系统时钟(2)初始化外部时钟(你所用到的东西)(3)配置LED(4)配置中断优先级(5)配置外部中断线(6)中断处理函数恩,差不多就是这样了..然后再来一条一条的看:(1)和(2)都属于RCC配置,可以放在一个功能模块里面:<pre name="
发表于 2018-07-21 11:16:37

STM32 实战 按键点亮LED(中断)

来看看最简单的点亮一个灯的实验你把,实验要求使用KEY4*4按键,按键按下灯亮,按键拿起灯灭,如此一直循环:程序的思路如下:1、首先需要设置的是时钟:你将灯的管脚连在哪个端口的某个引脚上面,你就开启哪个端口的时钟,比如灯连在A端口的某个引脚,就要开启A端口的时钟。2、其次,设置管脚(我们要设置LED和矩阵键盘中的一个键的管脚): 我们需要对GPIO进行初始化设置,我们只需调用 GPIO_InitTypeDef的结构体,对每个成员进行设置,要设置的有PIN管脚的位置GPIO_Pin,还有管脚的速率GPIO_Speed,还有管脚的工作状态GPIO_Mode,最后在调用一下初始化的函数GPIO_Init,3、然后就开始写我们的主函数:假如
发表于 2018-07-21 11:12:53

外部中断实现LED灯的控制亮灭

#include"reg52.h"typedef unsigned char u8;typedef unsigned int u16;sbit led=P2^0;sbit k4=P3^3;//外部中断1void delay(u16 i){while(i--);}void zhongduan(){        EA=1;//总中断打开EX1=1;//外部中断1打开IT1=1;//外部中断1选择低电平触发}void main(){zhongduan();//调用中断函数while(1);}void zhong() interrupt 2//外部中断服务函数{delay
发表于 2018-07-21 11:06:44

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved