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

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

?? rd_useserialbuff.s

?? LCD1602鍵盤顯示模塊實例
?? S
?? 第 1 頁 / 共 2 頁
字號:
	.module RD_UseSerialBuff.c
	.area text(rom, con, rel)
	.dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\RD_UseSerialBuff.c
	.area data(ram, con, rel)
	.dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\RD_UseSerialBuff.c
_UARTRxBuffHead:
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\RD_UseSerialBuff.c
_UARTRxBuffTail:
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\RD_UseSerialBuff.c
_UARTRxBuffCounter:
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\RD_UseSerialBuff.c
_UARTTxBuffHead:
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\RD_UseSerialBuff.c
_UARTTxBuffTail:
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\RD_UseSerialBuff.c
_UARTTxBuffCounter:
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\RD_UseSerialBuff.c
_g_bIfSerialTransmitCompleted::
	.blkb 1
	.area idata
	.byte 1
	.area data(ram, con, rel)
	.dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\RD_UseSerialBuff.c
	.area text(rom, con, rel)
	.dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\RD_UseSerialBuff.c
	.dbfunc e UARTgetDataFromRxBuff _UARTgetDataFromRxBuff fc
;           Data -> R16,R17
	.even
_UARTgetDataFromRxBuff::
	.dbline -1
	.dbline 139
