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

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

?? printer.h

?? ARM7嵌入式開發的熱敏打印機程序
?? H
字號:
/****************************************Copyright (c)**************************************************
**                               廣州周立功單片機發展有限公司
**                                     研    究    所
**                                        產品一部 
**
**                                 http://www.zlgmcu.com
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: printer.h
**創   建   人: 陳明計
**最后修改日期: 2004年3月19日
**描        述: 用IO口模擬打印口的出動程序 for lpc2000
**
**--------------歷史版本信息----------------------------------------------------------------------------
** 創建人: 陳明計
** 版  本: v1.0
** 日 期: 2004年3月19日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
** 修改人:
** 版  本:
** 日 期:
** 描 述:
**
**--------------當前版本修訂------------------------------------------------------------------------------
** 修改人: 
** 日 期: 
** 描 述: 
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
/*********************************************************************************************************
**                            錯誤信息提示
********************************************************************************************************/
#define P0  0
#define P1  1
#define P2  2

#ifndef P_DATA_BASE
#error  "define P_DATA_BASE err: P_DATA_BASE must be define in config.h"
#endif

#if P_DATA_BASE != P0 && P_DATA_BASE != P1 && P_DATA_BASE != P2
#error  "define P_DATA_BASE err: P_DATA_BASE must be P0 or P1 or P2."
#endif

#ifndef P_CTR_BASE
#error  "define P_CTR_BASE err: P_CTR_BASE must be define in config.h"
#endif

#if P_CTR_BASE != P0 && P_CTR_BASE != P1 && P_CTR_BASE != P2
#error  "define P_CTR_BASE err: P_CTR_BASE must be P0 or P1 or P2."
#endif

#ifndef P_STATE_BASE
#error  "define P_STATE_BASE err: P_STATE_BASE must be define in config.h"
#endif

#if P_STATE_BASE != P0 && P_STATE_BASE != P1 && P_STATE_BASE != P2
#error  "define P_STATE_BASE err: P_STATE_BASE must be P0 or P1 or P2."
#endif

#ifndef P_DATA_OFFSET
#error  "define P_DATA_OFFSET err: P_DATA_OFFSET must be define in config.h"
#endif

#if P_DATA_OFFSET > 24
#error  "define P_DATA_OFFSET err: P_DATA_OFFSET must be <= 24"
#endif

#ifndef P_CTR_OFFSET
#error  "define P_CTR_OFFSET err: P_CTR_OFFSET must be define in config.h"
#endif

#if P_CTR_OFFSET > 26
#error  "define P_CTR_OFFSET err: P_CTR_OFFSET must be <= 26"
#endif

#ifndef P_STATE_OFFSET
#error  "define P_STATE_OFFSET err: P_STATE_OFFSET must be define in config.h"
#endif

#if P_STATE_OFFSET > 27
#error  "define P_STATE_OFFSET err: P_STATE_OFFSET must be <= 27"
#endif

#if P_DATA_BASE == P_CTR_BASE
#if P_DATA_OFFSET < P_CTR_OFFSET && (P_DATA_OFFSET + 8) > P_CTR_OFFSET
#error  "define P_DATA_OFFSET err: This GPIO already use by CTR PORT"
#endif
#if P_DATA_OFFSET > P_CTR_OFFSET & (P_DATA_OFFSET + 6) > P_DATA_OFFSET
#error  "define P_DATA_OFFSET err: This GPIO already use by CTR PORT"
#endif
#endif 

#if P_DATA_BASE == P_STATE_BASE
#if (P_DATA_OFFSET < P_STATE_OFFSET) && (P_DATA_OFFSET + 8) > P_STATE_OFFSET
#error  "define P_DATA_OFFSET err: This GPIO already use by STATE PORT"
#endif
#if (P_DATA_OFFSET > P_STATE_OFFSET) && (P_STATE_OFFSET + 5) > P_DATA_OFFSET
#error  "define P_DATA_OFFSET err: This GPIO already use by STATE PORT"
#endif
#endif 

#if P_CTR_BASE == P_STATE_BASE
#if P_CTR_OFFSET < P_STATE_OFFSET && (P_CTR_OFFSET + 6) > P_STATE_OFFSET 
#error  "define P_DATA_OFFSET err: This GPIO already use by CTR PORT"
#endif
#if P_CTR_OFFSET < P_STATE_OFFSET && (P_STATE_OFFSET + 5) > P_CTR_OFFSET
#error  "define P_DATA_OFFSET err: This GPIO already use by CTR PORT"
#endif
#endif 


