首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NVIC和EXTI

EXTI:External Interrupt,外部中断,通过GPIO检查输入脉冲,引起中断时间,打断原来的代码执行流程,进入到中断服务函数中进行处理,处理完后再返回中断之前的代码中执行。...STM32 的EXTI控制器支持19个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。STM32的19 个外部中断为 : 线 0~15:对应外部IO口的输入中断。...映射到GPIOx.BITx //自动设置 EXTI->IMR|=1<<BITx;//开启line BITx上的中断 EXTI->EMR|=1<<BITx;//不屏蔽lineBITx上的事件 if(TRIM...&0x01)EXTI->FTSR|=1<<BITx;//lineBITx 上事件下降沿触发 if(TRIM&0x02)EXTI->RTSR|=1<<BITx;//lineBITx 上事件上升降沿触发 }...、EXTI1、EXTI2、EXTI3、EXTI4为Line0~Line4、EXTI15_10为Line15~Line10、EXTI9_5为Line9~Line5。

60830
您找到你想要的搜索结果了吗?
是的
没有找到

【趣学程序】Linux流程语句

linux命令流程语句 if语句linux中可以通过help命令查看if的格式 [root@CentOS6 shell]# help ifif: if COMMANDS; then COMMANDS...then COMMANDS; ]... [ else COMMANDS; ] fi 解释: if 后面跟命令 ; then 如果命令成立,在这里可以在执行命令; [还可以写多个 elif 语句...] [最后也可以写 else 语句] 最终以 fi 结束if语句 代码示例: 打印当前目录,如果正确输出打印ok 如果错误输出 打印error[root@CentOS6 shell]# if ls...doneupuptop趣学程序pyfysf [root@CentOS6 shell]# for(( i = 0; i<=5; i++ )); do echo $i; done012345 while语句...如果不加rm -rf /upuptop 则是死循环 linux中的分割 bash最终的扩展是切割扩展,其通过一个环境变量 IFS 里面定义的分隔符进行分割。默认为空格,制表符,换行符。

60210

Linux Shell 流程控制语句实例

linux shell 有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case)。下面我将通过例子介绍下,各个语句使用方法。...一、shell条件语句(if用法) if语句结构 [if/then/elif/else/fi] if 条件测试语句 then action [elif 条件 action else...action ] fi 如果对于:条件测试语句不是很清楚,可以参考:linux shell 逻辑运算符、逻辑表达式详解 shell命令,可以按照分号分割,也可以按照换行符分割。...while循环使用(while/do/done) while语句结构 while 条件语句 do action done; 实例1: #!...说明:select是循环选择,一般与case语句使用。 以上是shell的流程控制语句,条件,循环,选择。 欢迎讨论交流!

1.1K70

stm32中的串口通信你了解多少

一般最少三个步骤:先使用if语句判断是发生那个中断,然后清除中断标志位,最后给字符串赋值,或做其他事情。   ...:   d) 初始化函数:   void EXTI_Configuration(void)   { EXTI_InitTypeDef EXTI_InitStructure; //EXTI初始化结构定义...= EXTI_Mode_Interrupt;//事件选择   EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;//触发模式   EXTI_InitStructure.EXTI_Line...= EXTI_Line3 | EXTI_Line4; //线路选择   EXTI_InitStructure.EXTI_LineCmd = ENABLE;//启动中断   EXTI_Init(&EXTI_InitStructure...一般最少三个步骤:先使用if语句判断是发生那个中断,然后清除中断标志位,最后给字符串赋值,或做其他事情。   if(EXTI_GetITStatus(EXTI_Line3) !

77821

Linux系统中断的硬件框架

资料下载 coding无法使用浏览器打开,必须用git工具下载: git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git...用来设置GPIO的中断类型,如下图: EXTI可以给NVIC提供16个中断信号:EXTI0~EXTI15。 那么某个EXTIx,它来自哪些GPIO呢?这需要设置GPIO控制器。...,流程如下: 翻译如下: 配置EXTI_IMR:允许EXTI发出中断 配置EXTI_RTSR、EXTI_FTSR,选择中断触发方式 配置NVIC中的寄存器,允许NVIC把中断发给CPU 3.2.3 NVIC...这些,都是在EXTI中配置,EXTI框图如下: 沿着红线走: 1. 设置EXTImux 选择哪些GPIO可以发出中断。...只有16个EXTI中断,从EXTI0~EXTI15;每个EXTIx中断只能从PAx、PBx、……中选择某个引脚,如下图所示: 注意:从上图可知,EXTI0只能从PA0、……中选择一个,这也意味着PA0

4.4K40
领券