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

📄 main.lst

📁 利用SMALL RTOS51做的一个项目
💻 LST
📖 第 1 页 / 共 5 页
字号:
 561          
 562          /*********************************************************************************************************
 563          ** 函数名称: BH_Serial
 564          ** 功能描述: 一个任务,SerialInt的BottomHalf函数
 565          **
 566          ** 输 入: 无
 567          ** 输 出: 无
 568          ** 全局变量: 无
 569          ** 调用模块: OSSemCreate(),DispStr(),OSWait(),DispClr(),OSSemPost(),
 570          **
 571          ** 作 者: 龚树强
 572          ** 日 期: 2004年10月15日
 573          **-------------------------------------------------------------------------------------------------------
 574          ** 修改人:
 575          ** 日 期:
 576          **------------------------------------------------------------------------------------------------------
 577          *****************************************************************                   **********************
             -*****************/
 578                  void BH_Serial(void)    
 579          {
 580   1      
 581   1              uint8 idata temp;
 582   1              uint16 idata i;
 583   1          
 584   1              OSQCreate(CommandData,7);
 585   1          OSQCreate(SerialInData,10);
 586   1          OSQCreate(SerialOutData,22);                   /* 建立所需要的消息队列 */   
 587   1      
 588   1              //OSSemCreate(SEM_SendBuffer,3);
 589   1      
 590   1              OSWait(K_TMO, OS_TICKS_PER_SEC/5 );
 591   1      
 592   1              
 593   1          while (1)
 594   1          {
 595   2                      SM2=1;
 596   2      
 597   2              OSQPend(&temp,SerialInData,0);          // 接收一个字节         
*** WARNING C259 IN LINE 597 OF MAIN.C: 'parameter': pointer: different mspace
 598   2              if (temp != LOCOAL_ADDR)
 599   2              {
 600   3                              continue;                               //接收到起始字符       
 601   3              }
 602   2              SM2=0;
 603   2      
 604   2                      _Sum = LOCOAL_ADDR;
 605   2              
 606   2                      OSQPend(&temp,SerialInData,0);          // 接收一个字节         
*** WARNING C259 IN LINE 606 OF MAIN.C: 'parameter': pointer: different mspace
C51 COMPILER V7.50   MAIN                                                                  12/29/2004 20:23:49 PAGE 11  

 607   2              if (temp != LOCOAL_ADDR)
 608   2              {
 609   3                              SM2=1;
 610   3                              continue;                
 611   3              }
 612   2                      
 613   2                              
 614   2              _Sum += temp;
 615   2                  
 616   2              OSQPend(&temp,SerialInData,0);          //    接收数据             
*** WARNING C259 IN LINE 616 OF MAIN.C: 'parameter': pointer: different mspace
 617   2              _Sum += temp;
 618   2      
 619   2                      switch(temp)
 620   2                      {
 621   3                              case    CMD_TARGET_VALUE        :       OSQPend(&temp,SerialInData,0);          //    接收数据      
*** WARNING C259 IN LINE 621 OF MAIN.C: 'parameter': pointer: different mspace
 622   3                                                                                              _Sum += temp;
 623   3                                                                                              _TempValue=temp;
 624   3                                                                                              _TempValue<<=8;
 625   3                                                                                              
 626   3      
 627   3                                                                                              OSQPend(&temp,SerialInData,0);          //    接收数据             
*** WARNING C259 IN LINE 627 OF MAIN.C: 'parameter': pointer: different mspace
 628   3                                                                                      _TempValue+=temp;
 629   3                                                                                              _TempValue<<=8;
 630   3                                                                                              _Sum += temp;
 631   3      
 632   3                                                                                              OSQPend(&temp,SerialInData,0);          //    接收数据             
*** WARNING C259 IN LINE 632 OF MAIN.C: 'parameter': pointer: different mspace
 633   3                                                                                      _TempValue+=temp;
 634   3                                                                                              _Sum += temp;
 635   3                                                                                      
 636   3                                                                                              OSQPend(&temp,SerialInData,0);          //    接收数据  
*** WARNING C259 IN LINE 636 OF MAIN.C: 'parameter': pointer: different mspace
 637   3         
 638   3                                                                                              SM2=1;    
 639   3          
 640   3                                                                                              if(!_Flag_State_Producing)
 641   3                                                                                              {
 642   4                                                                                                      if(temp==_Sum)
 643   4                                                                                                      {
 644   5                                                                                                              
 645   5                                                                                                              _TargetValue=_TempValue;
 646   5      
 647   5                                                                                                      }
 648   4                                                                                                      
 649   4                                                                                              }
 650   3                                                                                              
 651   3                                                                                              continue;
 652   3                                                                                              
 653   3                              case    CMD_CURRENT_VALUE       :       OSQPend(&temp,SerialInData,0);          //    接收数据             
*** WARNING C259 IN LINE 653 OF MAIN.C: 'parameter': pointer: different mspace
 654   3                                                                                      _Sum += temp;
 655   3                                                                                              _TempValue=temp;
 656   3                                                                                              _TempValue<<=8;
 657   3                                                                                              
 658   3                                              
 659   3                                                                                              OSQPend(&temp,SerialInData,0);          //    接收数据             
*** WARNING C259 IN LINE 659 OF MAIN.C: 'parameter': pointer: different mspace
 660   3                                                                                      _TempValue+=temp;
 661   3                                                                                              _TempValue<<=8;
C51 COMPILER V7.50   MAIN                                                                  12/29/2004 20:23:49 PAGE 12  

 662   3                                                                                              _Sum += temp;
 663   3      
 664   3                                                                                              OSQPend(&temp,SerialInData,0);          //    接收数据             
*** WARNING C259 IN LINE 664 OF MAIN.C: 'parameter': pointer: different mspace
 665   3                                                                                      _TempValue+=temp;
 666   3                                                                                              _Sum += temp;
 667   3      
 668   3                                                                                              OSQPend(&temp,SerialInData,0);          //    接收数据    
*** WARNING C259 IN LINE 668 OF MAIN.C: 'parameter': pointer: different mspace
 669   3      
 670   3                                                                                              SM2=1;
 671   3               
 672   3                                                                                      if(!_Flag_State_Producing)
 673   3                                                                                              {
 674   4                                                                                                      if(temp==_Sum)
 675   4                                                                                                      {
 676   5                                                                                                              if(_TargetValue>_CurrentValue)
 677   5                                                                                                              {
 678   6                                                                                                                      OSQIntPost(SerialOutData,LOCOAL_ADDR);
 679   6                                                                                                                      _Sum=LOCOAL_ADDR;
 680   6                                                                                                                      OSQIntPost(SerialOutData,LOCOAL_ADDR);
 681   6                                                                                                              _Sum+=LOCOAL_ADDR;
 682   6                                                                                                                      OSQIntPost(SerialOutData,CMD_ACK);
 683   6                                                                                                                      _Sum+=CMD_ACK;
 684   6                                                                                                                      OSQIntPost(SerialOutData,0);
 685   6                                                                                                                      OSQIntPost(SerialOutData,0);
 686   6                                                                                                                      OSQIntPost(SerialOutData,0);
 687   6                                                                                                                      OSQIntPost(SerialOutData,_Sum);
 688   6      
 689   6                                                                                                                      OSQAccept(&temp,SerialOutData);
*** WARNING C259 IN LINE 689 OF MAIN.C: 'parameter': pointer: different mspace
 690   6                                                                                                      
 691   6                                                                                                                      SERIAL_DIRECTION_CTRL=1;
 692   6                                                                                                              //      for(i=0;i<10000;i++);
 693   6                                                                                                      
 694   6                                                                                                                      _BufferIndex=0;
 695   6      
 696   6                                                                                                                      //_ResendBuffer[_BufferIndex]=temp;
 697   6      
 698   6                                                                                                                      TB8=1;
 699   6                                                                                                                      TI=0;
 700   6                                                                                                      
 701   6                                                                                                              SBUF = temp;
 702   6                                                                                                                      
 703   6                                                                                                                      _CurrentValue=_TempValue;
 704   6                              
 705   6                                                                                                                      
 706   6                                                                                                                      DispNum(0,_TargetValue);
 707   6                      
 708   6                                                                                                                      DispNum(1,_CurrentValue);
 709   6                                                                                                      
 710   6                                                                                                                      _Flag_CounteEnable=1;
 711   6                                                                                                                      _Flag_State_TaskAccepted=1;
 712   6                                                                                                                      _Flag_State_Producing=0;
 713   6                                                                                                                      _Flag_State_Finish=0;
 714   6                                                                                                              }
 715   5                                                                                                      }
 716   4                                                                                                      
 717   4                                                                                              }
 718   3                                                                                              else if(_Flag_State_Producing)
 719   3                                                                                              {
 720   4                                                                                                      if(temp==_Sum)
C51 COMPILER V7.50   MAIN                                                                  12/29/2004 20:23:49 PAGE 13  

 721   4                                                                                                      {
 722   5                                                                                                              
 723   5                                                                                                              _CurrentValue=_TempValue;
 724   5      
 725   5                                                                                                              DispNum(1,_CurrentValue);
 726   5      
 727   5                                                                                                      }
 728   4                                                                                                      
 729   4                                                                                              }
 730   3                                                                                              continue;
 731   3      
 732   3                              
 733   3                              case    CMD_FINISHED_PERSENT:   OSQPend(&temp,SerialInData,0);          //    接收数据             
*** WARNING C259 IN LINE 733 OF MAIN.C: 'parameter': pointer: different mspace
 734   3                                                                                      //_TempValue=temp;
 735   3                                                                                              //_TempValue<<=8;
 736   3                                                                                              _Sum += temp;
 737   3                                                                                              

⌨️ 快捷键说明

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