/*********************************************************************************************************
**                            錯誤信息提示完畢
********************************************************************************************************/

#ifdef IN_PRINTER
/* 定義數據口寄存器 */
#if P_DATA_BASE == P0
#define DATA_PORT_CLR    IO0CLR
#define DATA_PORT_SET    IO0SET
#define DATA_PORT_DIR    IO0DIR
#define DATA_PORT_PIN    IO0PIN
#endif

#if P_DATA_BASE == P1
#define DATA_PORT_CLR    IO1CLR
#define DATA_PORT_SET    IO1SET
#define DATA_PORT_DIR    IO1DIR
#define DATA_PORT_PIN    IO1PIN
#endif

#if P_DATA_BASE == P2
#define DATA_PORT_CLR    IO2CLR
#define DATA_PORT_SET    IO2SET
#define DATA_PORT_DIR    IO2DIR
#define DATA_PORT_PIN    IO2PIN
#endif

#endif

/* 控制口相關定義 */
#define P_STROBE    (P_CTR_OFFSET + 0)
#define P_AUTOFD    (P_CTR_OFFSET + 1)
#define P_INIT      (P_CTR_OFFSET + 2)
#define P_SELIN     (P_CTR_OFFSET + 3)
#define P_BI_DIR    (P_CTR_OFFSET + 5)

#if P_CTR_BASE == P0
#define CTR_PORT_CLR    IO0CLR
#define CTR_PORT_SET    IO0SET
#define CTR_PORT_DIR    IO0DIR
#define CTR_PORT_PIN    IO0PIN
#endif

#if P_CTR_BASE == P1
#define CTR_PORT_CLR    IO1CLR
#define CTR_PORT_SET    IO1SET
#define CTR_PORT_DIR    IO1DIR
#define CTR_PORT_PIN    IO1PIN
#endif

#if P_CTR_BASE == P2
#define CTR_PORT_CLR    IO2CLR
#define CTR_PORT_SET    IO2SET
#define CTR_PORT_DIR    IO2DIR
#define CTR_PORT_PIN    IO2PIN
#endif


#ifdef IN_PRINTER
/* 狀態口相關定義 */
#define P_ERROR         (P_STATE_OFFSET + 0)
#define P_SEL           (P_STATE_OFFSET + 1)
#define P_PE            (P_STATE_OFFSET + 2)
#define P_ACK           (P_STATE_OFFSET + 3)
#define P_BUSY          (P_STATE_OFFSET + 4)

#if P_STATE_BASE == P0
#define STATE_PORT_CLR    IO0CLR
#define STATE_PORT_SET    IO0SET
#define STATE_PORT_DIR    IO0DIR
#define STATE_PORT_PIN    IO0PIN
#endif

#if P_STATE_BASE == P1
#define STATE_PORT_CLR    IO1CLR
#define STATE_PORT_SET    IO1SET
#define STATE_PORT_DIR    IO1DIR
#define STATE_PORT_PIN    IO1PIN
#endif

#if P_STATE_BASE == P2
#define STATE_PORT_CLR    IO2CLR
#define STATE_PORT_SET    IO2SET
#define STATE_PORT_DIR    IO2DIR
#define STATE_PORT_PIN    IO2PIN
#endif

#endif
/*********************************************************************************************************
**                            相關定義結束
********************************************************************************************************/

#define SetStrobe()     CTR_PORT_CLR = 1 << P_STROBE
/*********************************************************************************************************
** 函數名稱: SetStrobe
** 功能描述: 將Strobe信號設置為高電平
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無 
********************************************************************************************************/

#define ClrStrobe()     CTR_PORT_SET = 1 << P_STROBE
/*********************************************************************************************************
** 函數名稱: ClrStrobe
** 功能描述: 將Strobe信號設置為低電平
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無 
********************************************************************************************************/

#define SetAutoFD()     CTR_PORT_CLR = 1 << P_AUTOFD
/*********************************************************************************************************
** 函數名稱: SetAutoFD
** 功能描述: 將AutoFD信號設置為高電平
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無 
********************************************************************************************************/

#define ClrAutoFD()     CTR_PORT_SET = 1 << P_AUTOFD
/*********************************************************************************************************
** 函數名稱: ClrAutoFD
** 功能描述: 將AutoFD信號設置為低電平
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無 
********************************************************************************************************/

#define SetInit()       CTR_PORT_CLR = 1 << P_INIT
/*********************************************************************************************************
** 函數名稱: SetInit
** 功能描述: 將Init信號設置為高電平
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無 
********************************************************************************************************/

