您当前的位置:滚动 >  >> 正文
CC2530 GPIO口输入配置配置步骤

时间:2023-07-06 15:14:39    来源:DS小龙哥-嵌入式技术


(资料图片仅供参考)

第一章 按键原理图分析第二章 GPIO口输入模式配置第三章 检测按键示例代码

示例代码:

#include < ioCC2530.h > ​ //定义LED灯的端口#define LED1 P1_2 #define LED2 P1_3 ​ //定义KEY按键的端口 #define KEY1 P1_0       //定义按键为P1_0口控制 #define KEY2 P1_1       //定义按键为P1_1口控制 ​ /* 函数功能:LED灯IO口初始化 硬件连接:LED1-- >P1_2 , LED2-- >P1_3 */ void LED_Init(void) {     P1DIR |=0x3< < 2;  //配置P1_2、P1_3为输出模式     LED1 = 1;     LED2 = 1; } ​ /* 函数功能:按键IO口初始化 硬件连接:KEY1-- >P1_0  KEY2-- >P1_1   */ void KEY_Init(void) {     P1SEL&=~(0x3< < 0); //配置P1_0,P1_1处于通用GPIO口模式     P1DIR&=~(0x3< < 0); //配置P1_0,P1_1为输入模式     P1INP|= 0x3< < 0;   //上拉    } ​ ​ void delay10ms(void)   //误差 0us {     unsigned char a,b,c;     for(c=193;c >0;c--)         for(b=118;b >0;b--)             for(a=2;a >0;a--); } ​ ​ /* 函数功能:按键扫描 返 回 值:按下的按键值 */ unsigned char Key_Scan(void) {     staticunsigned char stat=1;     if((KEY1==0||KEY2==0)&&stat)     {        stat=0;        delay10ms();        if(KEY1==0)return 1;        if(KEY2==0)return 2;     }     else     {         if(KEY1&&KEY2)stat=1;     }     return 0; } ​ ​ /*主函数*/ void main(void) {     unsigned char key;     LED_Init();//初始化LED灯控制IO口     KEY_Init();//按键初始化     while(1)               {          key=Key_Scan();        if(key)        {           LED1 = !LED1;                LED2 = !LED2;        }            } } ​

审核编辑:汤梓红

关键词: