LED控制按键实验

基于mini2440开发板,分析了LED、按键、蜂鸣器硬件连接,实现了按键控制LED流水灯和蜂鸣器。通过编写驱动程序,详细介绍了按键中断设置、LED输出模式配置。实验中,按键驱动LED亮起或全灭,通过内核模块加载、设备节点创建等步骤完成操作。
摘要由CSDN通过智能技术生成

基于ARM9开发板mini2440原理图,分析LED、按键、蜂鸣器硬件连接情况,结合设备驱动相关知识,实现了按键控制流水灯、蜂鸣器设备,编写相应的驱动程序,实现一定的功能。
本文是我实现的其中的一个功能:其中一个按键驱动LED亮,一个按键驱动LED全灭。

一、实验分析
由下面两图可以看出每个按键所用到的外部中断分别是EINT8、EINT11、EINT13、EINT14、EINT15、EINT19,所对应的IO口分别是GPG0、GPG3、GPG5、GPG6、GPG7、GPG11。按键对应的CPU管脚GPF0-GPF4都是占两位(如:GPF0[1:0])。按键是一种中断,要想让按键工作在中断模式下,就要设置GPF0-GPF4(GPF3除外)管脚都设置在中断模式下,即为10。对于LED对应的CPU管脚GPB5~GPB8也是占两位。要想让LED工作,就要让LED工作在输出模式下,即对应管脚设置为01.
原理图
二、实验设备与软件环境
1、操作系统:Linux虚拟机、Red Hat Enterprise Linux 6.3。
2、硬件平台:FriendlyARM开发板mini2440。
3、软件:SecureCRT 8.1。
4、内核版本:linux 2.6.32.2。

三、具体操作过程

1.编写button驱动代码:final.c
(1)在/opt /shiyan目录下创建finally文件夹
①在/opt/shiyan目录下右击鼠标打开终端;
②输入“mkdir finally”,创建一个名为finally的文件夹
创建finally文件夹
(2)输入“cd lesson_button”命令,进入lesson_button目录下
(3)输入gedit final.c

执行命令
(4)编写final.c代码(源代码见附录1)
final.c的部分代码截图
2. 进入finally目录下编写Makefile文件
Makefile代码里的内容
3. 在finally目录执行make命令,生成final.ko文件
 生成final.ko文件
4.编辑编译应用程序(源代码见附录2)
(1)在/opt /shiyan/finally目录下编辑应用程序final_test.c

在finally目录下创建final_test.c
final_test.c的部分代码截图
(2)在/opt /shiyan/finally目录下执行arm-linux-gcc button_test.c -o button_test命令

生成final_test文件
5.将生成的final.ko文件和final_test文件发送到开发板上
(1)打开window上的secureCRT软件
(2)连接mini2440开发板,把USB串口接到电脑
(3)输入“rz”命令,添加final.ko文件和final_test文件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值