#define ClrInit()       CTR_PORT_SET = 1 << P_INIT
/*********************************************************************************************************
** 函數名稱: ClrInit
** 功能描述: 將Init信號設置為低電平
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無 
********************************************************************************************************/

#define SetSelIn()      CTR_PORT_CLR = 1 << P_SELIN
/*********************************************************************************************************
** 函數名稱: SetSelIn
** 功能描述: 將SelIn信號設置為高電平
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無 
********************************************************************************************************/

#define ClrSelIn()      CTR_PORT_SET = 1 << P_SELIN
/*********************************************************************************************************
** 函數名稱: ClrSelIn
** 功能描述: 將SelIn信號設置為低電平
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無 
********************************************************************************************************/


#ifndef IN_PRINTER
extern void SetDataOut(void);
/*********************************************************************************************************
** 函數名稱: SetDataOut
** 功能描述: 將DATA信號設置為輸出
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無 
********************************************************************************************************/

extern void SetDataIn(void);
/*********************************************************************************************************
** 函數名稱: SetDataIn
** 功能描述: 將DATA信號設置為輸入
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無 
********************************************************************************************************/

extern void PProtInit(void);
/*********************************************************************************************************
** 函數名稱: PProtInit
** 功能描述: 初始化外部總線址
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無 
********************************************************************************************************/

