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

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

?? uart.h

?? ARM7的UART驅動程序 可以自由配置緩存大小 驅動函數集 以及接口簡單 很適合初學者提高自己的驅動開發能力的參考程序 產品級別的代碼 注釋很詳盡 但需要自己提供IRQ部分的初始化部分程序 本作者不
?? H
字號:
/********************************************************************************************************
* 文 件 名 : Comm.H
* 程 序 員 : (CaiJie) hnclcj@gmail.com
*                             (c) Copyright 2007-2007, CaiJie
*                                  All Rights Reserved
* 說    明 : 這里的串口函數都是建立在LPC ARM7的基礎上的 應用時根據硬件環境更改硬件相關函數 (硬件函數如下)
********************************************************************************************************/



#ifdef  COMM_GLOBALS
#define COMM_EXT
#else
#define COMM_EXT extern
#endif



/********************************************************************************************************
* 全局常量
********************************************************************************************************/
#define COMM_MODULE_EN                 1          // 串口模塊總使能                                 0禁止
#define COMM0_UNIT_EN                  1          // 串口0模塊使能                                  0禁止
#define COMM1_UNIT_EN                  0          // 串口1模塊使能                                  0禁止

#if COMM_MODULE_EN > 0
#if COMM0_UNIT_EN > 0                             // ---------------- 串口0的常量定義 -------------------
#define COMM0_DATA_STREAM_EN           0          // ASCII方式通訊時可采樣XON/XOFF數據流模式來保證數據傳輸
#define COMM0_RXD_EN                   1          // 串口0接收部分使能                              0禁止
#define COMM0_RXD_NBITS                32         // 串口0緩存區大小數據類型                只能是8,16,32
#define COMM0_RXD_GETNMSGS_EN          1          // 串口0的數據計數檢測函數使能                    0禁止
#define COMM0_RXD_GET_EN               1          // 串口0字節接受                                  0禁止  
#define COMM0_RXD_GETS_EN              0          // 串口0接收多數據                                0禁止
#define COMM0_RXD_SIZE                 56*1024    // 串口0的接收緩存配置                          必須>=1
#define COMM0_TXD_EN                   1          // 串口0發送部分使能                              0禁止
#define COMM0_TXD_NBITS                32         // 串口0緩存區大小數據類型                只能是8,16,32
#define COMM0_TXD_PUT_EN               1          // 串口0字節發送                                  0禁止
#define COMM0_TXD_PUTS_EN              1          // 串口0發送多數據                                0禁止
#define COMM0_TXD_SIZE                 16         // 串口0的發送緩存配置                          必須>=1
#endif

#if COMM1_UNIT_EN > 0                             // ---------------- 串口1的常量定義 -------------------
#define COMM1_DATA_STREAM_EN           0          // ASCII方式通訊時可采樣XON/XOFF數據流模式來保證數據傳輸
#define COMM1_RXD_EN                   0          // 串口1接收部分使能                              0禁止
#define COMM1_RXD_NBITS                32         // 串口1緩存區大小數據類型                只能是8,16,32
#define COMM1_RXD_GETNMSGS_EN          0          // 串口1的數據計數檢測函數使能                    0禁止
#define COMM1_RXD_GET_EN               1          // 串口1字節接受                                  0禁止  
#define COMM1_RXD_GETS_EN              0          // 串口1接收多數據                                0禁止
#define COMM1_RXD_SIZE                 32         // 串口1的接收緩存配置                          必須>=1
#define COMM1_TXD_EN                   1          // 串口1發送部分使能                              0禁止
#define COMM1_TXD_NBITS                32         // 串口1緩存區大小數據類型                只能是8,16,32
#define COMM1_TXD_PUT_EN               0          // 串口1字節發送                                  0禁止
#define COMM1_TXD_PUTS_EN              0          // 串口1發送多數據                                0禁止
#define COMM1_TXD_SIZE                 32         // 串口1的發送緩存配置                          必須>=1
#endif
                                                  // -- 當串口的接收需要任務協助處理時下面兩個定義有效 --
#define X0N                            17         // 流控制字符 繼續發送  20%
#define XOFF                           19         // 流控制字符 停止發送  70%
                                                  // 兩個處理CLK模塊臨界數據的兩個宏 這里使用OS的臨界宏
#define COMM_ENTER_CRITICAL() OS_ENTER_CRITICAL() // 進入臨界宏  
#define COMM_EXIT_CRITICAL()  OS_EXIT_CRITICAL()  // 退出臨界宏  

                                                  // ------------ 串口的各種返回信息 不能更改------------
