1. 程式人生 > >wince 串列埠除錯資訊輸出

wince 串列埠除錯資訊輸出

不管在WinCE5.0還是在WinCE6.0中,我們在除錯驅動或者應用的時候都會用到列印函式。在驅動裡面,我們可能會用DEBUGMSG(..),RETAILMSG(..),還有NKDbgPrintfW(..)。在我們使用這些列印函式除錯我們的程式之前,我們需要實現串列埠列印功能。
    在WinCE的BSP中,如果想呼叫DEBUGMSG(..)或者RETAILMSG(..)來從串列埠列印資訊,必須在我們的BSP中的OAL層找到debug.c,在這個檔案裡面實現下面的4個函式:

void OEMInitDebugSerial(void) :      初始化用於列印資訊的串列埠

int OEMReadDebugByte (void):      從串列埠讀一個byte,出錯時返回OEM_DEBUG_COM_ERROR;沒有資料時返回OEM_DEBUG_READ_NODATA

void OEMWriteDebugByte(BYTE ch): 寫一個byte到串列埠void OEMWriteDebugString(unsigned short* str):寫一個字串到串列埠,這個函式其實就是通過呼叫OEMWriteDebugByte(..)實現的。實現了上述的4個函式,就可以通過串列埠列印來除錯程式了。一般這4個函式在OAL中的debug.c中實現。

在BSP中,我們一般會用3個函式來實現列印:DEBUGMSG,RETAILMSG,NKDbgPrintfW。簡單介紹一下:

NKDbgPrintfW(..)函式一般只在OAL中使用,可以直接從串列埠中打印出資訊,不受編譯選項的影響。

DEBUGMSG(..)函式只有在工程在Debug模式下編譯以後,才會打印出資訊來。如果是在Release模式下編譯的,就不會列印資訊出來。

RETAILMSG(..)函式在Debug模式下和Release模式下編譯都會打印出除錯資訊,但是如果你在工程的屬性中的"Build option"中選擇了"Enable ship build",那麼RETAILMSG函式就不會列印資訊了。

相關推薦

wince 串列除錯資訊輸出

不管在WinCE5.0還是在WinCE6.0中,我們在除錯驅動或者應用的時候都會用到列印函式。在驅動裡面,我們可能會用DEBUGMSG(..),RETAILMSG(..),還有NKDbgPrintfW(..)。在我們使用這些列印函式除錯我們的程式之前,我們需要實現串列埠列印功能。     在WinCE的BSP

QNX學習筆記 [IMX6Q/TQIMX6Q]LINUX與QNX串列除錯

通過linux向串列埠寫入待解析報文,QNX開發板接收報文並解析 1.設定linux串列埠 sudo chmod 777 /dev/ttyUSB0 //檢視串列埠設定引數 stty -F /dev/ttyUSB0 -a //設定串列埠波特率等引數 stty -F /dev/ttyU

Mac OS下安裝串列除錯工具minicom

最近在做一個Mac下的ssh除錯工具,但是出現了一點問題。後來發現居然Mac下有串列埠除錯工具可以用,所以果斷換串列埠了,是普通PL2303晶片的usb轉串列埠線。 接下來說下簡單的安裝步驟吧。我是勤勞的搬磚工。。。 首先的是安裝PL2303串列埠驅動,轉載自在MAC OS X下安裝usb轉

正點原子戰艦開發板---串列除錯(硬體除錯的一點經驗吧)

1、為什麼需要串列埠除錯? 因為自己在設計電路畫板子的時候,很多時候都要用到串列埠,比喻語音模組,藍芽模組等等。 2、硬體原理圖明明是對的,程式也改了,但是用串列埠printf效果就是不出來,應該怎麼辦? (1)在開發板上驗證程式碼,我這裡用的是正點原子戰艦的開發板,我程式中用的是串列埠

CentOS下安裝xgcom串列除錯助手

原始碼:xgcom-0.04.2-src.ra 環境:  CentOS 6.10   依賴包安裝:   yum install  gtk              

[轉]web串列除錯助手,瀏覽器控制串列裝置

本文轉自:https://blog.csdn.net/ldevs/article/details/39664697 開啟串列埠時查詢可用串列埠供選擇   通過javascript呼叫activex控制串列埠收發資料,可以通過輪詢每個串列埠狀態找到指定的裝置,簡化使用者操作 選擇並開啟串列埠

STM32之串列除錯

在串列埠除錯過程中,usart1可以正常使用printf列印輸出,根據usart1修改來的usart3卻不能使用printf列印,最終找到原因,對比如下 //正確程式碼 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//使能GPIOB時鐘 R

