查阅数据手册可知,GPJ0相关的寄存器有以下: GPJ0CON, (GPJ0 control)GPJ0控制寄存器,用来配置各引脚的工作模式 GPJ0DAT, (GPJ0 data)当引脚配置为input/output模式时,寄存器的相应位和引脚的电平高低相对应。 GPJ0PUD, (pull up down)控制引脚内部弱上拉、下拉 GPJ0DRV, (driver)配置GPIO引脚的驱动能力 GPJ0CONPDN,(记得是低功耗模式下的控制寄存器) GPJ0PUDPDN (记得是低功耗模式下的上下拉寄存器) 注:在驱动LED点亮时,应该将GPIO配置为output模式。 实际上真正操控LED的硬件,主要的有:GPJ0CON, GPJ0DAT 这么2个。 如何点亮LED,编程的步骤是: 1、操控GPJ0CON寄存器中,选中output模式 2、操控GPJ0DAT寄存器,相应的位设置为0 一步步点亮LED3_从零开始手写汇编点亮LED GPxCON、GPxDAT寄存器分析 GPJ0端口一共有8个引脚,分别记住:GPJ0_0 ~ GPJ0_7,相关重要寄存器就是GPJ0CON和GPJ0DAT GPJ0CON寄存器中设置8个引脚的工作模式(32/8=4,每个引脚可以分到4位,譬如GPJ0_0对应的bit位为bit0~bit3,GPJ0_3对应的位为bit12~bit15。工作方法是:给相应的寄存器位写入相应的值,该引脚硬件就会按照相应的模式去工作。譬如给bit12~bit15写入0b0001,GPJ0_3引脚就成为输出模式了) 从零开始写代码操作寄存器 需要哪些先决条件才能写呢? 1. 硬件接法和引脚:GPJ0_3 GPJ0_4 GPJ0_5 低电平亮/高电平灭 2. GPJ0CON(0xE0200240)寄存器和GPJ0DAT(0xE0200244)寄存器 3. 工程管理:Makefile等 根据以上分析,我们就知道代码的写法了,代码所要完成的动作就是: 把相应的配置数据写入相应的寄存器即可。 编译、下载、运行看结果 编译时用我们的工程管理,直接make编译得到led.bin和210.bin 下载运行可以用usb启动dnw下载;也可以用sd卡烧录下载,根据自己的情况用 一般都用usb下载,因为方便。如果电脑主板插上dnw会死机没法解决,那只有sd卡下载启动了。 注意:开发板上按下电源键之后4颗LED默认都是半亮的,当我们下载程序后其中3颗变的很亮,这说明我们的程序已经运行了。 总结和回顾(软件控制硬件思想、寄存器意义、原理图数据手册的作用) 软件到底是怎么控制硬件的?为什么程序一运行硬件就能跟着动? 软件编程控制硬件的接口就是:寄存器
|