实验结果
下载程序后,可以看到连接在 PG0口的 LED 灯不停的闪烁,其他 LED 熄灭。
知识要点及提问
1. #define LED0 PG0,这是一个宏定义,以后只要使用到PG0的地方都可以用LED0替换,这样增强了程序的可读性,PG0是在头文件defBF59x_base.h中定义的,PG0 = 0x0001。
2.该程序对IO口操作使用的是直接对这个IO对应的数据寄存器进行操作的。
3.程序中对IO口操作一般都是用与非(&~)或者或(| )操作,这样的好处是在对一个寄存器某一位操作的时候不会影响到其他的位,在以后的程序集成中有很大的用处,如:
*pPORTGIO &= ~LED0; 只让PORTG端口的PG0变低,其它的位保持不变
*pPORTGIO |= LED0; 只让PORTG端口的PG0变高,其它的位保持不变
4.在这个工程中,我们看到有三个程序文件“cpu.c,cpu.h,main.c”,当然,我们也可以把这三个文件合并成一个文件,但是那样会让程序变的很乱,所以我们一般将同一类的函数都放到一个文件中,然后建立一个相同文件名的.h的头文件,把函数都在头文件里声明一下,然后在需要使用的地方把这个头文件包含进去,就比如图中#include "cpu.h",在同一个工程下,#include之后包含的文件只要加双引号就可以了。
5.学习者可以修改成让其他LED灯闪烁的程序。