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

📄 asc0.lst

📁 英飞凌C166之XC164CS串口通讯程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
  158  1        ASC0_TXFCON    =  0x0403;      // load ASC0 transmit FIFO control register
  159  1      
  160  1        ///  -----------------------------------------------------------------------
  161  1        ///  Configuration of the used ASC0 Port Pins:
  162  1        ///  -----------------------------------------------------------------------
  163  1        ///  - P3.10 is used for ASC0 Transmit Data Output (TxDA0)
  164  1        ///  - P3.11 is used for ASC0 Receive data Input (RxDA0)
  165  1      
  166  1        ALTSEL0P3     |=  0x0400;      // select alternate output function
  167  1        P3   = (P3   & ~(uword)0x0400) | 0x0400;    //set data register
  168  1        DP3  = (DP3  & ~(uword)0x0400) | 0x0400;    //set direction register
  169  1      
  170  1        ///  -----------------------------------------------------------------------
  171  1        ///  Configuration of the used ASC0 Interrupts:
  172  1        ///  -----------------------------------------------------------------------
  173  1        ///  Rx service request node configuration:
  174  1        ///  - Rx interrupt priority level (ILVL) = 13
  175  1        ///  - Rx interrupt group level (GLVL) = 0
  176  1        ///  - Rx group priority extension (GPX) = 0
  177  1      
  178  1        ASC0_RIC       =  0x0074;     
  179  1      
C166 COMPILER V6.04, ASC0                                                                  08/28/2007 17:10:18 PAGE 4   

  180  1      
  181  1        // USER CODE BEGIN (ASC0_Function,3)
  182  1      
  183  1        // USER CODE END
  184  1      
  185  1        ASC0_CON      |=  0x8000;      // enable baud rate generator
  186  1      
  187  1      
  188  1      } //  End of function ASC0_vInit
  189         
  190         
  191         //****************************************************************************
  192         // @Function      void ASC0_vSendData(uword uwData) 
  193         //
  194         //----------------------------------------------------------------------------
  195         // @Description   This function writes a send data initialization word into 
  196         //                the transmit buffer register.
  197         //                
  198         //                Note: 
  199         //                In a multiprocessor system the master with this function 
  200         //                has the possibility to send data to the selected slave. To 
  201         //                achieve this, the 9th bit must set on zero.
  202         //
  203         //----------------------------------------------------------------------------
  204         // @Returnvalue   None
  205         //
  206         //----------------------------------------------------------------------------
  207         // @Parameters    uwData: 
  208         //                Data to be send
  209         //
  210         //----------------------------------------------------------------------------
  211         // @Date          2007-5-29
  212         //
  213         //****************************************************************************
  214         
  215         // USER CODE BEGIN (SendData,1)
  216         
  217         // USER CODE END
  218         
  219         void ASC0_vSendData(uword uwData)
  220         {
  221  1        ASC0_TBIC_IR = 0;        //  reset transmit buffer interrupt request 
  222  1        ASC0_TBUF    = uwData;   //  load transmit buffer register
  223  1      
  224  1      } //  End of function ASC0_vSendData
  225         
  226         
  227         //****************************************************************************
  228         // @Function      uword ASC0_uwGetData(void) 
  229         //
  230         //----------------------------------------------------------------------------
  231         // @Description   This function reads out the content of the receive buffer 
  232         //                register which contains the received data.
  233         //
  234         //----------------------------------------------------------------------------
  235         // @Returnvalue   data that has been received
  236         //
  237         //----------------------------------------------------------------------------
  238         // @Parameters    None
  239         //
  240         //----------------------------------------------------------------------------
  241         // @Date          2007-5-29
C166 COMPILER V6.04, ASC0                                                                  08/28/2007 17:10:18 PAGE 5   

  242         //
  243         //****************************************************************************
  244         
  245         // USER CODE BEGIN (GetData,1)
  246         
  247         // USER CODE END
  248         
  249         uword ASC0_uwGetData(void)
  250         {
  251  1        return(ASC0_RBUF);     // return receive buffer register
  252  1      
  253  1      } //  End of function ASC0_uwGetData
  254         
  255         
  256         //****************************************************************************
  257         // @Function      void ASC0_viRx(void) 
  258         //
  259         //----------------------------------------------------------------------------
  260         // @Description   This is the receive interrupt service routine for the ASC0. 
  261         //                It is called if the data has been received. 
  262         //                Please note that you have to add application specific code 
  263         //                to this function.
  264         //
  265         //----------------------------------------------------------------------------
  266         // @Returnvalue   None
  267         //
  268         //----------------------------------------------------------------------------
  269         // @Parameters    None
  270         //
  271         //----------------------------------------------------------------------------
  272         // @Date          2007-5-29
  273         //
  274         //****************************************************************************
  275         
  276         // USER CODE BEGIN (Rx,1)
  277         
  278         // USER CODE END
  279         
  280         void ASC0_viRx(void) interrupt ASC0_RINT
  281         {
  282  1      
  283  1        // USER CODE BEGIN (Rx,2)
  284  1              uword data;                             // 定义接收变量
  285  1              data=ASC0_uwGetData();                  // 读取数据
  286  1              ASC0_vSendData(data+1);                 // 发送修改后的数据
  287  1      
  288  1        // USER CODE END
  289  1      
  290  1      } //  End of function ASC0_viRx
  291         
  292         
  293         
  294         
  295         // USER CODE BEGIN (ASC0_General,10)
  296         
  297         // USER CODE END
  298         


MODULE INFORMATION:   INITIALIZED  UNINITIALIZED
  CODE SIZE        =         100     --------
  NEAR-CONST SIZE  =    --------     --------
C166 COMPILER V6.04, ASC0                                                                  08/28/2007 17:10:18 PAGE 6   

  FAR-CONST SIZE   =    --------     --------
  HUGE-CONST SIZE  =    --------     --------
  XHUGE-CONST SIZE =    --------     --------
  NEAR-DATA SIZE   =    --------     --------
  FAR-DATA SIZE    =    --------     --------
  XHUGE-DATA SIZE  =    --------     --------
  IDATA-DATA SIZE  =    --------     --------
  SDATA-DATA SIZE  =    --------     --------
  BDATA-DATA SIZE  =    --------     --------
  HUGE-DATA SIZE   =    --------     --------
  BIT SIZE         =    --------     --------
  INIT'L SIZE      =    --------     --------
END OF MODULE INFORMATION.


C166 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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