首先在此给大家拜年了,祝大家新年快乐,身体健康,工作顺利,阖家欢乐!
收到板子挺长时间了,一直在忙找工作、课设的事,也没有放下心来去学,现在放假了终于有时间研究研究了
以前用的都是PIC单片机,一直在用汇编写程序,C也是很早学的了,都忘得差不多了,用着不是很顺手,看了看入门手册自己试着写了一个简单的,还请大家指点
PS:灯自己用面包板简单做了一下,本意是三个字母H o t,也不知道大家能不能看出来,后面上图,本来有视频,不过好像权限不够传不了,还请大家见谅哈
下面是程序代码:
-
- #include <stdio.h>
- #include "NUC1xx.h"
- #include "DrvGPIO.h"
- #include "DrvSYS.h"
- //GPA2控制黄灯,GPA3控制红灯,GPA4控制绿灯。均输出1灯亮,输出0灯灭。
- int main (void)
- {
- unsigned char i=0;
- UNLOCKREG();
- SYSCLK->PWRCON.XTL12M_EN = 1;
- DrvSYS_Delay(5000);
-
- DrvGPIO_Open(E_GPA, 2, E_IO_OUTPUT); // 设置GPA2-GPA4端口为输出模式
- DrvGPIO_Open(E_GPA, 3, E_IO_OUTPUT);
- DrvGPIO_Open(E_GPA, 4, E_IO_OUTPUT);
- DrvGPIO_ClrBit(E_GPA, 2); //GPA2-GPA4端口置0
- DrvGPIO_ClrBit(E_GPA, 3);
- DrvGPIO_ClrBit(E_GPA, 4);
-
- while(1)
- {
- DrvGPIO_SetBit(E_GPA, 2); //单黄灯亮
- DrvSYS_Delay(20000000);
- DrvGPIO_ClrBit(E_GPA, 2);
- DrvSYS_Delay(500000);
- DrvGPIO_SetBit(E_GPA, 3); //单红灯亮
- DrvSYS_Delay(20000000);
- DrvGPIO_ClrBit(E_GPA, 3);
- DrvSYS_Delay(500000);
- DrvGPIO_SetBit(E_GPA, 4); //单绿灯亮
- DrvSYS_Delay(20000000);
- DrvGPIO_ClrBit(E_GPA, 4);
- DrvSYS_Delay(500000);
- DrvGPIO_SetBit(E_GPA, 2); //黄红绿一起亮
- DrvGPIO_SetBit(E_GPA, 3);
- DrvGPIO_SetBit(E_GPA, 4);
- DrvSYS_Delay(20000000);
- DrvGPIO_ClrBit(E_GPA, 2);
- DrvGPIO_ClrBit(E_GPA, 3);
- DrvGPIO_ClrBit(E_GPA, 4);
- while(i<20) //黄红绿一起闪烁
- {
- DrvGPIO_SetBit(E_GPA, 2);
- DrvGPIO_SetBit(E_GPA, 3);
- DrvGPIO_SetBit(E_GPA, 4);
- DrvSYS_Delay(50000);
- DrvGPIO_ClrBit(E_GPA, 2);
- DrvGPIO_ClrBit(E_GPA, 3);
- DrvGPIO_ClrBit(E_GPA, 4);
- DrvSYS_Delay(50000);
- i++;
- }
- i=0;
- }
- }
|