有关CC2530的GPIO基本知识、普通GPIO操作有关寄存器的介绍、IAR Embedded Workbench IDE软件使用:TI CC2530基础实验(普通GPIO操作——点亮led灯)
电路原理图:
分析:需要按一下按键亮一下灯,并且不采用中断方式,即我们需要实时去监测按下是否被按下(P0_4为低电平表示按下,高电平表示松开)。
设置:
/************************************** * 基础实验只需要添加以下这个头文件即可 *************************************/ #include <ioCC2530.h> /*********************************** * 程序描述:按一下按键亮一下灯 **********************************/ #define LED1 P1_0 #define KEY1 P0_4 /*********************************** * 函数描述:初始化LED1 **********************************/ void LED1Init(void) { P1SEL &= ~0x01; //功能:普通I/O P1DIR |= 0x01; //方向:输出 LED1 = 1; //使其属于灭状态 } /*********************************** * 函数描述:初始化按键S1 **********************************/ void KEY1Init(void) { P0SEL &= ~0x10; //功能:普通I/O P0DIR &= ~0x10; //方向:输入 } /*********************************** * 函数描述:毫秒级延迟函数 **********************************/ void Delayms(unsigned int ms) { unsigned int i,j; for (i = ms; i > 0; i--) { for (j = 587; j > 0; j--); } } /*********************************** * 函数描述:扫描KEY1的状态并修过LED1 **********************************/ void KEY1Scan(void) { if (0 == KEY1)//表示按下 { LED1 = 0; //给低电平使其LED1亮 Delayms(10);//去抖 for (;1 == KEY1;) //判断是否松开 { LED1 = 1; //给高电平使其LED1亮 } } } void main() { LED1Init(); KEY1Init(); for (;;) { KEY1Scan(); } }
TI CC2530基础实验(普通GPIO操作——按一下按键亮一下灯)
原文地址:http://blog.csdn.net/thanksgining/article/details/42170371