#define COMM_ERR                       0          // 串口配置有錯誤
#define COMM_NO_ERR                    1          // 串口配置沒有錯誤
#define COMM_BAD_BAUD                  2          // 波特率錯誤
#define COMM_BAD_MODE                  3          // 串口工作為錯誤的工作方式 包含校驗 BIT數 停止位數
#define COMM_RXD_EMPTY                 4          // 接收緩存沒有數據 為空
#define COMM_RXD_FALSE                 5          // 接收數據失敗 只多字節接收時返回此信息
#define COMM_RXD_OK                    6          // 接收數據正確
#define COMM_TXD_FALSE                 7          // 發送失敗
#define COMM_TXD_OK                    8          // 發送正確

#endif
/********************************************************************************************************
* 全局變量和數據類型
********************************************************************************************************/
#if COMM_MODULE_EN  > 0

#if    COMM0_UNIT_EN > 0 && COMM0_RXD_EN > 0          // 串口0接收變量
  #if   COMM0_RXD_NBITS ==  8
    typedef INT8U   COMM0_RXD_TYPE;
    #if COMM0_RXD_SIZE > 255
      #error "串口0接收緩沖大小跟數據類型不匹配!只能<=0xff!"
    #endif
  #elif COMM0_RXD_NBITS == 16
    typedef INT16U   COMM0_RXD_TYPE;
    #if COMM0_RXD_SIZE > 0xffff
      #error "串口0接收緩沖大小跟數據類型不匹配!只能<=0xffff!"
    #endif
  #elif COMM0_RXD_NBITS == 32
    typedef INT32U   COMM0_RXD_TYPE;
    #if COMM0_RXD_SIZE > 0xffffffff
      #error "串口0接收緩沖大小跟數據類型不匹配!只能<=0xffffff!"
    #endif
  #else
    #error "串口0接收錯誤的數據類型寬度! 只能為8,16,32!"
  #endif
#endif

#if    COMM0_UNIT_EN > 0 && COMM0_TXD_EN > 0          // 串口0發送變量
  #if   COMM0_TXD_NBITS ==  8
    typedef INT8U   COMM0_TXD_TYPE;
    #if COMM0_TXD_SIZE > 255
      #error "串口0發送緩沖大小跟數據類型不匹配!只能<=0xff!"
    #endif
  #elif COMM0_TXD_NBITS == 16
    typedef INT16U   COMM0_TXD_TYPE;
    #if COMM0_TXD_SIZE > 0xffff
      #error "串口0發送緩沖大小跟數據類型不匹配!只能<=0xffff!"
    #endif
  #elif COMM0_TXD_NBITS == 32
    typedef INT32U   COMM0_TXD_TYPE;
    #if COMM0_TXD_SIZE > 0xffffffff
      #error "串口0發送緩沖大小跟數據類型不匹配!只能<=0xffffff!"
    #endif
  #else
    #error "串口0發送錯誤的數據類型寬度! 只能為8,16,32!"
  #endif
#endif


#if    COMM1_UNIT_EN > 0 && COMM1_RXD_EN > 0          // 串口1接收變量
  #if   COMM1_RXD_NBITS ==  8
    typedef INT8U   COMM1_RXD_TYPE;
    #if COMM1_RXD_SIZE > 255
      #error "串口1接收緩沖大小跟數據類型不匹配!只能<=0xff!"
    #endif
  #elif COMM1_RXD_NBITS == 16
    typedef INT16U   COMM1_RXD_TYPE;
    #if COMM1_RXD_SIZE > 0xffff
      #error "串口1接收緩沖大小跟數據類型不匹配!只能<=0xffff!"
    #endif
  #elif COMM1_RXD_NBITS == 32
    typedef INT32U   COMM1_RXD_TYPE;
    #if COMM1_RXD_SIZE > 0xffffffff
      #error "串口1接收緩沖大小跟數據類型不匹配!只能<=0xffffff!"
    #endif
  #else
    #error "串口1接收錯誤的數據類型寬度! 只能為8,16,32!"
  #endif
#endif

#if    COMM1_UNIT_EN > 0 && COMM1_TXD_EN > 0          // 串口1發送變量
  #if   COMM1_TXD_NBITS ==  8
    typedef INT8U   COMM1_TXD_TYPE;
    #if COMM1_TXD_SIZE > 255
      #error "串口1發送緩沖大小跟數據類型不匹配!只能<=0xff!"
    #endif
  #elif COMM1_TXD_NBITS == 16
    typedef INT16U   COMM1_TXD_TYPE;
    #if COMM1_TXD_SIZE > 0xffff
      #error "串口1發送緩沖大小跟數據類型不匹配!只能<=0xffff!"
    #endif
  #elif COMM1_TXD_NBITS == 32
    typedef INT32U   COMM1_TXD_TYPE;
    #if COMM1_TXD_SIZE > 0xffffffff
      #error "串口1發送緩沖大小跟數據類型不匹配!只能<=0xffffff!"
    #endif
  #else
    #error "串口1發送錯誤的數據類型寬度! 只能為8,16,32!"
  #endif
#endif

#endif
/********************************************************************************************************
* 函數
********************************************************************************************************/
#if COMM_MODULE_EN > 0

#if COMM0_UNIT_EN > 0
void   Comm0Init        (void);
INT8U  Comm0CfgPort     (INT32U baud, INT8U parity, INT8U bits, INT8U stops);

INT8U  Comm0RxGetChar   (INT8U *err);
INT16U Comm0RxGetNMsgs  (void);
INT8U  Comm0RxGetsChar  (INT8U *s, COMM0_RXD_TYPE len);

INT8U  Comm0TxPutChar   (INT8U Data);
INT8U  Comm0TxPutsChar  (INT8U *s, COMM0_TXD_TYPE len);
#endif

#if COMM1_UNIT_EN > 0
void   Comm1Init        (void);
INT8U  Comm1CfgPort     (INT32U baud, INT8U parity, INT8U bits, INT8U stops);

INT8U  Comm1RxGetChar   (INT8U *err);
INT16U Comm1RxGetNMsgs  (void);
INT8U  Comm1RxGetsChar  (INT8U *s, COMM1_RXD_TYPE len);

INT8U  Comm1TxPutChar   (INT8U Data);
INT8U  Comm1TxPutsChar  (INT8U *s, COMM1_TXD_TYPE len);
#endif


