Error[Pe247]: function "main" has already been defined (at line 18)
Warning[Pe223]: function "InitIO" declared implicitly
Warning[Pe223]: function "InitKeyINT" declared implicitly
一个cc2530的程序编写 是不是main赋值过多
需要两个循环该怎么办
怎么能终止其中一个达到下一个
#include <ioCC2530.h>
#define LED1 P1_0 //P1.0端口控制LED1发光二极管
#define LED2 P1_1 //P1.1端口控制LED2发光二极管
#define SW1 P1_2 //P1.2端口与按键SW1相连
char KeyScan(void); //按键扫描函数声明
char Keyvalue = 0 ; //定义变量记录按键动作
int KeyTouchtimes = 0 ;
void Delay(int);//延时函数声明
void Initial(void); //初始化函数声明
void InitKey(void);
void delay(unsigned int i)
{ unsigned int j,k;
for(k=0;k<i;k++)
{
for(j=0;j<500;j++);
}
}
void main(void)
{
P1SEL &= ~0x03; //设置P1.0和P1.1为GPIO
P1DIR |= 0x03; //定义P1.0和P1.1端口为输出
P1 &= ~0x03; //关闭LED1和LED2
while(1)
{
LED1 = 0; //点亮LED1
LED2 = 1; //关闭LED2
delay(5500); //延时
LED1 = 1; //关闭LED1
LED2 = 0; //点亮LED2
delay(5500); //延时
}
}
void initial_gpio()
{ P1SEL &= ~0x07; //设置P1.0 P1.1 P1.2为GPIO
P1DIR |= 0X03; //设置P1.0 P1.1端口为输出
P1DIR &= ~0X04; //设置P1.2端口为输入
P1=0X00; //关闭LED灯
P1INP &= ~0X04; //P1.2端口为“上拉/下拉”模式
P2INP &= ~0X40; //对所有P1端口设置为“上拉”
} //**********************************************************************************
#pragma vector = P0INT_VECTOR
__interrupt void P0_ISR(void)
{
if(P0IFG>0) //按键中断
{
P0IFG = 0;
delay(100);
if(P0IFG==0) //按键中断
{
delay(100);
KeyTouchtimes = KeyTouchtimes+1; //每次中断发生时记录按键次数加1
}
}
P0IF = 0; //清中断标志
}
void main(void)
{
InitIO();
InitKeyINT(); //调用初始化函数
while(1)
{
if(KeyTouchtimes ==1) //第一次按下按键设置LED1灯亮
{
LED1= 1;
LED2= 0;
}
if(KeyTouchtimes == 2) //第二次按下按键设置为LED3,LED2,LED1倒 序流水闪烁
{
LED1 = !LED1;
Delay(20000);
LED2 = !LED2;
Delay(20000);
}
if(KeyTouchtimes == 3) //第三次按下按键设置为LED1,LED2,LED3 顺序流水闪烁
{
LED1 = !LED1;
Delay(20000);
LED2 = !LED2;
Delay(20000);
}
if(KeyTouchtimes == 4) //第四次按下按键设置为LED1,LED2,LED3全 部关闭
{
LED1 = 0;
LED2 = 0;
//关闭所有LED
KeyTouchtimes =0; //重置按键次数记录变量
}
}
}