码迷,mamicode.com
首页 > 其他好文 > 详细

HttpClient之一:基础知识

时间:2014-05-22 08:03:03      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:stm32   exti   

这里要记录的有点太多了,有点头昏脑胀....先来看看吧

所有的GPIO口都有外部中断的能力,为了使用外部中断线,端口必须设置成输入模式.

输入模式有三种:上拉、下拉、浮空

请看图:

bubuko.com,布布扣


上拉输入模式:区别在于没有输入信号的时候默认输入高电平

下拉输入模式:区别在于没有输入信号的时候默认输入低电平

对于浮空输入模式顾名思义也就是输入什么信号才是什么信号,对于浮空输入要保证有明确的输入信号

例子:

(板子:奋斗V5)

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //上拉					
GPIO_Init(GPIOC, &GPIO_InitStructure);
那它连接的是根外部中断/事件线呢?看看..


bubuko.com,布布扣

很明显,PAx~PGx是连接在EXTIx上的, 所以上面的例子中PC2口连接的是EXTI2线上.有了接受者,就要有中断源头啦

既然我们上面的例子选择了PC2,在奋斗V5板上PC2连接的是KEY2. 所以KEY2就是中断源的触发器了.

当然,我们需要配置寄存器了

bubuko.com,布布扣

因为截图的问题,我这里选择了这个比较好截的.看看STM32F10X参考手册就知道了,主要是配置AFIO_EXTICRx寄存器来选择中断源

配置方法:GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource2);就可以将PC2作为外部输入源了,也就是当KEY1按下去的

时候产生一个跳变时,EXIT2就会检测到这一跳变并产生中断.那它又是怎么检测到兵产生中断的呢? 下面

bubuko.com,布布扣

这里又涉及到了一个概念:中断和事件. 上面说EXIT线, 也就是中断/事件线. 那现在我们从概念上理解下中断和事件

事件:是表示检测到某一动作(电平边沿)触发事件发生了

中断:有某个事件发生并产生中断,并跳转到对应的中断处理程序中

事件可以触发中断,也可以不触发, 中断有可能被更优先的中断屏蔽,事件不会

事件本质上就是一个触发信号,是用来触发特定的外设模块或核心本身(唤醒).
事件只是一个触发信号(脉冲),而中断则是一个固定的电平信号

(多谢http://www.openedv.com/posts/list/2543.htm楼主的解释)

关于这附图的解释可以参考下这篇文章,讲得十分细致易懂:http://blog.csdn.net/flydream0/article/details/8208463

这里作为学习的笔记,我自己就简单的记录下吧,万一那篇文章有天不见了怎么办 T T..

先看看蓝色的中断线的路程:

1:信号进入芯片; 2:检测电路,由上面两个寄存器来指定,如果指定是上升沿的话,那输入信号要是高电平才能通过,下降沿同理;

3:这里是个与门,也就是说软件中断/时间寄存器可以优先于外部触发信号请求一个中断/事件请求. 只要在它的响应位置设‘1‘ 它就会不鸟是否外部信号

与门也会输出个有效信号.

4:一个中断或事件请求信号经过编号3的或门后,进入挂起请求寄存器,到此之前,中断和事件的信号传输通路都是一致的,也就是说,挂起请求寄存器中记录了外部信号的电平变化.

外部请求信号最后经过编号4的与门,NVIC中断控制器发出一个中断请求,如果中断屏蔽寄存器的对应位为"0",则该请求信号不能传输到与门的另一端,实现了中断的屏蔽

如果为‘1‘,那就进入NVIC 进行优先级选择啦

同理可以理解事件了.这就不说了,晚了睡觉去.下篇继续..




HttpClient之一:基础知识,布布扣,bubuko.com

HttpClient之一:基础知识

标签:stm32   exti   

原文地址:http://blog.csdn.net/jediael_lu/article/details/26176787

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!