关于STM32系列单片机中断触发时间问题

最新更新时间:2022-01-29来源: eefocus关键字:STM32系列  单片机  中断触发 手机看文章 扫描二维码
随时随地手机看文章

       在使用STM32系列单片机的时候,经常要使用到中断,但是STM32参考手册上关于中断只说明了有哪些中断源和中断向量表相关问题。没有具体说明触发中断的信号至少需要多长时间?中断检测到中断源需要多长时间?


       在看 <>这本书的时候,上面提到了这两个问题。于是赶紧记录下来,以备以后需要时查看。

        在权威指南的第74页说明了,ARM Cortex-M3 Cortex-M4内核的单片机中断等待需要12个周期。也就是说触发中断后,需要12个时钟周期,才能被系统识别到,并去处理。假如单片机时钟周期为72Mhz,那么检测中断的周期就为72/12=6MHz。

       中断请求至少要持续一个时钟周期,也就是说如果使用脉冲触发中断时,脉冲的维持时间至少为单片机系统时钟周期的一个时钟周期。假如单片机时钟周期为72Mhz,那么脉冲的持续时间至少为 1/72Mhz=0.01388888888889ms,大约14us左右。


关键字:STM32系列  单片机  中断触发 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic559489.html

上一篇:STM32单片机启动文件startup_stm32f10x_hd.s详解
下一篇:STM32F103单片机modbus通信示例

推荐阅读

利用定时器使单片机输出方波
在P1^0口输出方波。 废话不多说,直接上代码。#include <reg52.h>sbit FB = P1^0;void Init_ET_0()//定时器初始化函数{ TMOD = 0x01;//启用定时器 0 ,工作模式为 模式1 。 EA = 1;//开总中断 ET0 = 1;//开定时器开关 TR0 = 1;//启动定时器 TH0 = (65536 - 500)/256;//给高八位赋初值 TL0 = (65536 - 500)%256;//给低八位赋初值}void Servoce_ET_0() interrupt 1 //定时器服务函数{ TH0 = (65536 - 500)/256;//重装高八位 TL0
发表于 2022-08-11
利用定时器使<font color='red'>单片机</font>输出方波
51单片机外接ADC0808制作简易电压表
main.c#include<reg52.h>#define uchar unsigned char#define uint unsigned int sbit Start = P3^0;sbit EOC=P3^1; //sbit OE=P3^2 ; //uchar code table [] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};//段选uchar code table_SMG [] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};//位选 //------------------------变量区-
发表于 2022-08-11
51<font color='red'>单片机</font>外接ADC0808制作简易电压表
新唐N76E003+GPRS 单片机复位故障排除手记
应用场景GPRS模块采用AIR202/AIR208,电源方案是JW5033;单片机采用新唐N76E003,双串口,18K flash,电源与GPRS的DCDC 即JW5033共用一个5V输入电源。问题描述GPRS联网时或联网成功后收发数据的数据,新唐单片机复位重启。故障排除1、单片机电源前增加电容初步怀疑是供电不足,使用示波器观察后排除此原因,如果真的是供电不足,GPRS模块也应该会同时重启,实际上单片机模块重启时GPRS模块一直正常工作。2、设置单片机P2.0引脚为输入模式而非复位模式将P2.0引脚由复位引脚更改为输入引脚后,故障排除。我的理解是更改为输入引脚后,射频干扰不足以引起单片机复位了,深层次的原因不详。
发表于 2022-08-10
新唐N76E003+GPRS <font color='red'>单片机</font>复位故障排除手记
关于51单片机的地址空间溢出以及解决方法的个人看法(proteus无法仿真)
在51单片机程序编写中,当变量过多而且数据类型过大的话,容易在编译的时候出现以下的问题,具体表现为: *** ERROR L107: ADDRESS SPACE OVERFLOWSPACE: DATA SEGMENT: _DATA_GROUP_LENGTH: 0019HProgram Size: data=130.0 xdata=7 code=3267Target not created.这样子也就是所谓的编译失败,不能生成HEX文件,更加无法烧写到程序中去,那么如何解决这个问题呢,我在网上找到了解法,网上的具体步骤如下:1.先点击这个图标2.在其中的memory model 将small改成compact选项,那么即可编译通过。3
发表于 2022-08-10
关于51<font color='red'>单片机</font>的地址空间溢出以及解决方法的个人看法(proteus无法仿真)
51单片机脉冲信号的计数和LCD显示
设计目标和思路在个人剂量仪开发的过程中,从探头输出的核脉冲信号经过后期放大,成形,滤波以及甄别之后,成为一系列脉冲信号输出,这种脉冲信号由于衰变的随机性,并不是固定频率的脉冲信号。我们本次设计就是针对这种脉冲进形脉冲信号的计数以及在LCD1602显示屏上面的显示。这是C语言的代码部分#include"reg51.h" #include <stdio.h>#include <math.h>#include <string.h>#include <intrins.h>#define uint8_t unsigned char //0-255#define uint16
发表于 2022-08-10
51<font color='red'>单片机</font>脉冲信号的计数和LCD显示
51单片机之74HC138译码器控制数码管进行100s计数
/** I use a timer in my code to control the time I use 138decoder int the hardware**/#include<reg51.h>#define uint unsigned int#define uchar unsigned charsbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;uchar code tab_1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uchar tab_2[2];uchar counter=0,time=0,counter_T
发表于 2022-08-10