extern void POutData(uint8 Data);
/*********************************************************************************************************
** 函數名稱: POutData
** 功能描述: 設置需要訪問的外部存儲器地址
** 輸 入: Data:輸出數據
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無 
**
** 作 者: 陳明計
** 日 期: 2004年3月19日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

extern void POutCtr(uint8 Data);
/*********************************************************************************************************
** 函數名稱: POutCtr(uint8 Data)
** 功能描述: 控制信號同步輸出
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無 
**
** 作 者: 陳明計
** 日 期: 2004年3月19日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

extern uint8 PStateRead(void);
/*********************************************************************************************************
** 函數名稱: PStateRead
** 功能描述: 讀取打印機狀態
** 輸 入: 無
** 輸 出: 讀到的數據
** 全局變量: 無
** 調用模塊: 無
**
** 作 者: 陳明計
** 日 期: 2004年3月19日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#endif

/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内欧美视频一区二区| 亚洲人123区| 欧美日韩国产在线观看| 国产精品一区在线观看你懂的| 亚洲国产成人在线| 欧美一区二区三区四区在线观看 | 精品黑人一区二区三区久久| 成人免费黄色在线| 国产激情91久久精品导航 | 国产一区二区伦理片| 夜色激情一区二区| 中文字幕五月欧美| 国产欧美一区二区三区在线老狼| 欧美视频一区二区三区四区 | 日韩三级精品电影久久久 | 欧美一区二区黄| 欧美色偷偷大香| 欧美色男人天堂| 日本久久电影网| 在线亚洲一区二区| 日本道免费精品一区二区三区| 国产麻豆午夜三级精品| 蜜桃视频免费观看一区| 精品一区中文字幕| 激情综合网天天干| 国产成人午夜精品5599 | 不卡的av在线播放| 黑人巨大精品欧美一区| 理论电影国产精品| 韩国视频一区二区| 国产馆精品极品| 99re热这里只有精品视频| 91丨porny丨蝌蚪视频| 欧美日韩一区在线| 日韩三级精品电影久久久| 久久免费精品国产久精品久久久久| 精品99一区二区三区| 国产精品毛片无遮挡高清| 欧美国产一区二区| 玉米视频成人免费看| 婷婷久久综合九色综合伊人色| 免费xxxx性欧美18vr| 成人免费视频一区| 欧美综合色免费| 91精品在线麻豆| 久久久精品欧美丰满| 亚洲精品视频一区| 久久99久久久欧美国产| 91看片淫黄大片一级在线观看| 欧美日精品一区视频| 国产色爱av资源综合区| 午夜私人影院久久久久| av成人免费在线观看| 777精品伊人久久久久大香线蕉| 一区二区三区四区在线免费观看| 亚洲第一会所有码转帖| 不卡在线观看av| 欧美成人一区二区三区在线观看| 亚洲日韩欧美一区二区在线| 久久se这里有精品| 欧美高清www午色夜在线视频| 中文字幕精品一区二区精品绿巨人| 亚洲成人在线网站| 欧美亚洲综合一区| 一区二区三区中文在线观看| 成人午夜免费av| 欧美国产日韩a欧美在线观看| 日本欧洲一区二区| 欧美日韩国产成人在线免费| 一区二区三区波多野结衣在线观看| 开心九九激情九九欧美日韩精美视频电影| 91蜜桃视频在线| 亚洲欧美偷拍卡通变态| 99riav久久精品riav| 国产精品第一页第二页第三页| 国产主播一区二区三区| 精品成人在线观看| 成人黄色在线视频| 欧美a级一区二区| 国产成a人亚洲| 精品噜噜噜噜久久久久久久久试看| 欧美aaaaaa午夜精品| 久久亚洲一区二区三区四区| 99热精品国产| 亚洲欧美日韩国产一区二区三区| 91看片淫黄大片一级在线观看| 一个色妞综合视频在线观看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 亚洲高清久久久| 精品国产乱码久久久久久久| 成人免费视频视频在线观看免费 | 亚洲一区二区在线免费看| 欧美剧在线免费观看网站| 美女任你摸久久| 中文字幕中文字幕一区二区 | 在线成人高清不卡| 极品美女销魂一区二区三区| 成人欧美一区二区三区视频网页| 欧美日韩一级片网站| 国产a视频精品免费观看| 亚洲福利一区二区| 国产欧美一区二区精品忘忧草| av成人老司机| 国产成人综合在线播放| 日产国产高清一区二区三区| 中文字幕第一区二区| 欧美日韩国产天堂| 91香蕉国产在线观看软件| 国产精品一区免费在线观看| 视频一区二区不卡| 中文字幕中文字幕一区| 国产日本一区二区| 欧美久久久久久久久中文字幕| av欧美精品.com| 成人国产精品免费观看动漫| 免费国产亚洲视频| 午夜久久久久久久久久一区二区| 亚洲精品乱码久久久久久黑人| 欧美激情中文字幕| 久久久99免费| 中文无字幕一区二区三区| 久久亚洲一区二区三区明星换脸| 日韩欧美资源站| 精品久久久久久久久久久久久久久久久 | 午夜视频一区二区三区| 亚洲影视在线播放| 亚洲国产裸拍裸体视频在线观看乱了 | 国产精品久久久久久久久果冻传媒| 亚洲精品在线三区| 久久免费电影网| 国产精品国产三级国产a| 亚洲国产精品二十页| 国产精品久久三| 亚洲免费成人av| 日本成人在线不卡视频| 韩国精品久久久| 99r精品视频| 91精品国产一区二区三区香蕉| 欧美一级在线观看| 久久久久久电影| 夜夜嗨av一区二区三区网页| 日韩精品乱码免费| 成人精品视频一区二区三区| 色噜噜狠狠色综合欧洲selulu| 欧美日韩精品一区二区在线播放 | 欧美成人精精品一区二区频| 国产视频一区在线观看| 亚洲伊人伊色伊影伊综合网| 蜜桃精品在线观看| 91美女片黄在线观看| 欧美一级免费大片| 亚洲欧美综合另类在线卡通| 日本不卡123| 91美女视频网站| 久久蜜桃av一区精品变态类天堂| 亚洲黄色录像片| 不卡大黄网站免费看| 日韩一区二区三区视频在线观看| 中文字幕高清不卡| 精品亚洲国内自在自线福利| 欧美亚洲图片小说| 亚洲色欲色欲www| 国产大陆精品国产| 久久免费偷拍视频| 另类人妖一区二区av| 欧美日韩久久一区二区| 综合色中文字幕| 91婷婷韩国欧美一区二区| 久久久青草青青国产亚洲免观| 人人狠狠综合久久亚洲| 在线观看日韩av先锋影音电影院| 中文字幕乱码一区二区免费| 国产精品888| 国产精品无人区| 不卡影院免费观看| 中文字幕欧美国产| 成人国产精品视频| 亚洲私人影院在线观看| 91啪亚洲精品| 午夜不卡av在线| 久久综合久久综合久久| 久久精品国产精品亚洲红杏| 色婷婷国产精品综合在线观看| 久久久国产精品不卡| 国产91精品一区二区麻豆亚洲| 国产亚洲成aⅴ人片在线观看 | 色香蕉久久蜜桃| 亚洲人妖av一区二区| 欧美探花视频资源| 有码一区二区三区| 91麻豆精品国产91久久久资源速度 | 亚洲欧洲日产国码二区| 欧美三区在线观看| 老司机精品视频导航| 国产精品麻豆久久久| 91女厕偷拍女厕偷拍高清| 亚洲成a天堂v人片| 久久久久久99久久久精品网站| 91影视在线播放| 韩国精品一区二区|