如何在串列除錯助手上,使用printf()函式顯示十進位制的資料及漢字說明(c語言版)

估計很多人和我一樣,很想直接在串列埠除錯助手上顯示十進位制資料,我最近在做一個專案,當然本人也是小白,但這個問題已經被我解決了,希望幫助需要的人。 我們都知道,串列埠助手一般都只能顯示十六進位制資料和字元,如果我們想將控制器的實時資料通過串列埠傳送到上位機,方便監測,最好直接顯示十進位制資料。廢

python 串列除錯小工具

import serial.tools.list_ports import serial from tkinter import Tk,StringVar,Label,Button,Listbox,Text,END import time import datetime import re imp

QNX Momentics IDE 串列除錯配置方法

1. 安裝 QNX Momentics IDE 5.0 2. 安裝 SecuretCRT 終端模擬工具 3. 通過串列埠連線測試板卡的QNX作業系統 4. 通過指令‘ifconfig’找到測試板卡QNX作業系統的網路配置資訊 5. 修改windows的

Linux 串列除錯工具彙總

在 linux 系統下進行串列埠除錯或者開發時配合簡單易用的串列埠除錯工具那是必不可少。這篇部落格對當前用的較多的,且我自己經常用的一些串列埠工具做一下彙總,大家可以參考一下。 實驗環境: OS: Ubuntu16.04 Kernel: 4.4.0 ----------

VC除錯資訊輸出 TRACE巨集

TRACE巨集對於VC下程式除錯來說是很有用的東西,有著類似printf的功能;該巨集僅僅在程式的DEBUG版本中出現,當RELEASE的時候該巨集就完全消失了,從而幫助你除錯也在RELEASE的時候減少程式碼量。 使用非常簡單,格式如下:       TRACE("D

在linux上寫好串列程式後,利用windows上的串列除錯助手互發資料

我是用QT4在Linux上寫的串列埠程式,具體的程式碼就不寫了,網上搜一下很多。這裡主要說一下寫完程式碼之後,之前也行。要做的事情。 1,使用命令在終端上檢視有哪些串列埠驅動。 可以看出ttyS0 ttyS1能用 .一般ttyS0指com1,ttyS1指co

stm32新增串列除錯

MCU為stm32F103,選擇usart3作為輸出除錯口。 有三種實現方法: ////////////////////////////////////////// 方法一: 1、usart3.c #if 1 #pragma import(__use_no_semihosting

串列除錯小結

       這個專案是將藍芽模組與NFC模組整合在一起,做一個demo。兩個模組之間使用串列埠通訊,兩個模組上的mcu均為STM32系列,NFC模組上還有兩個串列埠,一個作為log,一個作為AT通道,與上位機通訊。  &nb

java 串列除錯 感測器指令傳送與資料接收

    本文主要講述串列埠除錯的Java工具類,並實現迴圈傳送指令,接收資料!!     本文主要實現的功能是呼叫工具類中開啟串列埠方法,連線感測器所在串列埠,向串列埠(感測器)傳送指令,並接收串列埠(感測器)資料。 主函式-----main(): public sta

【第四章】NB-IoT模組BC95 利用串列除錯助手接入華為(電信)平臺

BC95的Coap測試需要雲平臺配合,當前的支援Coap協議的平臺有華為OceanConnect平臺、電信天翼雲(除了logo其他和華為的一樣)、移動OneNet。此教程以華為的OceanConnect平臺為例進行測試。下面我將就平臺申請、平臺測開發、EVB_M1與平

樹莓派3B+ 串列除錯修改配置

在2018-10-09-raspbian-stretch.img映象中,要使用串列埠來除錯裝置,需要修改conig.txt檔案。 1. sudo systemctl disable hciuart 禁

[Linux驅動煉成記] 09-串列除錯

實現功能 主控(Amlogic A113X)串列埠和MCU(STM32) 進行串列埠通訊,實現資料的傳輸,由STM32控制燈效.看似簡單的一個雙方對接功能,還是走了不少彎路的. 串列埠DTS配置 //

RK3308(3)---串列除錯

串列埠除錯 選購介面卡 網店上有許多USB轉串列埠的介面卡,按晶片來分,有以下幾種: 一般來說,採用 CH340 晶片的介面卡,效能比較穩定,價格上貴一些。 硬體連線 ROC-RK3308-CC 除錯串列埠預設波特率為 1500000,推薦使用官方的CP2104