广告

Tiny4412开发板学习:裸机开发-按键检测

2022-08-12 10:10:31 DS小龙哥-嵌入式技 阅读:
Tiny4412开发是友善之臂推出的Android、Linux学习开发板,CPU采用三星的EXYNOS4412,32位芯片,属于Cortex-A系列,主频是1.5GHZ,可以运行ubuntu、Android5.0、纯Linux等操作系统。这篇文章就介绍利用这款开发板继续完成按键编程,了解GPIO口基本的输入输出配置。
广告

1. 前言

Tiny4412开发是友善之臂推出的Android、Linux学习开发板,CPU采用三星的EXYNOS4412,32位芯片,属于Cortex-A系列,主频是1.5GHZ,可以运行ubuntu、Android5.0、纯Linux等操作系统。

上篇文章已经介绍过LED裸机编程,完成LED灯控制,这篇文章就介绍利用这款开发板继续完成按键编程,了解GPIO口基本的输入输出配置。

下面是开发板的实物图:

广告

image-20220124143157723

开发板的配置:

image-20220124143510661

2. 按键编程

要完成程序开发,需要先搭建交叉编译环境,安装arm-linux-gcc编译器,上篇文章已经介绍了,这篇就不再重复。

环境搭建好,就得看原理图,了解按键接在CPU的哪个IO口,了解按键是什么电平表示按下,再去看芯片手册,找到对应IO口的配置寄存器,完成GPIO模式配置,最终完成按键检测。

2.1 查看原理图

tiny4412开发板有两个原理图,分别对应底板和核心板,按键是接在底板上,下面就分别打开底板、核心板原理图,找到按键具体的接线位置。

image-20220124150737525image-20220124150829928image-20220124150929792

从原理图里看到,按键一共有4个按键,分别接在GPX3_2 GPX3_3 GPX3_4 GPX3_5 这些GPIO口上。

image-20220124153048304

2.2 查看芯片手册

在芯片手册里找到GPX3这个寄存器的位置。

image-20220124151601954image-20220124151631609

GPX3CON是模式配置寄存器。

GPX3DAT是数据输出输入控制寄存器。

按键是检测外部电平来判断按键是否按下松开,需要配置成输入模式。

2.3 编写按键检测代码

下面代码实现效果: 检测按键是否按下,按键按下后就点亮LED灯,开启蜂鸣器,按键松开就关闭LED灯,关闭蜂鸣器。

/* 蜂鸣器的寄存器---GPD0_0*/
#define GPD0CON   (*(volatile unsigned int *)0x114000A0)
#define GPD0DAT   (*(volatile unsigned int *)0x114000A4)
​
/* LED的寄存器  GPM4_0 1 2 3*/
#define GPM4CON   (*(volatile unsigned int *)0x110002E0)
#define GPM4DAT   (*(volatile unsigned int *)0x110002E4)
​
/* KEY的寄存器 GPX3 2 3 4 5*/
#define GPX3CON   (*(volatile unsigned int *)0x11000C60)
#define GPX3DAT   (*(volatile unsigned int *)0x11000C64)
​
//BEEP---GPD0_0
int main(void)
{
    /*1. 配置GPIO口模式--配置蜂鸣器*/
    GPD0CON&=~(0xF

2.4 烧写程序测试

程序编译之后会生成main.bin文件,将SD卡插入到电脑上,运行程序烧写脚本,执行dd命令,烧写成功后。

拔出SD卡,插在开发板上,选择从SD卡启动,然后按下按键测试效果。

[wbyq@wbyq sd_fuse]$ sudo ./sd_write.sh /dev/sdb ../main.bin 
复制代码

 

image-20220124152745788

在三星官方的手册里写明了,如果使用SD卡,SD卡内部数据该如何存放。上面烧写程序就是安装这个说明编写的代码,使用dd命令将可执行文件烧写到SD卡的对应位置。

如果使用EMMC,就是按下下面的布局:

image-20220124152945070

  • 中国成为最大腕戴设备市场,引领全球增长 腕戴设备市场包含智能手表和手环产品。其中,智能手表市场在2024年前三季度全球出货量1.1亿台,同比下降3.8%;而中国智能手表市场出货量3,286万台,同比增长……
  • 截止2030年,全球蜂窝物联网连接收入将超过 260 亿美元 • 2023 年,全球蜂窝物联网连接数激增 24%,超过 33 亿,到 2030 年将突破 62 亿。 • 尽管中国在 2023 年以 23 亿的连接数规模占据全球蜂窝物联网连接总数的 70%,但其在全球连接收入中的份额仅为 36%。 • 到 2030 年,联网汽车、智能表计和智能零售这三大应用预计将合计占蜂窝物联网应用总市场份额的 60% 以上。 • 到 2030 年,5G 连接将在全球范围内超过 NB-IoT 连接,占物联网连接总收入的近 50%。
  • 为什么翻新机的价格在上涨? • 目前,iPhone在翻新市场中是最热门的商品,并将长期主导着翻新机的平均销售价格。 • 全球翻新机市场持续向高端化发展,其平均销售价格(ASP)现已超过新手机。 • 新兴市场是增长的最大驱动力,消费者对高端旗舰产品有着迫切需求。 • 由于市场固化和供应链的一些问题限制推高中国、东南亚和非洲等大市场的价格。 • 2024年,这些翻新机平均销售价格将首次超过新手机。
  • 2024三季度全球扫地机器人市场出货增长持续,卷势不减 从全球厂商竞争来看,三季度凭借多个新品发布,石头科技市场份额提升至16.4%,连续两季度排名全球第一……
  • AMOLED行业核心模具,精密金属掩膜版国产技术攻克核心瓶颈 AMOLED行业的关键模具FMM及Invar在市场中属于极其细分而品质又要求极高的赛道,传统企业打法在这两个产品上都难以适用。唯有对上下游有深度了解,并能够将产业链技术链条打通,才能够将近似于黑箱中的FMM及其原材料Invar长期受限的困局打破。
  • IDC:2024前三季度中国安全硬件市场规模同比下降2.9% IDC定义下的网络安全硬件市场分别由统一威胁管理 (UTM)、基于UTM平台的防火墙 (UTM Firewall) 、安全内容管理(SCM)、入侵检测与防御 (IDP)、虚拟专用网(VPN)和传统防火墙 (Traditional Firewall) 构成。
  • 预计1Q25 NAND Flash价格将出现超10%下滑 2025年第一季NAND Flash供货商将面临库存持续上升,订单需求下降等挑战,平均合约价恐季减10%至15%。
  • 山东大学团队在高精度存算芯片领域取得新进展 本研究通过设计闪存存算一体架构,有效提升了计算效率和精度,为解决复杂计算任务提供了重要技术支撑。
  • 加速资源整合将是本田与日产合并后的首要任务 日本两大全球汽车集团本田与日产于2024年12月23日宣布启动合并谈判,目标在2025年6月达成协议,三菱汽车也有望加入。若三家车厂顺利合并,当务之急将是整合各自的资源以节省开支,利用规模化生产降低成本,以及加快电动车相关计划......
  • 2024过去了,细数中国工业经济这一年 这一年的成绩单足够亮眼,但来之不易。
广告
广告
热门推荐
广告
广告
广告
广告
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了