亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? commrtos.lst

?? ucos2的代碼
?? LST
字號:
C51 COMPILER V7.50   COMMRTOS                                                              11/21/2006 00:19:41 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE COMMRTOS
OBJECT MODULE PLACED IN COMMRTOS.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE COMMRTOS.C LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\DeBug\COMMRTOS.lst) SRC(
                    -.\DeBug\COMMRTOS.SRC)

line level    source

   1          /*
   2          *********************************************************************************************************
   3          *                               基于uC/OS-II的串口驅動及應用程序接口函數
   4          *                                             版權所有
   5          *
   6          * 文件名 : COMMRTOS.C
   7          * 作者   : 陳是知 csz-mail@126.com 北京中軟 2005。3。11
   8          *********************************************************************************************************
   9          */
  10          
  11          
  12          #include "includes.h"
  13          
  14          INT8U FirstCharFlag=0x01;  //注意:此為串口發送第一個字符的標志,必須定義。
  15          
  16          typedef struct {
  17              INT16U     RingBufRxCtr;                /* Number of characters in the Rx ring buffer              */
  18              OS_EVENT  *RingBufRxSem;                /* Pointer to Rx semaphore                                 */
  19              INT8U     *RingBufRxInPtr;              /* Pointer to where next character will be inserted        */
  20              INT8U     *RingBufRxOutPtr;             /* Pointer from where next character will be extracted     */
  21              INT8U      RingBufRx[COMM_RX_BUF_SIZE]; /* Ring buffer character storage (Rx)                      */
  22              INT16U     RingBufTxCtr;                /* Number of characters in the Tx ring buffer              */
  23              OS_EVENT  *RingBufTxSem;                /* Pointer to Tx semaphore                                 */
  24              INT8U     *RingBufTxInPtr;              /* Pointer to where next character will be inserted        */
  25              INT8U     *RingBufTxOutPtr;             /* Pointer from where next character will be extracted     */
  26              INT8U      RingBufTx[COMM_TX_BUF_SIZE]; /* Ring buffer character storage (Tx)                      */
  27          } COMM_RING_BUF;
  28          
  29          
  30          COMM_RING_BUF  CommBuf;
  31          
  32          
  33          void  CommBufInit (void) reentrant
  34          {
  35   1          COMM_RING_BUF *pbuf;
  36   1      
  37   1          pbuf                  = &CommBuf;                     /* Initialize the ring buffer for COMM1     */
  38   1          pbuf->RingBufRxCtr    = 0;
  39   1          pbuf->RingBufRxInPtr  = &pbuf->RingBufRx[0];
  40   1          pbuf->RingBufRxOutPtr = &pbuf->RingBufRx[0];
  41   1          pbuf->RingBufRxSem    = OSSemCreate(0);
  42   1          pbuf->RingBufTxCtr    = 0;
  43   1          pbuf->RingBufTxInPtr  = &pbuf->RingBufTx[0];
  44   1          pbuf->RingBufTxOutPtr = &pbuf->RingBufTx[0];
  45   1          pbuf->RingBufTxSem    = OSSemCreate(COMM_TX_BUF_SIZE);
  46   1                 
  47   1      }
  48          
  49          
  50          
  51          INT8U  CommPutChar (INT8U c, INT16U to) reentrant
  52          {
  53   1          INT8U          oserr;
  54   1          COMM_RING_BUF  *pbuf;
C51 COMPILER V7.50   COMMRTOS                                                              11/21/2006 00:19:41 PAGE 2   

  55   1              extern INT8U FirstCharFlag;
  56   1          pbuf=&CommBuf;
  57   1          OSSemPend(pbuf->RingBufTxSem, to, &oserr);             /* Wait for space in Tx buffer              */
  58   1          if (oserr == OS_TIMEOUT) {
  59   2              return (COMM_TX_TIMEOUT);                          /* Timed out, return error code             */
  60   2          }
  61   1          OS_ENTER_CRITICAL();
  62   1          pbuf->RingBufTxCtr++;                                  /* No, increment character count            */
  63   1          *pbuf->RingBufTxInPtr++ = c;                           /* Put character into buffer                */
  64   1          if (pbuf->RingBufTxInPtr == &pbuf->RingBufTx[COMM_TX_BUF_SIZE]) {     /* Wrap IN pointer           */
  65   2              pbuf->RingBufTxInPtr = &pbuf->RingBufTx[0];
  66   2          }
  67   1          if (pbuf->RingBufTxCtr == 1) {                         /* See if this is the first character       */
  68   2            if(FirstCharFlag==0x01)
  69   2            
  70   2             TI=1;                                               /* Yes, Enable Tx interrupts                */
  71   2            
  72   2          }
  73   1          OS_EXIT_CRITICAL();
  74   1          return (COMM_NO_ERR);
  75   1      }
  76          
  77          void  CommPutRxChar (INT8U c) reentrant
  78          {
  79   1          COMM_RING_BUF *pbuf;
  80   1              pbuf=&CommBuf;
  81   1      
  82   1          if (pbuf->RingBufRxCtr < COMM_RX_BUF_SIZE) {           /* See if buffer is full                    */
  83   2              pbuf->RingBufRxCtr++;                              /* No, increment character count            */
  84   2              *pbuf->RingBufRxInPtr++ = c;                       /* Put character into buffer                */
  85   2              if (pbuf->RingBufRxInPtr == &pbuf->RingBufRx[COMM_RX_BUF_SIZE]) { /* Wrap IN pointer           */
  86   3                  pbuf->RingBufRxInPtr = &pbuf->RingBufRx[0];
  87   3              }
  88   2              OSSemPost(pbuf->RingBufRxSem);                     /* Indicate that character was received     */
  89   2          }
  90   1      }
  91          
  92          INT8U  CommGetChar (INT16U to, INT8U *err) reentrant
  93          {
  94   1          INT8U          c;
  95   1          INT8U          oserr;
  96   1          COMM_RING_BUF *pbuf;
  97   1          pbuf=&CommBuf;
  98   1          OSSemPend(pbuf->RingBufRxSem, to, &oserr);             /* Wait for character to arrive             */
  99   1          if (oserr == OS_TIMEOUT) {                             /* See if characters received within timeout*/
 100   2              *err = COMM_RX_TIMEOUT;                            /* No, return error code                    */
 101   2              return (NUL);
 102   2          } else {
 103   2              OS_ENTER_CRITICAL();
 104   2              pbuf->RingBufRxCtr--;                              /* Yes, decrement character count           */
 105   2              c = *pbuf->RingBufRxOutPtr++;                      /* Get character from buffer                */
 106   2              if (pbuf->RingBufRxOutPtr == &pbuf->RingBufRx[COMM_RX_BUF_SIZE]) {     /* Wrap OUT pointer     */
 107   3                  pbuf->RingBufRxOutPtr = &pbuf->RingBufRx[0];
 108   3              }
 109   2              OS_EXIT_CRITICAL();
 110   2              *err = COMM_NO_ERR;
 111   2              return (c);
 112   2          }
 113   1      }
 114          
 115          INT8U  CommGetTxChar (INT8U *err) reentrant
 116          { 
C51 COMPILER V7.50   COMMRTOS                                                              11/21/2006 00:19:41 PAGE 3   

 117   1          INT8U          c;
 118   1          COMM_RING_BUF *pbuf;
 119   1          pbuf=&CommBuf;
 120   1      
 121   1          if (pbuf->RingBufTxCtr > 0) {                          /* See if buffer is empty                   */
 122   2              pbuf->RingBufTxCtr--;                              /* No, decrement character count            */
 123   2              c = *pbuf->RingBufTxOutPtr++;                      /* Get character from buffer                */
 124   2              if (pbuf->RingBufTxOutPtr == &pbuf->RingBufTx[COMM_TX_BUF_SIZE]) {     /* Wrap OUT pointer     */
 125   3                  pbuf->RingBufTxOutPtr = &pbuf->RingBufTx[0];
 126   3              }
 127   2              OSSemPost(pbuf->RingBufTxSem);                     /* Indicate that character will be sent     */
 128   2              *err = COMM_NO_ERR;
 129   2              return (c);                                        /* Characters are still available           */
 130   2          } else {
 131   2              *err = COMM_TX_EMPTY;
 132   2              return (NUL);                                      /* Buffer is empty                          */
 133   2          }
 134   1      }
 135          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1530    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =    151    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线免费观看一区| 高清在线成人网| 91精品国产aⅴ一区二区| 五月天精品一区二区三区| 制服丝袜中文字幕一区| 韩国欧美国产1区| 久久久精品日韩欧美| av成人免费在线| 亚洲.国产.中文慕字在线| 精品精品欲导航| thepron国产精品| 一区二区三区在线看| 欧美日本在线看| 国产在线视视频有精品| 国产精品美女久久久久久久网站| 色偷偷88欧美精品久久久| 亚洲福中文字幕伊人影院| 精品精品国产高清一毛片一天堂| 不卡的av网站| 人人狠狠综合久久亚洲| 中文一区二区完整视频在线观看 | 欧美成人性福生活免费看| 国产在线不卡一卡二卡三卡四卡| 国产精品女人毛片| 欧美伦理电影网| 处破女av一区二区| 婷婷综合五月天| 中文天堂在线一区| 91麻豆精品国产91久久久久 | 欧美午夜片在线观看| 狠狠色丁香久久婷婷综合_中| 亚洲欧美精品午睡沙发| 日韩欧美一区二区三区在线| av亚洲精华国产精华精华| 美女www一区二区| 亚洲欧美日韩国产中文在线| 欧美成人a在线| 欧美日韩日日摸| 懂色av中文一区二区三区| 日韩高清在线一区| 亚洲免费视频成人| 国产欧美综合色| 日韩午夜av电影| 色婷婷亚洲综合| 成人福利视频在线| 精品一区二区三区在线观看| 亚洲自拍偷拍综合| 日韩理论片网站| 日韩亚洲欧美在线| 69av一区二区三区| 欧美视频在线播放| 色欧美日韩亚洲| 丁香婷婷综合激情五月色| 久久99精品久久久久久动态图| 国产一区二区免费看| 亚洲v中文字幕| 亚洲精品久久久蜜桃| 国产精品久久久久久久久久免费看| 日韩三级免费观看| 欧美日韩一卡二卡三卡| 色综合欧美在线视频区| 成人白浆超碰人人人人| 高清beeg欧美| 国产成人精品一区二| 国产一区91精品张津瑜| 狠狠色丁香婷综合久久| 美女视频黄频大全不卡视频在线播放| 亚洲午夜精品久久久久久久久| 日韩一区中文字幕| 亚洲欧洲日本在线| 18成人在线视频| 亚洲欧美日本韩国| 亚洲免费成人av| 亚洲精品日韩一| 亚洲一区二区综合| 亚洲国产aⅴ天堂久久| 亚洲国产精品天堂| 日韩高清在线观看| 美女视频黄 久久| 韩国一区二区在线观看| 国产不卡一区视频| 99久久伊人久久99| 色偷偷久久一区二区三区| 在线观看日韩高清av| 欧美高清dvd| 精品国精品国产尤物美女| 国产亚洲欧美一区在线观看| 国产精品毛片无遮挡高清| 亚洲男人的天堂在线观看| 亚洲精品老司机| 日欧美一区二区| 国产精品中文字幕日韩精品| 成人午夜短视频| 欧美三级电影一区| 日韩女优毛片在线| 亚洲国产精品成人综合色在线婷婷| 亚洲欧美精品午睡沙发| 无码av免费一区二区三区试看 | 亚洲综合男人的天堂| 五月天激情小说综合| 久久av老司机精品网站导航| 国产乱码精品一区二区三| av在线不卡免费看| 欧美日韩一二三区| 亚洲精品一区二区三区影院| 国产精品乱人伦| 天涯成人国产亚洲精品一区av| 国产精品99久久不卡二区| 在线影院国内精品| 精品国产一区二区精华| 亚洲色欲色欲www在线观看| 午夜精品一区二区三区电影天堂| 国产一区二区伦理| 欧美手机在线视频| 久久蜜桃av一区二区天堂| 一区二区三区小说| 国产主播一区二区三区| 日本精品一级二级| 久久久国产精华| 五月婷婷激情综合| 成人av电影在线| 欧美mv日韩mv国产| 性欧美大战久久久久久久久| 国产精品538一区二区在线| 色94色欧美sute亚洲线路一久| 日韩欧美色综合网站| 亚洲欧美激情小说另类| 免费观看在线综合| 色噜噜狠狠成人中文综合| 欧美精品一区二区三区高清aⅴ| 亚洲麻豆国产自偷在线| 国产精品综合二区| 7777精品伊人久久久大香线蕉最新版| 国产精品久久久久影院亚瑟| 九九国产精品视频| 欧美伦理视频网站| 一区二区三区四区视频精品免费| 国产河南妇女毛片精品久久久 | 久久亚洲二区三区| 亚洲国产人成综合网站| jiyouzz国产精品久久| 精品捆绑美女sm三区| 日韩精品视频网站| 日本久久一区二区| 亚洲私人影院在线观看| 大陆成人av片| 国产欧美精品一区| 精品一区在线看| 精品区一区二区| 免费在线一区观看| 7878成人国产在线观看| 亚洲午夜激情av| 欧美色视频在线观看| 最新不卡av在线| 99久久国产综合精品女不卡| 国产精品你懂的在线欣赏| 国产精品影视在线| 精品99999| 国产在线精品视频| 久久久另类综合| 韩日精品视频一区| 久久精子c满五个校花| 国产成人亚洲综合色影视| 久久蜜桃一区二区| 国产成人精品免费| 中文字幕电影一区| av福利精品导航| 一区二区三区免费| 欧美日韩专区在线| 日本不卡123| 日韩欧美精品在线| 国内精品在线播放| 欧美国产精品专区| 99久久99久久精品免费看蜜桃 | 国产精品欧美一区喷水| 99视频精品在线| 亚洲午夜在线电影| 7777精品伊人久久久大香线蕉完整版 | 一本在线高清不卡dvd| 一区二区国产视频| 欧美高清一级片在线| 蜜臀av一区二区在线观看| 久久亚洲一区二区三区明星换脸 | 经典三级视频一区| 国产精品网站在线观看| 色狠狠一区二区| 婷婷中文字幕综合| 久久久久久久综合日本| av一区二区三区黑人| 亚洲国产成人tv| 欧美精品一区二区不卡| 91影院在线免费观看| 香蕉久久夜色精品国产使用方法 | 久久99精品久久久| 国产精品久久久久久久久果冻传媒 | 99久久精品费精品国产一区二区| 亚洲国产成人av| 国产日韩欧美激情| 欧美性猛片xxxx免费看久爱| 久久成人羞羞网站|