TQ2440开发板-按键驱动程序设计

news2024/11/24 20:51:40

目录

  • 按键测试底板原理图
  • 核心板原理图
  • 使用轮询方式设计按键程序

按键测试底板原理图

  • TQ2440开发板有4个用户可编程按键,它们直接与CPU的GPIO相连,低电平触发中断,资源占用如下图所示:

在这里插入图片描述

核心板原理图

在这里插入图片描述

使用轮询方式设计按键程序

  • 按一次点亮一个LED。
  • 首先,我们需要将GPIO配置为输入模式,然后通过轮询方式读取按键状态,根据按键状态来点亮相应的LED灯。
int Wait_key(void);
void key_init(void);
void Led1_run(void);
void Led1_init(void);

void delay(int times)
{
	int i;
	for(;times>0;times--)
		for(i=0;i<400;i++)
		{
		}
}

int Wait_key(void)
{
	/*如果按键1被按下*/
	if(!(rGPFDAT & 0x1))
	{
		delay(200);
	}
	if(!(rGPFDAT & 0x1))
	{
		while(!(rGPFDAT & 0x1));
		/*按键1被按下*/
		return 1;
	}
	else
		/*按键1没有被按下*/
		return 0;
}

void key_init(void)
{
	rGPFCON &= ~(3<<0);
}

void Led1_init(void)
{
	rGPBCON &= ~(3<<10);
	rGPBCON |=  (1<<10);
}

void Led1_run()
{
	rGPBDAT &= ~(1<<5);
	delay(1000);
	rGPBDAT |=  (1<<5);
	delay(1000);
}

