ARM入门(实现LED流水灯)超简单

        实现效果将LDE2到LED5依次点亮再依次熄灭。点亮LED灯就像我们接触编程语言的第一天输出一个"hello world"一样,这是一个最基础的入门操作。这里我们以点亮LED2的过程进行详细讲解,因其他LED灯的点亮过程都是一样的,所以就不做一一介绍了。

1、首先第一步我们需要在开发板上找到LDE灯的位置,再LED灯的旁边会标注有此硬件元件的名称,图中我们可以看出LED2的名称就叫LED2。

2、打开LED2所在的开发板手册查询LED2接到核心板的什么位置,肉眼查询的化过于麻烦,所以我们可以直接对关键字LED2进行搜索,搜索到的结果会以深色显示,从LED2的位置顺沿向左看,最左端的CHG_COK就是LED2在核心板上所接的管脚。

 3、通过CHG_COK查询查询相应管脚的寄存器(LED的状态都是通过操作相应寄存器实现的),将CHG_COK复制下来打开核心板手册,同样进行搜索操作。从CHG_COK顺沿向左看就可以找到LED2所对应的寄存器GPX2_7,此时的工作已经完成一半了是不是觉得很简单。

 4、配置GPX2_7状态寄存器,此时我们需要打开用户手册对GPX2_7寄存器的相关信息进行查询,打开用户手册直接搜索GPX2CON[7],以下就是GPX2_7寄存器的相应信息。由下图我们需要提取以下信息:基地址、偏移地址、负责相应状态的比特位。

基地址:Base Addrrss:0x110000

偏移地址:0x0c40

        需要操作的地址=基地址+偏移地址,所以就是0x11000c40,负责相应状态的比特位的值:图中显示了该寄存器相应的比特位是28到31位,在后面的Descriptiony一栏中是所需配置的状态,我们需要的是将寄存器配置为使出状态,所以将28到31比特位配置成0x2就行了。

 

         首先先将寄存器的28到31比特位清零LED2CON &(~(0xf<<28)),然后 |(0x1<<28)位将28到31位置为ox2。

 5、配置GPX2DAT数据寄存器为高电平。

        对地址的操作同上,但是此时的问题就是在不知道的前提下我们无法判断是给寄存器的0到7为中的哪一位配置成高电平可以点亮LED灯,所以现在有两种办法解决:1.咨询上游商家  2.一位一位去测试。在这我们就不去测试了凭借经验LED2需要将第7个比特位置为1就可以点亮,相反如果将其置为0就会熄灭,到此我们就完成了对LED2的点亮和关闭操作。

 5、其他灯的操作同理,整个代码如下

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值