#endif
/********************************************************************************************************
*                                             End Of File
********************************************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
69久久99精品久久久久婷婷| 日本vs亚洲vs韩国一区三区| 国产成人啪午夜精品网站男同| 日韩精品中文字幕在线一区| 美女诱惑一区二区| 精品国产自在久精品国产| 狠狠色丁香婷婷综合| 久久精品亚洲一区二区三区浴池| 风间由美一区二区三区在线观看| 亚洲视频综合在线| 欧美性大战久久| 日本不卡的三区四区五区| 精品国产1区二区| 国产成人精品综合在线观看| 国产精品白丝在线| 欧美美女一区二区在线观看| 美女视频网站久久| 国产女人18毛片水真多成人如厕| 91色在线porny| 青青草原综合久久大伊人精品| 久久婷婷国产综合精品青草| 99国产精品国产精品毛片| 亚洲.国产.中文慕字在线| www成人在线观看| 91网站在线观看视频| 午夜精品一区二区三区三上悠亚| 久久综合九色综合97婷婷女人 | 一区二区视频免费在线观看| 欧美日韩国产一区二区三区地区| 久久精品国产精品亚洲精品| 自拍偷拍国产精品| 日韩欧美一级精品久久| 99精品视频一区| 看电视剧不卡顿的网站| 亚洲色图欧洲色图婷婷| 日韩欧美国产精品| 97国产一区二区| 精品无码三级在线观看视频| 亚洲黄色片在线观看| 久久久久9999亚洲精品| 欧美挠脚心视频网站| 99视频在线精品| 国产在线国偷精品免费看| 一区二区国产盗摄色噜噜| 久久九九全国免费| 欧美一区永久视频免费观看| 色天天综合久久久久综合片| 国产乱淫av一区二区三区| 天堂影院一区二区| 亚洲视频免费在线| 中文一区二区完整视频在线观看| 91精品午夜视频| 欧美午夜电影一区| caoporn国产精品| 国产福利一区二区三区在线视频| 亚洲.国产.中文慕字在线| 亚洲欧美国产77777| 欧美国产精品v| 综合电影一区二区三区| 久久男人中文字幕资源站| 欧美一区二区三区电影| 欧美少妇bbb| 色综合天天性综合| 成人a免费在线看| 国产精品一区三区| 经典三级视频一区| 免费观看久久久4p| 日韩不卡免费视频| 日韩精品一区第一页| 亚洲一区二区欧美| 亚洲国产成人91porn| 亚洲综合精品自拍| 亚洲欧美电影一区二区| 亚洲你懂的在线视频| 亚洲四区在线观看| 国产精品家庭影院| 亚洲欧美日韩一区二区三区在线观看| 欧美经典一区二区| 国产目拍亚洲精品99久久精品| 久久伊99综合婷婷久久伊| 亚洲精品在线三区| 国产亚洲精久久久久久| 国产亚洲精品资源在线26u| 欧美精品一区二| 久久久99久久| 国产精品天天看| 亚洲欧美乱综合| 亚洲不卡av一区二区三区| 久久综合狠狠综合久久激情| 欧美电影免费观看高清完整版| 亚洲精品国产高清久久伦理二区| 久久久无码精品亚洲日韩按摩| 久久影视一区二区| 久久日一线二线三线suv| 久久精品夜色噜噜亚洲a∨| 国产精品天天看| 亚洲主播在线播放| 亚洲大尺度视频在线观看| 日韩av不卡在线观看| 国产在线麻豆精品观看| 9i在线看片成人免费| 欧美在线一区二区三区| 欧美一激情一区二区三区| 久久色成人在线| 亚洲美女一区二区三区| 日韩专区在线视频| 国产毛片精品国产一区二区三区| 成人av高清在线| 在线播放中文一区| 久久久不卡网国产精品二区| 亚洲欧美一区二区不卡| 日韩精品一区第一页| 国产成人午夜视频| 91福利精品视频| 精品国产伦一区二区三区观看体验 | 精品成人私密视频| 日本一区二区三区国色天香| 亚洲精品综合在线| 久久99精品国产.久久久久久| 精品一区二区在线免费观看| www.av亚洲| 欧美一区二区网站| 中文字幕亚洲综合久久菠萝蜜| 亚洲高清不卡在线| 成人一区二区三区视频| 欧美日韩另类国产亚洲欧美一级| 久久久久久**毛片大全| 亚洲成人免费视频| av资源站一区| 日韩欧美亚洲国产精品字幕久久久| 最新国产の精品合集bt伙计| 精品无码三级在线观看视频| 欧美性大战久久| 国产精品久久久爽爽爽麻豆色哟哟| 日韩av午夜在线观看| jlzzjlzz亚洲女人18| 久久夜色精品国产噜噜av| 亚洲一区在线观看免费观看电影高清 | 欧美男生操女生| 国产精品福利影院| 男女男精品网站| 欧美三级电影网站| 国产精品久久影院| 国产高清不卡一区| 精品国产一区二区亚洲人成毛片 | 亚洲精品国产成人久久av盗摄 | 床上的激情91.| 日韩一区二区麻豆国产| 亚洲资源在线观看| 92精品国产成人观看免费| 久久毛片高清国产| 久久国产精品99精品国产| 欧美精品在欧美一区二区少妇| 亚洲三级理论片| 99久久99久久精品免费观看| 国产午夜精品在线观看| 韩国三级在线一区| 精品免费一区二区三区| 日本中文字幕一区| 欧美一区二区日韩| 日韩av一区二区三区四区| 884aa四虎影成人精品一区| 亚洲国产wwwccc36天堂| 欧美三电影在线| 亚洲一区中文在线| 欧美日韩一区二区三区在线| 亚洲成人免费观看| 欧美日韩国产高清一区二区 | 欧美一区二区视频观看视频| 日本欧美一区二区三区| 91精品国产综合久久福利| 日韩高清欧美激情| 91精品国产综合久久精品图片| 天天爽夜夜爽夜夜爽精品视频| 欧美三级电影网站| 日本中文在线一区| 欧美成人三级在线| 国产美女主播视频一区| 欧美国产精品久久| 97精品超碰一区二区三区| 樱花影视一区二区| 欧美日韩高清一区二区不卡| 免费在线观看成人| 国产亚洲综合性久久久影院| 成人一区二区三区视频在线观看| 国产精品久久99| 欧美日韩在线播放三区| 蜜桃免费网站一区二区三区| 亚洲精品一区二区三区蜜桃下载| 国产精品538一区二区在线| 国产精品国产三级国产普通话三级 | 日韩精品亚洲专区| 欧美成人国产一区二区| 高清国产午夜精品久久久久久| 中文字幕av一区二区三区高| 91偷拍与自偷拍精品| 午夜国产精品影院在线观看| 精品国产伦理网| 色综合天天综合网天天看片| 五月婷婷色综合|