⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 用单片机实现(载波监听/冲突检测)的功能
💻 C
📖 第 1 页 / 共 5 页
字号:
            else if(TimeIndex ==1)
            {
              DisplayFlg &= ~DShrSetFlg;
            }
            ConvertCode = TimeSec1[SecIndex][TimeIndex];
          }
          else
          {
            if(((DisplayFlg & CheckTimeFlg) ==CheckTimeFlg))
            {
              temp = TimeSec1[SecIndex][TimeIndex];
              TimeSec1[SecIndex][TimeIndex] = ConvertCode;
              ConvertCode = temp;
            }
            else
             TimeSec1[SecIndex][TimeIndex] = ConvertCode; 
          }
          
        }
          
        
        if((TimeIndex == 0))                                
        {
          DisplayFlg  |= DShrSetFlg;                          //第二行闪烁标志
          DisplayFlg  &= ~DShrinkFlg;                         //第一行停止闪烁
        }
        else if((TimeIndex != 0))
        {
          DisplayFlg  &= ~DShrSetFlg;                         //第二行闪烁标志
          DisplayFlg  |= DShrinkFlg;                          //第一行停止闪烁
        }
         
        if((TimeSectionIndex != 1) 
           && ((DisplayFlg & CheckTimeFlg) != CheckTimeFlg)
          
              ConfirmData();                                  //数据确认函数
      }
      
      if(((DisplayFlg & CheckTimeFlg) == CheckTimeFlg))       //修改时的数据确认处理
      {
        if(TimeIndex == 0)
        {
           if((SecIndex >0)
             && ((TimeSec1[SecIndex-1][1] >= TimeSec1[0][0])
               && (TimeSec1[SecIndex-1][1] <= 2359))
             && ((ConvertCode >= TimeSec1[0][0])
               && (ConvertCode <= 2359)))
           {
             if((TimeSec1[SecIndex][1] > TimeSec1[0][0])
                && (TimeSec1[SecIndex][1] <= 2359))
             {
               if((ConvertCode >= TimeSec1[SecIndex-1][1])
                &&(ConvertCode < TimeSec1[SecIndex][1]))
               {
                 DisplayFlg  |= DShrSetFlg;                          //第二行闪烁标志
                 DisplayFlg  &= ~DShrinkFlg;                         //第一行停止闪
               }
               else if(SecIndex >0)
               {
                  DisplayFlg  &= ~DShrSetFlg;                        //第二行停止闪烁标志
                  DisplayFlg  |= DShrinkFlg;                         //第一行闪烁
                  TimeSec1[SecIndex][TimeIndex] = 0;                 //还原被修改的数据
                  TimeSectionIndex--;
                  SecIndex  =(TimeSectionIndex-1)/2;
                  TimeIndex =(TimeSectionIndex+1)%2;
               } 
             }
             else if((TimeSec1[SecIndex][1] >=0)
                       &&(TimeSec1[SecIndex][1] < TimeSec1[0][0]))
             {
                if(((ConvertCode >= TimeSec1[SecIndex-1][1])
                   &&(ConvertCode <=2359))
                  || ((ConvertCode >=0) && (ConvertCode < TimeSec1[SecIndex][1])))
                {
                   DisplayFlg  |= DShrSetFlg;                          //第二行闪烁标志
                   DisplayFlg  &= ~DShrinkFlg;                         //第一行停止闪烁
                }
                else if(SecIndex >0)
               {
                  DisplayFlg  &= ~DShrSetFlg;                         //第二行停止闪烁标志
                  DisplayFlg  |= DShrinkFlg;                          //第一行闪烁
                  TimeSec1[SecIndex][TimeIndex] = 0;                  //还原被修改的数据
                  TimeSectionIndex--;
                  SecIndex  =(TimeSectionIndex-1)/2;
                  TimeIndex =(TimeSectionIndex+1)%2;
               }
             }
           }
           else if((SecIndex >0)
             && ((TimeSec1[SecIndex-1][1] >= 0)
               && (TimeSec1[SecIndex-1][1] < TimeSec1[0][0]))
             && ((ConvertCode >= 0)
               && (ConvertCode < TimeSec1[0][0])))
           {
              if((ConvertCode >= TimeSec1[SecIndex-1][1])
                 &&(ConvertCode < TimeSec1[SecIndex][1]))
              {
                 DisplayFlg  |= DShrSetFlg;                          //第二行闪烁标志
                 DisplayFlg  &= ~DShrinkFlg;                          //第一行停止闪烁
              }
              else if((SecIndex >0))
              {
                  DisplayFlg  &= ~DShrSetFlg;                         //第二行停止闪烁标志
                  DisplayFlg  |= DShrinkFlg;                          //第一行闪烁
                  TimeSec1[SecIndex][TimeIndex] = 0;                 //还原被修改的数据
                  TimeSectionIndex--;
                  SecIndex  =(TimeSectionIndex-1)/2;
                  TimeIndex =(TimeSectionIndex+1)%2;
              }
           }
            else if((SecIndex >0)
             && ((TimeSec1[SecIndex-1][1] >= ConvertCode)))
          {
             if((TimeSec1[SecIndex][1] >= 0)
                &&(TimeSec1[SecIndex][1] <TimeSec1[0][0]))
             {
               if(TimeSec1[SecIndex][1] > TimeSec1[SecIndex][0])
               {
                  DisplayFlg  |= DShrSetFlg;                          //第二行闪烁标志
                  DisplayFlg  &= ~DShrinkFlg;                          //第一行停止闪烁
               }
               else
               {
                 DisplayFlg  &= ~DShrSetFlg;                         //第二行停止闪烁标志
                 DisplayFlg  |= DShrinkFlg;                          //第一行闪烁
                 TimeSec1[SecIndex][TimeIndex] = 0;                 //还原被修改的数据
                 TimeSectionIndex--;
                 SecIndex  =(TimeSectionIndex-1)/2;
                 TimeIndex =(TimeSectionIndex+1)%2;
               }
             }
             else
             {
                 DisplayFlg  &= ~DShrSetFlg;                         //第二行停止闪烁标志
                 DisplayFlg  |= DShrinkFlg;                          //第一行闪烁
                 TimeSec1[SecIndex][TimeIndex] = 0;                 //还原被修改的数据
                 TimeSectionIndex--;
                 SecIndex  =(TimeSectionIndex-1)/2;
                 TimeIndex =(TimeSectionIndex+1)%2;
             }
            
          }
          else 
          {
            if(SecIndex == 0)
            {
               if((ConvertCode < TimeSec1[SecIndex][1])
                  &&((TimeSec1[SecIndex][TimeIndex] > ScaleClock)
                      ||(TimeSec1[SecIndex][TimeIndex] < ScaleClock))
                  &&(ScaleClock != -1))
               {
                 //if((TimeSec1[SecIndex][TimeIndex] < ScaleClock))
                 {
                   if((ScaleClock <= 2359) &&(ScaleClock > TimeSec1[SecIndex][1]))
                   {
                     if((TimeSec1[SecIndex][TimeIndex] > 0)
                        &&(TimeSec1[SecIndex][TimeIndex]< TimeSec1[SecIndex][1]))
                     {
                        DisplayFlg  |= DShrSetFlg;                          //第二行闪烁标志
                        DisplayFlg  &= ~DShrinkFlg;                          //第一行停止闪烁
                     }
                     else
                     {
                       DisplayFlg  &= ~DShrSetFlg;                         //第二行停止闪烁标志
                       DisplayFlg  |= DShrinkFlg;                          //第一行闪烁
                       TimeSec1[SecIndex][TimeIndex] = ConvertCode;                 //还原被修改的数据
                       TimeSectionIndex--;
                       //SecIndex  =(TimeSectionIndex-1)/2;
                       //TimeIndex =(TimeSectionIndex+1)%2;
                     }
                   }
                   else if((ScaleClock >0) && (ScaleClock <= ConvertCode))
                   {
                     if((TimeSec1[SecIndex][TimeIndex] > ScaleClock)
                        &&(TimeSec1[SecIndex][TimeIndex]< TimeSec1[SecIndex][1]))
                     {
                        DisplayFlg  |= DShrSetFlg;                          //第二行闪烁标志
                        DisplayFlg  &= ~DShrinkFlg;                          //第一行停止闪烁
                     }
                     else
                     {
                       DisplayFlg  &= ~DShrSetFlg;                         //第二行停止闪烁标志
                       DisplayFlg  |= DShrinkFlg;                          //第一行闪烁
                       TimeSec1[SecIndex][TimeIndex] = ConvertCode;                 //还原被修改的数据
                       TimeSectionIndex--;
                       //SecIndex  =(TimeSectionIndex-1)/2;
                       //TimeIndex =(TimeSectionIndex+1)%2;
                     }
                   }
                 }
               }
             else if(ConvertCode > TimeSec1[SecIndex][1])
             {
               
               {
                 if((TimeSec1[SecIndex][TimeIndex] >= ScaleClock)
                    &&(TimeSec1[SecIndex][TimeIndex] <= ConvertCode))
                 {
                    DisplayFlg  |= DShrSetFlg;                          //第二行闪烁标志
                    DisplayFlg  &= ~DShrinkFlg;                          //第一行停止闪烁
                 }
                 else
                 {
                    DisplayFlg  &= ~DShrSetFlg;                         //第二行停止闪烁标志
                    DisplayFlg  |= DShrinkFlg;                          //第一行闪烁
                    TimeSec1[SecIndex][TimeIndex] = ConvertCode;                 //还原被修改的数据
                    TimeSectionIndex--;
                    //SecIndex  =(TimeSectionIndex-1)/2;
                    //TimeIndex =(TimeSectionIndex+1)%2;
                 }
               }
              }
            }
            
          }  
           
        }
        else if(TimeIndex ==1)
        {
          if((SecIndex >0)
             && ((TimeSec1[SecIndex+1][0] >= TimeSec1[0][0])
               && (TimeSec1[SecIndex+1][0] <= 2359))
             && ((ConvertCode >= TimeSec1[0][0])
               && (ConvertCode <= 2359)))
          {
             if((ConvertCode <= TimeSec1[SecIndex+1][0])
                &&(ConvertCode > TimeSec1[SecIndex][0])
                &&((TimeSec1[SecIndex+1][0] != 8888)))
             {
                DisplayFlg  &= ~DShrSetFlg;                          //第二行闪烁标志
                DisplayFlg  |= DShrinkFlg;                          //第一行停止闪烁
                DisplayFlg  |= TimeIndexFlg;                          //下一时间段设定
                SearchIndex++;
             }
             else
            {
               DisplayFlg  |= DShrSetFlg;                         //第二行停止闪烁标志
               DisplayFlg  &= ~DShrinkFlg;                          //第一行闪烁
               TimeSec1[SecIndex][1] =0;
               TimeSectionIndex--;
               SecIndex  =(TimeSectionIndex-1)/2;
               TimeIndex =(TimeSectionIndex+1)%2;
            }
          }
          else if((SecIndex >0)
             && ((TimeSec1[SecIndex+1][0] >= 0)
               && (TimeSec1[SecIndex+1][0] < TimeSec1[0][0]))
             && ((ConvertCode >= 0)
               && (ConvertCode < TimeSec1[0][0]))) 
          { 
            if((TimeSec1[SecIndex][0] >= TimeSec1[0][0])
               &&(TimeSec1[SecIndex][0] < 2359))
            {
               if(TimeSec1[SecIndex][1] <= TimeSec1[SecIndex+1][0])
               {
                  DisplayFlg  &= ~DShrSetFlg;                          //第二行闪烁标志
                  DisplayFlg  |= DShrinkFlg;                          //第一行停止闪烁
                  DisplayFlg  |= TimeIndexFlg;                          //下一时间段设定
                  SearchIndex++;
               }
               else
               {
                 DisplayFlg  |= DShrSetFlg;                         //第二行停止闪烁标志
                 DisplayFlg  &= ~DShrinkFlg;                          //第一行闪烁
                 TimeSec1[SecIndex][1]=0;
                 TimeSectionIndex--;
                 SecIndex  =(TimeSectionIndex-1)/2;
                 TimeIndex =(TimeSectionIndex+1)%2;
               }
            }
            else if((TimeSec1[SecIndex][0] >= 0)
             &&(TimeSec1[SecIndex][0] < TimeSec1[0][0]))
                {
                   if((TimeSec1[SecIndex][1] > TimeSec1[SecIndex][0])
                      &&(TimeSec1[SecIndex][1] <= TimeSec1[SecIndex+1][0]))
                   {
                      DisplayFlg  &= ~DShrSetFlg;                          //第二行闪烁标志
                      DisplayFlg  |= DShrinkFlg;                          //第一行停止闪烁
                      DisplayFlg  |= TimeIndexFlg;                          //下一时间段设定
                      SearchIndex++;
                   }
                   else
                   {
                     DisplayFlg  |= DShrSetFlg;                         //第二行停止闪烁标志
                     DisplayFlg  &= ~DShrinkFlg;                          //第一行闪烁
                     TimeSec1[SecIndex][1] =0;
                     TimeSectionIndex--;
                     SecIndex  =(TimeSectionIndex-1)/2;
                     TimeIndex =(TimeSectionIndex+1)%2;
                   }
                }
          }
          else if((SecIndex >0)
             && ((TimeSec1[SecIndex+1][0] <=

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -