当前位置: 首页 > news >正文

旅游网站建设方案简介网络运营者应当制定网络安全事件

旅游网站建设方案简介,网络运营者应当制定网络安全事件,吕梁网页制作公司,南京软件外包1.EXTI简介 EXTI是External Interrupt的缩写,指外部中断。在嵌入式系统中,外部中断是一种用于处理外部事件的机制。当外部事件发生时(比如按下按钮、传感器信号变化等),外部中断可以立即打断正在执行的程序&#xff0…

1.EXTI简介

EXTI是External Interrupt的缩写,指外部中断。在嵌入式系统中,外部中断是一种用于处理外部事件的机制。当外部事件发生时(比如按下按钮、传感器信号变化等),外部中断可以立即打断正在执行的程序,转而执行一个特定的中断服务程序(ISR),以响应和处理外部事件。

在大多数嵌入式系统中,外部中断可以配置为上升沿触发、下降沿触发、高电平触发、低电平触发等不同的触发方式,以适应不同的外部事件类型。外部中断通常用于实时性要求较高的应用,如实时控制系统、传感器数据采集等。

在使用外部中断时,需要了解具体的硬件平台和编程语言的相关知识,以确保正确地配置和处理外部中断。

2.EXTI功能框图讲解

 首先,中断源从输入线进入,总共有20根中断/事件线,每一条线对应着PXx,例如EXTI0的输入源可以是PX0(X为A、B、C、D、E、F、G、H、I),因为GPIO端口有16个,所以x的取值在0-15,EXTI16的输入源是PVD输出,EXTI17的输入源是RTC闹钟事件,EXTI18的输入源是USB唤醒事件,EXTI19的输入源是以太网唤醒事件(只适用互联型)。

通过外部中断配置寄存器1(AFIO_EXTICR1)配置来选择输入线,每一个EXTIx有四个位,可以选择16个GPIO端口。

 

选择输入线和输入源后进入边缘检测电路 ,边缘检测电路通过寄存器上升沿触发选择寄存器(EXTI_RTSR)和下降沿触发选择寄存器(EXTI_FTSR)选择触发方式。

通过配置的触发方式,边缘检测电路输出“1”给到或门,然后另一个输入由软件中断事件寄存器输入,当软件中断事件寄存器相应位为’0’时,写’1’将设置EXTI_PR中相应的挂起位,是否相应中断请求由后面的总开关中断屏蔽寄存器(EXTI_IMR)决定,这样或门输入两个“1”,或门也输出“1”,将这个“1”输入给请求挂起寄存器就是中断,输入给与门就是事件,然后请求挂起寄存器输出“1”给与门,然后中断屏蔽寄存器(EXTI_IMR)对应位置“1”,开放来自线x的中断请求,与门输出“1”给到NVIC中断控制器,NVIC在内核中,由内核响应这个中断,内核就会去查找相应的中断服务函数ESR。

3.GPIO中断实例

3.1.初始化GPIO 

 通过原理图查看按键对应的GPIO端口

通过原理图可以知道按键SW2连接的是GPIO的PA0,那么我们需要初始化PA0,并且将PA0连接到EXTI0。

初始化GPIO

  GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA, &GPIO_InitStructure);

3.2.初始化EXTI用于产生中断/事件

 初始化EXTI方法和初始化GPIO相似,首先打开系统时钟,然后选择输入线,通过函数GPIO_EXTILineConfig()配置,接着通过EXTI_InitTypeDef结构体定义一个变量,通过这个变量配置EXTI的输入线、模式、触发方式,然后将配置的结构体变量的地址传递给初始化EXTI函数EXTI_Init()。

    EXTI_InitTypeDef EXTI_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);EXTI_InitStructure.EXTI_Line = EXTI_Line0;EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure);

