/****************************************************************** 编 译 器:Haawking IDE V0.5.0 D S P:dsc28027勇士板 电 脑 配 置:Windows10 专业版; 64 位操作系统 仿 真 器:HX100v2 使 用 库:无 作 用:GPIO输入输出例程 说 明:按下S100 D400灯亮,松开S100 D400灯灭;D401一直闪烁; 版 本:V0.0.1 ******************************************************************/ 1. HaawkingIDE新建工程
2.初始化LED和按键: /****************************************************************** 函数名:void InitLED() 参 数:无 返回值:无 作 用:初始化LED 说 明:
******************************************************************/
- void InitLED()
- {
- EALLOW;
- GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 0;
- GpioCtrlRegs.GPADIR.bit.GPIO7 = 1; //输出
- GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 0;
- GpioCtrlRegs.GPADIR.bit.GPIO6 = 1;
- EDIS;
- }
复制代码
/****************************************************************** 函数名:void InitKEY() 参 数:无 返回值:无 作 用:初始化独立IO口按键 S100 说 明:复位状态下,默认就是IO共功能,输入
******************************************************************/
- void InitKEY()
- {
- EALLOW;
- GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0;//普通IO功能
- GpioCtrlRegs.GPBDIR.bit.GPIO34 = 0; //输入
- EDIS;
- }
复制代码
按键控制LED灯的亮与灭:
- while(1)
- {
- //按下S100 D400灯亮
- if(GpioDataRegs.GPBDAT.bit.GPIO34==0)
- {
- GpioDataRegs.GPACLEAR.bit.GPIO7 =1; //D400亮
- }
- else
- {
- GpioDataRegs.GPASET.bit.GPIO7 =1; //D400灭
- }
- // D401闪烁
- DELAY_US(1000000); //利用库文件的DELAY函数
- GpioDataRegs.GPATOGGLE.bit.GPIO6 = 1; //TOGGLE:反转,D401亮灭交替闪烁
- }
复制代码
3. 点击编译、编译完成后点击下载:
4.实验现象:
程序下载完成后,点击运行按钮;然后按下开发板上的按键S100后,观察D400灯亮;松开按键S100后,D400灯灭;灯D401保持闪烁即为正确现象。 |