一.前言 通过上次的学习,我们学习了如何用按键控制led,但是在实际应用中,这种查询方式占用了cpu的时间,如果通过中断控制就可以解决这个问题,我们今天就来学习按键控制的中断方式。 二.原理分析 传统的51单片机如果要使用中断,也要对相应的寄存器进行控制 ...
何为按键中断 在了解按键中断之前,我们先来了解一下什么是中断 中断就是程序执行当前代码,当前任务的时候 突然有自身函数或外部的影响,而使程序执行到别的任务再回来。 举个栗子: 当你在做饭的时候,电话突然响了,这时候你只能停下当前做饭的动作,去执行听电话的动作 同理,当你的程序要打印一句很长很长的话,突然有个中断出来,你要去执行那个中断,那个中断 可能是算一个数,也可能是让你程序复位程序执行 中断优 ...
2019-01-15 21:20 0 923 推荐指数:
一.前言 通过上次的学习,我们学习了如何用按键控制led,但是在实际应用中,这种查询方式占用了cpu的时间,如果通过中断控制就可以解决这个问题,我们今天就来学习按键控制的中断方式。 二.原理分析 传统的51单片机如果要使用中断,也要对相应的寄存器进行控制 ...
前言 上一篇介绍了CC2530的IO的基础知识,并用LED的控制来展示如何配置并控制GPIO的输出,用KEY状态的读取实验来展示如何读取GPIO的状态。从上一节的KEY状态读取的代码看出是采用轮训方式的,这种方式是很浪费资源,本节将介绍一种中断方式来替换轮训的方案 ...
在读者学习本章以及后续章节之前,最好拥有中断裸机基础,可以参考:中断编程。 一、内核中断分析 通过裸机系列的学习,我们可以知道异常的触发分为下面几个过程: 1. 在规定地址设置异常向量表 2. 保存各种寄存器的值(保存现场) 2. 执行异常处理函数(处理现场) 3. 恢复 ...
一.前言 通过前一次的实验,相信大家都已经对cc2530程序的编写有了一定的认识,这次我们来操作和实验的是cc2530上的按键模块。 二.原理分析 我们先来看一下按键的原理图: 根据原理图我们可以得出,按键不按下的时候值为0,因为接地,所以,按键要被按下的时候,BUT1 ...
初始准备 初始化串口 初始化Tx、Rx对应的GPIO引脚 设置1个停止位,8位数据位 发送和接收都是polling 禁止modem、afc 波特率设置 初始化按键中断(在key.c中:以中断方式处理按键) 外部中断对应的GPIO设置 中断触发模式 中断允许 ...
当把按键设为外部中断时,存在按键抖动问题: 一种情况是没有按按键的时候,按键有时也会因为震动等原因误触发按键事件,引起程序误判。对于这种按键抖动,解决方式有: 并上一个小电容(比如0.1uF)即可 ...
一.前言 通过上次的实验,我们已经学会了定时器3的中断方式,这次,我们来看看定时器1通过中断怎么控制。 二.原理分析 定时器1的初始化跟前面提到的一样,也是要配置寄存器T1CTL,还要进行开中断的操作,由T1IE和EA控制。 三.程序 #include < ...
本文是自己学习zigbee时的知识梳理。 参考书:《ZigBee技术与实训教程--基于CC2530的无线传感网技术》----姜仲、刘丹 编著 Z-stack中提供了两种方式采集按键数据:轮询方式和中断方式。轮询方式:每隔一定时间,检测按键状态,进行相应处理;中断方式:按键引起按键中断,进行 ...