嵌入式成长轨迹37 【Zigbee项目】【CC2430基础实验】【自动闪烁】
最为简单的代码,只用到一个寄存器P1DIR。因为点亮的led灯(p1.0和p1.1)的管脚是p1的,要输出就得将这两个管脚设置为输出管脚。该寄存器用0~8对应1.0~1.8管脚。
1 //main.c 2 #include <ioCC2430.h> 3 4 #define uint unsigned int 5 #define uchar unsigned char 6 //定义控制灯的端口 7 #define RLED P1_0 //定义LED1为P10口控制 8 #define YLED P1_1 //定义LED2为P11口控制 9 //函数声明 10 void Delay(uint); //延时函数 11 void Initial(void); //初始化P1口 12 13 14 15 16 /**************************** 17 //延时 18 *****************************/ 19 void Delay(uint n) 20 { 21 uint tt; 22 for(tt = 0;tt<n;tt++); 23 for(tt = 0;tt<n;tt++); 24 for(tt = 0;tt<n;tt++); 25 for(tt = 0;tt<n;tt++); 26 for(tt = 0;tt<n;tt++); 27 } 28 29 /**************************** 30 //初始化程序 31 *****************************/ 32 void Initial(void) 33 { 34 P1DIR |= 0x03; //P10、P11定义为输出 35 RLED = 1; 36 YLED = 1; //LED 37 } 38 39 /*************************** 40 //主函数 41 ***************************/ 42 void main(void) 43 { 44 Initial(); //调用初始化函数 45 RLED = 1; //LED1 46 YLED = 0; //LED2 47 while(1) 48 { 49 RLED = !RLED; 50 YLED=!YLED; 51 Delay(20000); 52 } 53 }