推荐帖子

STM32F103RCT6未经许可发送
本帖最后由kpchh于2019-8-2113:56编辑 最近设计了一款核心应用板,是用来替代以前的51的。程序中有USART1通信部分,但需要上位机先发过来,校验正确无误后,STM32F103RCT6才回复。可程序下载后,串口助手一打开串口(连接USART1)就收到STM32F103RCT6发送的看不明白的错误,如下图:能说说这是怎么问题吗? STM32F103RCT6未经许可发送
kpchh ARM技术
利用VHDL语言,在输入系统是中是50M的情况下,如何得到一个60M的时钟?
利用VHDL语言,在输入系统时钟是50M的情况下,如何得到一个60M的时钟? 利用VHDL语言,在输入系统是中是50M的情况下,如何得到一个60M的时钟?
量子阱 FPGA/CPLD
RFID开发 IPJ标签信息识别以及数据存储
1.读写语句如何放在循环当中。close是否会对循环造成影响(不会因为close的是读写文件而不是循环)。2.读写过程中,如何处理打开的txt文件数据覆盖问题。循环多次向txt文本中输入数据,使后一次的数据不覆盖上一次的数据: //将Open改为Append信息则不被覆盖 FileStreamfile=newFileStream("Log.txt",FileMode.Append); FileStreamfile=newFileStream(&quo
Jacktang RF/无线
2410 串口简单问题
我用WINCE5的PROFILE里的TIME2定时器做了切换rs485串口收发的定时器中断,就是在发送完成后,计算FIFO队列,然后得精确中断(在中断中,切换成收的状态) 目前运行还算是正常。 现在发现一个问题,就是在切换后,对于某些做的不是很好的设备来说,会发生早切的现象,然后串口会多收到一个数据 问题来了。对于某些好的设备,他们一旦收完我发的数据后,就会立刻返回,我切换的时间刚好。 对于某些做的差的设备来说,我早切换了,就会多收到一个错误的BYTE数据。 询问:S3C2
ctwolf_ren 嵌入式系统
用寄存器写延时8MS程序
应用89C51,晶振12M写延时8MS程序 4000=0FA0H超出一个8位寄存器所能容纳的范围,所以使用两个寄存器R4、R3分别存放高字节0FH与低字节A0H,但在中断服务子程序中.当R4、R3=0101H,再减1, 则R4、R3=0100H,但实际上程序使R4、R3=0000H,即R4多减一次,所以R4的初始值应加1, HTIME=OFH+1 HTIMEEQUOFH+1 LTIMEEQU0A0H MAIN:ORG00H MOVR4,HITME MOV
yanyong 嵌入式系统
应用技巧/在VC++中用ActiveX控件实现与单片机的串行通信
详细论述在VC++6.0中使用ActiveX控件通过串口与单片机进行二进制数据传输的具体方法。应用技巧/在VC++中用ActiveX控件实现与单片机的串行通信
rain 单片机
小广播
实战 培训 开发板 精华推荐

何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved