实现效果将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、其他灯的操作同理,整个代码如下
文章来源:https://www.toymoban.com/news/detail-409559.html
文章来源地址https://www.toymoban.com/news/detail-409559.html
到了这里,关于ARM入门(实现LED流水灯)超简单的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!