Origin______ 2024-04-17 09:37 采纳率: 22.2%
浏览 1

如何在IAR Embedded Workbench中修改代码?

如何在IAR Embedded Workbench中修改代码?使用Zigbee开发板,CC2530
小风扇低电平开启FAN = 0,但是在实际中小风扇一直转动,不停止转动。要怎么修改呢?


#define ENDNUM 2
#define BEEP  P1_0
#define LED2  P1_1
#define FAN  P1_2



double Temp,wd=0;
static void GenericApp_SendTheMessage( void )
{
  P1SEL &= ~(1 << 2); // 将P1.2设置为普通IO口
  P1DIR |= (1 << 2); // 将P1.2设置为输出口

  // 默认关闭风扇(高电平)
  FAN = 1; // 直接使用FAN关闭风扇
  
 unsigned char idstr[2],msg[10];
 unsigned char volTemp[20];
 
 memset(idstr,0,2);
 memset(msg,0,10); 
 Temp=floatReadDs18B20();
 wd=Temp*10;
 idstr[0] = ENDNUM + 0x30;
 idstr[1] = 0x00;
 LCD_P8x16Str(88, 2, "ZB");
 LCD_P8x16Str(106, 2,idstr);
  
  
   msg[0]= ENDNUM;
   msg[1]= (int)wd/10+1;
   msg[2]= (int)wd%10+1;  
   msg[3]= max;
   msg[4]= min;  
   msg[5]= 5;
   msg[6]= 6;

   if(MOD==1)
   {
     if(Temp>max||Temp<min)
     {
       BEEP=0;
       
       if(Temp<min)
       {
         LED2=0;
         FAN = 1;
       }
       else
       {
         LED2=1;
         FAN = 0;
       }
       
     }
     else
     {
       BEEP=1;
       LED2=1;
       FAN = 1;
     }
     
   }
   else
   {
     BEEP=1;
     LED2=1;
     FAN = 1;
   }
   
   //其它代码
}
  • 写回答

5条回答 默认 最新

  • 檀越@新空间 2024-04-17 09:37
    关注

    上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    在IAR Embedded Workbench中修改代码的步骤如下:

    1. 打开IAR Embedded Workbench软件,并找到你要修改的工程文件。
    2. 在工程文件中找到你要修改的代码所在的源文件。
    3. 使用文本编辑器打开该源文件,可以进行代码的修改。

    对于你的问题,你想要在小风扇低电平开启时停止转动,可以按照以下步骤修改代码:

    1. 找到宏定义部分,其中定义了FAN为P1_2。
    2. 找到代码中控制FAN的部分,即FAN = 0;
    3. 修改代码为FAN = 1;

    这样修改后,在小风扇低电平时,FAN会被设置为1,即风扇停止转动。

    修改后的代码如下所示:

    static void GenericApp_SendTheMessage( void )
    {
      P1SEL &= ~(1 << 2); // 将P1.2设置为普通IO口
      P1DIR |= (1 << 2); // 将P1.2设置为输出口
    
      // 默认关闭风扇(高电平)
      FAN = 1; // 直接使用FAN关闭风扇
      
     unsigned char idstr[2],msg[10];
     unsigned char volTemp[20];
     
     memset(idstr,0,2);
     memset(msg,0,10); 
     Temp=floatReadDs18B20();
     wd=Temp*10;
     idstr[0] = ENDNUM + 0x30;
     idstr[1] = 0x00;
     LCD_P8x16Str(88, 2, "ZB");
     LCD_P8x16Str(106, 2,idstr);
      
      
       msg[0]= ENDNUM;
       msg[1]= (int)wd/10+1;
       msg[2]= (int)wd%10+1;  
       msg[3]= max;
       msg[4]= min;  
       msg[5]= 5;
       msg[6]= 6;
    
       if(MOD==1)
       {
         if(Temp>max||Temp<min)
         {
           BEEP=0;
           
           if(Temp<min)
           {
             LED2=0;
             **FAN = 1;**
           }
           else
           {
             LED2=1;
             **FAN = 0;**
           }
           
         }
         else
         {
           BEEP=1;
           LED2=1;
           FAN = 1;
         }
         
       }
       else
       {
         BEEP=1;
         LED2=1;
         FAN = 1;
       }
       
       //其它代码
    }
    

    修改后的代码中,在小风扇低电平开启时,对FAN的赋值进行了修改,便可以实现停止小风扇转动的功能。

    希望能对你有所帮助!

    评论

报告相同问题?

问题事件

  • 创建了问题 4月17日