一、实验目的
通过本次实验,使学生能够进一步通过GNU交叉编译环境实现S5PV210平台的裸机编程,具备编程实现利用中断完成对相关外设的操作能力。
二、实验原理
实验板中共有4个用户按键,其中按键 KEY1 的原理图如下,其余三个按键的原理图与
KEY1 的相似。
首先配置 GPJ2_0/1/2/3 引脚为输出功能以及配置 GPH2_0/1/2/3 引脚为输入功能,然后使用轮询的方式不断的读 GPH2_0/1/2/3 引脚的值,当检测到某个按键被按下时,
即对应的引脚为低,此时我们点亮对应的 LED,否者让 LED 保持熄灭的状态。
三、实验步骤、数据记录及处理
编译代码,在 Fedora 终端执行如下命令:
下面展示一些 内联代码片
。
# cd 9.key_led
# make
在 9.key_led 目录下会生成 key_led.bin,我们将其烧写到开发板中。
使用 MiniTools 烧写到 DRAM。点击“下载运行”,MiniTools 会把裸机程序下载到 DRAM 然后跳转运行,立马就可以观察
到程序的运行效果。
四.实验现象
未按下任何按键时,所有 LED 保持熄灭状态。当按下按键 KEY1 时,LED1 被点亮,松开按键KEY1时,LED1 熄灭。对于其余 3 个按键,也是相同情况。
五.实验总结
通过这次实验,通过GNU交叉编译环境实现了S5PV210平台的裸机编程,了解了中断的一些基本知识,实现了对LED灯按键熄灭的操作,具备了编程实现利用中断完成对相关外设的操作能力。