; /***********************************************************
; *   函數庫說明:串行通訊緩沖區處理函數庫                   *
; *   版本:      v1.00                                      *
; *   作者:      王卓然                                     *
; *   創建日期:  2006年4月24日                              *
; * -------------------------------------------------------- *
; *  [支 持 庫]                                              *
; *   支持庫名稱:RD_MacroAndConst.h                         *
; *   需要版本:  v0.01 &abv                                 *
; *   函數庫說明:系統常用宏定義庫                           *
; *                                                          *
; *   支持庫名稱:RD_UseSerialBuff.h                         *
; *   需要版本:  -----                                      *
; *   聲明庫說明:串行通訊緩沖區處理聲明庫                   *
; * -------------------------------------------------------- *
; *  [版本更新]                                              *
; *   修改:      王卓然                                     *
; *   修改日期:  2006年5月20日                              *
; *   版本:      v0.31                                      *
; *                                                          *
; *   修改:      王卓然                                     *
; *   修改日期:  2007年3月1日                               *
; *   版本:      v0.40                                      *
; *                                                          *
; *   修改:      王卓然                                     *
; *   修改日期:  2007年3月2日                               *
; *   版本:      v1.00                                      *
; * -------------------------------------------------------- *
; *  [版本歷史]                                              *
; *       v0.30  該版本提供了最基本的環形隊列緩沖區操作函數。*
; *       v0.31  增加了調用該函數時候的宏說明,可以選擇需要  *
; *              提供的緩沖區功能。                          *
; *       v0.40  增加了串口發送進程。增加了原子操作。        *
; *       v1.00  針對新規范進行了修改,增加自動收發進程。    *
; * -------------------------------------------------------- *
; *  [使用說明]                                              *
; *           1、通過SERIAL_RX_BUFF_SIZE來設定接收緩沖區的大 *
; *              ??;通過SERIAL_TX_BUFF_SIZE來設定發送緩沖區 *
; *              的大小。                                    *
; *           2、通過定義_USE_SERIAL_RX_BUFF來選擇添加一個接 *
; *              收緩沖區;通過定義_USE_SERIAL_TX_BUFF來添加 *
; *              一個發送緩沖區。                            *
; *           3、在取數的時候,有時候要考慮屏蔽中斷,否則會  *
; *              出現不可預知的后果。                        *
; *           4、可以通過宏_USE_SERIAL_TX_TRANSMITTER_PROC在 *
; *              使用發送緩沖時,使用自動發送進程。并需要定  *
; *              義宏UDR_PORT來指定發送端口、也需要將宏      *
; *              SERIAL_INSERT_USART_TX_ISR_CODE插入到發送完 *
; *              成中斷處理程序中。                          *
; *           5、使用宏SERIAL_ENABLE_WRITE定義額外的發送使能 *
; *              代碼。例如485總線的發送使能等。             *
; *           6、使用宏SERIAL_DISABLE_WRITE定義額外的發送使  *
; *              能關閉代碼。例如485總線發送使能的關閉。     *
; ***********************************************************/
; 
; /********************
; * 頭 文 件 配 置 區 *
; ********************/
; # include "LIB_Config.h"
; # include "RD_MacroAndConst.h"
; # include "RD_UseSerialBuff.h"
; 
; /********************
; *   系 統 宏 定 義  *
; ********************/
; 
; /*------------------*
; *   常 數 宏 定 義  *
; *------------------*/
; #ifndef SERIAL_RX_BUFF_SIZE
;     # define SERIAL_RX_BUFF_SIZE 32
; #endif
; #ifndef SERIAL_TX_BUFF_SIZE
;     # define SERIAL_TX_BUFF_SIZE 32
; #endif
; #ifdef _USE_SERIAL_TX_TRANSMITTER_PROC
;     #ifndef UDR_PORT
;         # error Need for UDR_PORT!
;     #endif
; 
;     #ifndef SERIAL_ENABLE_WRITE
;         # define SERIAL_ENABLE_WRITE
;     #endif
; 
;     #ifndef SERIAL_DISABLE_WRITE
;         # define SERIAL_DISABLE_WRITE
;     #endif
; #endif
; /********************
; *   函 數 聲 明 區  *
; ********************/
; #ifdef _USE_SERIAL_RX_BUFF
; BOOL UARTaddDataToRxBuff(uint8 Data);
; BOOL UARTgetDataFromRxBuff(uint8 *Data);
; #endif
; 
; #ifdef _USE_SERIAL_TX_BUFF
; BOOL UARTaddDataToTxBuff(uint8 Data);
; BOOL UARTgetDataFromTxBuff(uint8 *Data);
;     #ifdef _USE_SERIAL_TX_TRANSMITTER_PROC
; BOOL PROC_Serial_Transmitter(void);
;     #endif
; #endif
; 
; /********************
; *   模塊變量定義區  *
; ********************/
; #ifdef _USE_SERIAL_RX_BUFF
; static uint8  UARTRxBuff[SERIAL_RX_BUFF_SIZE];
; static unsigned int  UARTRxBuffHead = 0;
; static unsigned int  UARTRxBuffTail = 0;
; static unsigned int  UARTRxBuffCounter = 0;
; #endif
; 
; #ifdef _USE_SERIAL_TX_BUFF
; static uint8  UARTTxBuff[SERIAL_TX_BUFF_SIZE];
; static unsigned int  UARTTxBuffHead = 0;
; static unsigned int  UARTTxBuffTail = 0;
; static unsigned int  UARTTxBuffCounter = 0;
; #endif
;  
; /********************
; *   全局變量定義區  *
; ********************/
; #ifdef _USE_SERIAL_TX_BUFF
;     #ifdef _USE_SERIAL_TX_TRANSMITTER_PROC
; BOOL g_bIfSerialTransmitCompleted = TRUE;
;     #endif
; #endif
; 
; /***********************************************************
; *   函數說明:接收緩沖區取值函數                           *
; *   輸入:    存儲取出數據地址的指針                       *
; *   輸出:    取值是否成功                                 *
; *   調用函數:無                                           *
; ***********************************************************/
; #ifdef _USE_SERIAL_RX_BUFF
; BOOL UARTgetDataFromRxBuff(uint8  *Data)
; {
	.dbline 140
;     SAFE_CODE_PERFORMANCE
	cli
	.dbline 140
	lds R2,_UARTRxBuffTail
	lds R3,_UARTRxBuffTail+1
	lds R4,_UARTRxBuffHead
	lds R5,_UARTRxBuffHead+1
	cp R4,R2
	cpc R5,R3
	brne L2
X0:
	lds R2,_UARTRxBuffCounter
	lds R3,_UARTRxBuffCounter+1
	tst R2
	brne L2
	tst R3
	brne L2
X1:
	.dbline 140
	.dbline 140
	sei
	.dbline 140
	clr R16
	xjmp L1
L2:
	.dbline 140
	lds R2,_UARTRxBuffHead
	lds R3,_UARTRxBuffHead+1
	movw R24,R2
	adiw R24,1
	sts _UARTRxBuffHead+1,R25
	sts _UARTRxBuffHead,R24
	ldi R24,<_UARTRxBuff
	ldi R25,>_UARTRxBuff
	movw R30,R2
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	movw R30,R16
	std z+0,R2
	.dbline 140
	lds R24,_UARTRxBuffCounter
	lds R25,_UARTRxBuffCounter+1
	sbiw R24,1
	sts _UARTRxBuffCounter+1,R25
	sts _UARTRxBuffCounter,R24
	.dbline 140
	lds R24,_UARTRxBuffHead
	lds R25,_UARTRxBuffHead+1
	cpi R24,32
	ldi R30,0
	cpc R25,R30
	brne L4
X2:
	.dbline 140
	.dbline 140
	clr R2
	clr R3
	sts _UARTRxBuffHead+1,R3
	sts _UARTRxBuffHead,R2
	.dbline 140
L4:
	.dbline 140
	.dbline 140
	sei
	.dbline 157
;     (
;         if ((UARTRxBuffHead == UARTRxBuffTail) 
;          && (UARTRxBuffCounter == 0))
;         {
;             SEI();
;             return FALSE;
;         }
;         (*Data) = UARTRxBuff[UARTRxBuffHead++];
;     
;         UARTRxBuffCounter--;
;     
;         if (UARTRxBuffHead == SERIAL_RX_BUFF_SIZE)
;         {
;             UARTRxBuffHead = 0;
;         }
;     )		
;     return TRUE;
	ldi R16,1
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbsym r Data 16 pc
	.dbend
	.dbfunc e UARTPeekDataFromRxBuff _UARTPeekDataFromRxBuff fc
;          pData -> R16,R17
	.even
_UARTPeekDataFromRxBuff::
	.dbline -1
	.dbline 167
; }
; 
; /***********************************************************
; *   函數說明:接收緩沖區首數據察看函數                     *
; *   輸入:    存儲取出數據地址的指針                       *
; *   輸出:    取值是否成功                                 *
; *   調用函數:無                                           *
; ***********************************************************/
; BOOL UARTPeekDataFromRxBuff(uint8 *pData)
; {
	.dbline 168
;     SAFE_CODE_PERFORMANCE
	cli
	.dbline 168
	lds R2,_UARTRxBuffTail
	lds R3,_UARTRxBuffTail+1
	lds R4,_UARTRxBuffHead
	lds R5,_UARTRxBuffHead+1
	cp R4,R2
	cpc R5,R3
	brne L7
X3:
	lds R2,_UARTRxBuffCounter
	lds R3,_UARTRxBuffCounter+1
	tst R2
	brne L7
	tst R3
	brne L7
X4:
	.dbline 168
	.dbline 168
	sei
	.dbline 168
	clr R16
	xjmp L6
L7:
	.dbline 168
	ldi R24,<_UARTRxBuff
	ldi R25,>_UARTRxBuff
	lds R30,_UARTRxBuffHead
	lds R31,_UARTRxBuffHead+1
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	movw R30,R16
	std z+0,R2
	.dbline 168
	.dbline 168
	sei
	.dbline 178
;     (
;         if ((UARTRxBuffHead == UARTRxBuffTail) 
;          && (UARTRxBuffCounter == 0))
;         {
;             SEI();
;             return FALSE;
;         }
;         (*pData) = UARTRxBuff[UARTRxBuffHead];
;     )		
;     return TRUE;
	ldi R16,1
	.dbline -2
L6:
	.dbline 0 ; func end
	ret
	.dbsym r pData 16 pc
	.dbend
	.dbfunc e UARTaddDataToRxBuff _UARTaddDataToRxBuff fc
;           Data -> R16
	.even
_UARTaddDataToRxBuff::
	.dbline -1
	.dbline 188
; }
; 
; /***********************************************************
; *  函數說明:向通訊輸入緩沖區添加數據函數                  *
; *  輸入:    收到的數據                                    *
; *  輸出:    無                                            *
; *  調用函數:無                                            *
; ***********************************************************/
; BOOL UARTaddDataToRxBuff(uint8  Data)
; {
	.dbline 189
;     SAFE_CODE_PERFORMANCE
	cli
	.dbline 189
	lds R2,_UARTRxBuffTail
	lds R3,_UARTRxBuffTail+1
	lds R4,_UARTRxBuffHead
	lds R5,_UARTRxBuffHead+1
	cp R4,R2
	cpc R5,R3
	brne L10
X5:
	lds R24,_UARTRxBuffCounter
	lds R25,_UARTRxBuffCounter+1
	cpi R24,32
	ldi R30,0
	cpc R25,R30
	brne L10
X6:
	.dbline 189
	.dbline 189
	sei
	.dbline 189
	clr R16
	xjmp L9
L10:
	.dbline 189
	lds R2,_UARTRxBuffTail
	lds R3,_UARTRxBuffTail+1
	movw R24,R2
	adiw R24,1
	sts _UARTRxBuffTail+1,R25
	sts _UARTRxBuffTail,R24
	ldi R24,<_UARTRxBuff
	ldi R25,>_UARTRxBuff
	movw R30,R2
	add R30,R24
	adc R31,R25
	std z+0,R16
	.dbline 189
	lds R24,_UARTRxBuffCounter
	lds R25,_UARTRxBuffCounter+1
	adiw R24,1
	sts _UARTRxBuffCounter+1,R25
	sts _UARTRxBuffCounter,R24
	.dbline 189
	lds R24,_UARTRxBuffTail
	lds R25,_UARTRxBuffTail+1
	cpi R24,32
	ldi R30,0
	cpc R25,R30
	brne L12

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品1区2区| 成人高清视频在线观看| 久久久久久久精| a级高清视频欧美日韩| 日韩电影免费一区| 国产精品久久毛片av大全日韩| 欧美性一二三区| 丁香啪啪综合成人亚洲小说| 夜夜夜精品看看| 2021中文字幕一区亚洲| 色婷婷亚洲综合| 成人午夜激情视频| 美女视频一区在线观看| 自拍av一区二区三区| 国产午夜精品一区二区三区视频| 在线中文字幕一区二区| 精品视频1区2区| 另类中文字幕网| 国产精品午夜电影| 制服丝袜一区二区三区| 99re亚洲国产精品| 国v精品久久久网| 捆绑紧缚一区二区三区视频| 亚洲精品成人精品456| 亚洲欧美在线视频| 国产色产综合色产在线视频| 3d动漫精品啪啪1区2区免费| 欧美撒尿777hd撒尿| 99久久免费精品高清特色大片| 久久精品国产99国产| 天天av天天翘天天综合网 | 欧美性生交片4| 色综合色综合色综合 | 激情综合网av| 日韩av在线播放中文字幕| 亚洲一区二区三区美女| 国产精品灌醉下药二区| 在线不卡中文字幕播放| 日本精品视频一区二区| 99久久婷婷国产综合精品电影| 国产成人一级电影| 国产成人自拍高清视频在线免费播放| 美日韩黄色大片| 日韩激情一区二区| 日韩和欧美的一区| 蜜桃久久精品一区二区| 久久国内精品视频| 青青草精品视频| 日本在线不卡一区| 亚洲一本大道在线| 五月婷婷综合网| 午夜激情久久久| 亚洲成a人片在线观看中文| 日本不卡一二三区黄网| 免费成人你懂的| 精品一区二区影视| 成人久久18免费网站麻豆| 成人涩涩免费视频| av在线这里只有精品| 国产ts人妖一区二区| av在线一区二区| 欧美日韩国产片| 日韩午夜电影av| www国产成人| 国产精品久久久久久久久果冻传媒| 国产精品久久久久久亚洲伦| 中文字幕一区二区三区精华液| 久久久久九九视频| 国产精品久久久久久福利一牛影视| 亚洲人成人一区二区在线观看| 久久草av在线| 国产高清视频一区| 久久成人免费电影| 成人动漫在线一区| 在线精品亚洲一区二区不卡| 欧美四级电影网| 久久综合网色—综合色88| 国产日韩精品久久久| 亚洲欧美日韩综合aⅴ视频| 男女视频一区二区| 成人妖精视频yjsp地址| 91理论电影在线观看| 欧美日本一区二区在线观看| 欧美大片在线观看| 国产精品乱码人人做人人爱| 亚洲乱码日产精品bd| 日韩av在线免费观看不卡| 夫妻av一区二区| www.欧美日韩国产在线| 日韩午夜av电影| 中文字幕一区二区三区在线不卡 | 91蜜桃在线免费视频| 欧美日韩高清不卡| 日韩一区二区中文字幕| 亚洲天天做日日做天天谢日日欢 | 欧美一区二区三区在线观看| 日韩欧美一区二区视频| 亚洲男人天堂av| 捆绑调教一区二区三区| 色偷偷久久一区二区三区| 久久久精品天堂| 性做久久久久久免费观看| 国产一区二区美女| 911精品国产一区二区在线| 中文字幕不卡在线观看| 亚洲成a人片综合在线| 色综合网色综合| 久久精品一区二区三区不卡牛牛 | 国产欧美一区二区三区网站 | 777亚洲妇女| 亚洲女同一区二区| 国产精品一区一区三区| 欧美剧在线免费观看网站| 国产精品丝袜久久久久久app| 日韩一区精品字幕| 99精品偷自拍| 久久精品一区二区三区不卡牛牛| 亚洲欧美偷拍卡通变态| av午夜一区麻豆| 欧美精品一区二区三区蜜臀| 亚洲国产精品久久不卡毛片| 91国产精品成人| 国产欧美视频一区二区| 美女一区二区三区在线观看| 欧美猛男gaygay网站| 国产精品初高中害羞小美女文| 久久91精品国产91久久小草| 在线不卡免费av| 国产精品国产三级国产aⅴ中文 | 7777精品久久久大香线蕉| 一区二区三区在线看| 99亚偷拍自图区亚洲| 日本一区二区免费在线观看视频| 国产v综合v亚洲欧| 国产区在线观看成人精品| 精品一区二区三区在线观看| 久久婷婷久久一区二区三区| 麻豆久久久久久| 欧美精品久久久久久久多人混战| 亚洲国产日韩a在线播放| 一本久久a久久免费精品不卡| 国产精品每日更新在线播放网址 | 在线观看www91| 亚洲视频 欧洲视频| 99久久免费视频.com| 亚洲欧美区自拍先锋| 色综合天天综合色综合av | 国产一区二区h| 国产亚洲欧美一级| 99在线热播精品免费| 一区二区三区在线影院| 欧美高清精品3d| 久久精品国产精品亚洲综合| 国产日韩精品一区二区三区 | 成人av电影免费在线播放| 欧美国产日韩一二三区| 99精品1区2区| 亚洲高清视频中文字幕| 欧美电视剧免费观看| 不卡一卡二卡三乱码免费网站| 亚洲夂夂婷婷色拍ww47| 日韩一区二区三区免费观看| 韩国精品主播一区二区在线观看| 中文字幕va一区二区三区| 色综合久久88色综合天天6 | 亚洲成人资源网| 亚洲精品一区二区三区蜜桃下载| 成人免费高清在线观看| 亚洲高清不卡在线观看| 26uuu精品一区二区| 色婷婷久久久综合中文字幕 | 亚洲3atv精品一区二区三区| 精品国一区二区三区| proumb性欧美在线观看| 亚洲成人av中文| 国产欧美日韩综合精品一区二区| 欧洲人成人精品| 国产成人免费在线| 亚洲超丰满肉感bbw| 欧美韩国日本综合| 91麻豆精品国产无毒不卡在线观看 | 成人在线视频首页| 亚洲第一二三四区| 国产亚洲一区二区在线观看| 日本道在线观看一区二区| 韩国理伦片一区二区三区在线播放| 亚洲免费伊人电影| 久久先锋影音av鲁色资源网| 欧美亚洲一区二区在线观看| 国产乱国产乱300精品| 亚洲国产成人av网| 国产精品久久久久久亚洲伦| 日韩一级片在线观看| 一本到三区不卡视频| 欧美丝袜自拍制服另类| 成人动漫一区二区三区| 蜜臀av性久久久久蜜臀aⅴ| 亚洲精品乱码久久久久久黑人| 久久久精品国产免大香伊| 欧美一区二区三区免费视频|