日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

打印函數(shù)總結(jié)RETAILMSG(..) DEBUGMSG(..) NKDbgPrintfW...

 BeautymengRoom 2013-10-10
不管在WinCE5.0還是在WinCE6.0中,我們?cè)谡{(diào)試驅(qū)動(dòng)或者應(yīng)用的時(shí)候都會(huì)用到打印函數(shù)。在驅(qū)動(dòng)里面,我們可能會(huì)用DEBUGMSG(..),RETAILMSG(..),還有NKDbgPrintfW(..)。在我們使用這些打印函數(shù)調(diào)試我們的程序之前,我們需要實(shí)現(xiàn)串口打印功能。

在WinCE的BSP中,如果想調(diào)用DEBUGMSG(..)或者RETAILMSG(..)來(lái)從串口打印信息,必須在我們的BSP中的OAL層找到debug.c,在這個(gè)文件里面實(shí)現(xiàn)下面的4個(gè)函數(shù):

void OEMInitDebugSerial(void) :           初始化用于打印信息的串口

int OEMReadDebugByte (void):            從串口讀一個(gè)byte,出錯(cuò)時(shí)返回OEM_DEBUG_COM_ERROR;沒(méi)有數(shù)據(jù)時(shí)返回OEM_DEBUG_READ_NODATA

void OEMWriteDebugByte(BYTE ch): 寫(xiě)一個(gè)byte到串口void OEMWriteDebugString(unsigned short* str): 寫(xiě)一個(gè)字符串到串口,這個(gè)函數(shù)其實(shí)就是通過(guò)調(diào)用OEMWriteDebugByte(..)實(shí)現(xiàn)的。實(shí)現(xiàn)了上述的4個(gè)函數(shù),就可以通過(guò)串口打印來(lái)調(diào)試程序了。一般這4個(gè)函數(shù)在OAL中的debug.c中實(shí)現(xiàn)。
 
在BSP中,我們一般會(huì)用3個(gè)函數(shù)來(lái)實(shí)現(xiàn)打?。篋EBUGMSG,RETAILMSG,NKDbgPrintfW。簡(jiǎn)單介紹一下:
 
NKDbgPrintfW(..)函數(shù)一般只在OAL中使用,可以直接從串口中打印出信息,不受編譯選項(xiàng)的影響。
 
DEBUGMSG(..)函數(shù)只有在工程在Debug模式下編譯以后,才會(huì)打印出信息來(lái)。如果是在Release模式下編譯的,就不會(huì)打印信息出來(lái)。
 
RETAILMSG(..)函數(shù)在Debug模式下和Release模式下編譯都會(huì)打印出調(diào)試信息,但是如果你在工程的屬性中的"Build option"中選擇了"Enable ship build",那么RETAILMSG函數(shù)就不會(huì)打印信息了。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多