3.3.初始化NVIC

 初始化NVIC和初始化GPIO和初始化EXTI相似,都需要通过定义结构体变量去配置相应参数。首先定义结构体变量NVIC_InitStructure。然后设置中断优先级级分组,通过函数NVIC_PriorityGroupConfig(),有5个组

没个组有主优先级和次优先级,我们配置中断优先级的时候stm32使用了四个位,当主优先级只是用0位时,取值就是0,次优先级就使用四个位,取值就是0-15。同理,当主优先级只是用1位时,取值就是0-1,次优先级就使用3个位,取值就是0-7,以此类推。然后通过定义的结构体变量配置中断源,抢占优先级,子优先级。注意这里的中断源配置,如果是GPIO0-4都是单独的EXTIx_IRQn,但是如果你说4以后的端口,就会使用到EXTI9_5_IRQn和EXTI15_10_IRQn。然后将配置的结构体变量的地址传递给初始化NVIC初始化函数NVIC_Init()。

    NVIC_InitTypeDef NVIC_InitStructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);

3.4.编写中断服务函数

 通断服务函数都放在stm32f10x_it.c这个文件里面,中断服务函数的名字已经定义好了,放在startup_stm32f10x_hd.s文件的向量表中。通过if语句判断函数EXTI_GetITStatus()的返回值来判断是否产生中断,如果产生中断EXTI_GetITStatus()返回值位1。通过宏定义LED_G_TOGGLE

#define LED_G_TOGGLE     {GPIOB->ODR ^= GPIO_Pin_0;}

通过控制端口输出数据寄存器ODR异或运算控制LED交替,异或运算符与1异或改变,与0异或不变。为了防止一直在中断里面,最后需要清除中断位,通过函数 EXTI_ClearITPendingBit()。

void EXTI0_IRQHandler(void)
{if(EXTI_GetITStatus(EXTI_Line0) != RESET){LED_G_TOGGLE;}EXTI_ClearITPendingBit(EXTI_Line0);
}

3.5.main函数

 最后,通过main函数调用前面写的函数

int main(void)
{LED_GPIO_RCC();LED_GPIO_Config();EXIT_Key_Config();while(1){}
}

http://www.yayakq.cn/news/159096/

相关文章:

  • 中国建设资格注册中心网站一起做财经网站
  • 网站怎么做是满屏html编辑器 app
  • 无忧网站模板蜜雪冰城网络营销推广方案
  • 开一个网站需要什么手续wordpress接入公众号
  • html教学网站找深圳网站建设
  • cpa个人网站怎么做新余建网站
  • 买空间的网站好徐州人才网档案查询
  • 浙江建设厅网站施工员报名视频直播网站建设
  • 企业网站建设方案教程百度浏览器手机版
  • php做网站后台教程云商城在线下单
  • 人像摄影网站十大排名网站怎么做认证吗
  • 网站建设xiduyun扫一扫查价格
  • 网站建设哪个公司做得好些装修加盟好项目
  • 长沙市建设发展集团有限公司网站深圳免费做网站
  • 网站开发一般有那些语言网站建设维护职责
  • 秦皇岛手机网站制作公司徐州网站建设要多少钱
  • 网站建设公司工作室电脑端网页设计尺寸
  • 中联汇科 网站建设wordpress 页面和菜单
  • 在地税网站怎么做税种认定seo自动优化软件下载
  • 成都网站优化排名做网站卖机器怎么弄
  • 保定企业建站系统模板做网站什么分类流量多
  • 做网站纸张大小php宠物用品公司网站源码
  • 如何做印刷报价网站昆明做网站找天度
  • 怎么做网站内部链接的优化静态网站开发课程相关新闻
  • 有哪个网站可以做链接做商城网站哪里
  • 网站秒收录九九9九九9视频在线观看
  • 枣庄有做网站的吗谷歌网页翻译
  • 阿丰 做网站做哪类英文网站赚钱
  • 购物网站运作html怎么写
  • 电影网站模板哪个网站做网上旅社预定