int main(void)
{
	Led1_init();
	while(1)
	{
		if(Wait_key())
			Led1_run();
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1297069.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

web前端实现LED功能、液晶显示时间、数字

MENU 效果演示html部分JavaScript部分css部分 效果演示 html部分 <div id"app"><!-- 页面 --><div class"time-box"><!-- 时 --><div class"house-box"><bit-component :num"houseTem"></bit…

Mabatis处理异常屏蔽SQL返回前端全局异常捕获处理

文章目录 Mabatis处理异常屏蔽SQL返回前端全局异常捕获处理结论1 java异常体系2 Spring框架异常处理3 定位Spring框架转化为哪种unchecked异常3.1 捕获RuntimeException定位Spring框架转化抛出的异常类3.2 进一步查看包名判断3.3 识别MyBatisSystemException下级实现3.3 识别My…

2、关于使用ajax验证绕过(实例2)

ajax原理我上一篇有写过&#xff0c;参考&#xff1a;1、关于前端js-ajax绕过-CSDN博客 一、实例环境&#xff1a; 为手机上的某一割韭菜app 二、目的&#xff1a; 实现绕过手机验证码&#xff0c;找回密码 三、工具&#xff1a; bp代理 四、验证步骤如下&#xff1a; …

AI仿写软件大全,当然热门的仿写软件

在创作过程中&#xff0c;往往需要大量的灵感和原创性&#xff0c;而AI仿写软件便提供了一种高效、智能的解决方案。本文旨在专心分享AI仿写软件有哪些&#xff0c;并为大家解析哪几款好用的AI仿写软件。 AI仿写的使用 随着互联网的快速发展&#xff0c;内容创作需求不断增长&…

linux-man命令的使用及练习

目录 1. 命令概述 2. 使用 3. 练习 ?man services时报错&#xff1a;No manual entry for services的解决办法 4. man命令中常用按键以及用途 1. 命令概述 Linux提供了丰富的帮助手册&#xff0c;当你需要查看某个命令的参数时不必到处上网查找&#xff0c;只要man一下即…

基于JAVA+SpringBoot+Vue的前后端分离的旅游网站

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 近年来&#xff0c;随…

智能优化算法应用:基于袋獾算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于袋獾算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于袋獾算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.袋獾算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

Git 请输入一个提交信息以解释此合并的必要性

操作方法&#xff1a;按住Ctrl加下面的某个字母

Realme GT5Pro ROOT 解锁BL教程

Realme GT5Pro 解锁ROOT教程 前言&#xff1a; 本文解锁BL教程及深度测试APP来自Realme官方社区。流程已进行简化&#xff0c;工具由本人制作并提供&#xff0c;降低上手难度&#xff0c;傻瓜式操作&#xff08;工具长期免费更新&#xff09;。 正文&#xff1a; 准备活动&am…

达梦数据库dm8守护集群部署手册

环境说明 操作系统&#xff1a;liunx-centos7.6 服务器&#xff1a;3台虚拟机&#xff08;主备数据库各一台&#xff0c;监视器一台(可选)&#xff09; 达梦数据库版本&#xff1a;达梦V8 一、安装前准备工作 参考达梦官方文档&#xff1a;https://eco.dameng.com/documen…

(2)(2.4) TerraRanger Tower/Tower EVO(360度)

文章目录 前言 1 安装传感器并连接 2 通过地面站进行配置 3 参数说明 前言 TeraRanger Tower 可用于在 Loiter 和 AltHold 模式下进行目标规避。传感器的最大可用距离约为 4.5m。 TeraRanger Tower EVO 可用于在 Loiter 和 AltHold 模式下进行目标规避。传感器的最大可用…

智能优化算法应用:基于法医调查算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于法医调查算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于法医调查算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.法医调查算法4.实验参数设定5.算法结果6.参考…

爱上 `grep`:小白也能用的命令行超能工具!

1. grep 简介 grep 是一款命令行工具&#xff0c;它的任务是在文件中搜索特定的文本模式。在 Windows 上&#xff0c;我们可以通过安装 Chocolatey 包管理器来安装 grep。 2. 在 Windows 上安装 grep 打开 Windows PowerShell 首先&#xff0c;我们需要确保你已经安装了 Cho…

学生护眼灯哪个牌子好?适合学生考研用的台灯推荐

不知道各位家长们有没有对孩子的视力健康关注过&#xff0c;如今中国近视的总人数接近6亿人口&#xff01;而我国儿童青少年近视比率更是超过了一半&#xff0c;达到了52.7%的近视率&#xff0c;也就是说每十个儿童青少年中就有五个是存在视力问题的。其中很大的原因就是长时间…

cache教程 3.HTTP服务器

上一节我们实现了单机版的缓存服务&#xff0c;但是我们的目标是分布式缓存。那么&#xff0c;我们就需要把缓存服务部署到多态机器节点上&#xff0c;对外提供访问接口。客户端就可以通过这些接口去实现缓存的增删改查。 分布式缓存需要实现节点间通信&#xff0c;而通信方法…

SQL Server 2017数据库window server服务器改名操作

在window服务器修改机器名重新加域后&#xff0c;需要执行下面的SQL语句修改数据库里面记录的机器名字&#xff0c;才能在修改后通过新名字连接数据库。 if serverproperty(servername) <> servername begin declare server sysname set server ser…

深入理解Dubbo-3.高级功能剖析和原理解析

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码、Kafka原理、分布式技术原理&#x1f525;如果感觉博主的文章还不错的话&#xff…

Halcon读取图片

1.打开对话框读取单张图 dev_open_file_dialog 2.图像显示不全 解决方案&#xff1a; HOperatorSet.SetPart(HTuple windowHandle, HTuple row1, HTuple column1, HTuple row2, HTuple column2) windowHandle:窗体 HTuple row1, HTuple column1,&#xff1a;左上角的行列坐…

imazing正在查找最新的apple mobile device组件

​ Apple Mobile Device是macOS的一个组件&#xff0c;它允许您在Mac上与iOS设备进行无缝连接和通信。因此&#xff0c;无法直接在苹果设备上下载和安装Apple Mobile Device&#xff0c;需要借助管理工具进行下载安装后启动。 如果您需要与iOS设备进行通信和同步&#xff0c;…

前端canvas的基础使用

一、介绍 前端中的 Canvas 是一种用于在网页上绘制图形的 HTML 元素。它提供了一个可以通过 JavaScript 进行绘制的 2D 绘图环境。使用 Canvas&#xff0c;您可以绘制图形&#xff0c;包括线条、矩形、圆形、文本和图像。Canvas 为开发人员提供了灵活自由的绘图能力&#xff0…