願い事 2021-10-19 15:32 采纳率: 40%
浏览 35
已结题

Embedded编写出现错误还有两个警告,

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;           //重置按键次数记录变量

                }

        }

        }

  • 写回答

1条回答 默认 最新

  • 信仰869 2021-10-19 18:25
    关注

    没有这两个函数,你看看是不是函数名写错了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月4日
  • 已采纳回答 10月27日
  • 创建了问题 10月19日

悬赏问题

  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作