伊春西門子電源模塊中國代理商
| 更新時間 2024-11-22 08:00:00 價格 請來電詢價 品牌 西門子 型號 PLC 售后 代理商 聯系電話 18717946324 聯系手機 18717946324 聯系人 占雪芬 立即詢價 |
伊春西門子電源模塊中國代理商
潯之漫智控技術有限公司經營理念是:以質量求生存,以誠信謀發展。
我們公司能提供全套產品,我們有著**的庫存,*優惠的價格
*優質的售后服務和*強大的技術力量
我公司大量現貨供應,價格優勢,品質保證,德國原裝進口
USBOTG,DEBUG及其它串口打印示例圖
DEBUG調試串口方式
使用AHC工具(使用方法見本文下一節)配置AppHelper輸出為DEBUG。連接板子的DEBUG串口,PC端使用任意串口工具,設置波特率115200,向DEBUG口輸出任意三個字符,即可獲得AppHelper打印的進程線程信息。
串口方式
將底板上引出,且客戶應用程序未使用的串口連接上PC。使用AHC工具(使用方法見本文下一節)配置好串口號及波特率。PC端使用任意串口工具,用設定的波特率向該串口輸出任意三個字符,即可獲得AppHelper打印的進程線程信息。
AHC工具使用介紹
AHC工具即AppHelper Config工具,用于設置AppHelper打印信息的輸出位置。有兩種辦法進行設置。
控制面板方式
在板子控制面板中運行AHC工具。
ID表示為process進程。TID表示為上面進程下的thread線程。
ID號
即進程ID值或線程ID值。
占用情況
顯示格式為 K n% U m% total%
n值為該進程或線程在Kernel系統層的占用
m值為該進程或線程在User用戶層的占用
total值為總占用,它應當等于n+m的和
進程下各個線程total占用和應當等于進程的total占用
名稱
進程名即EXE的名稱,線程默認沒有名稱,下一節會介紹如何給線程命名,從而能在AppHelper中顯示出來。
進程及線程監視說明
AppHelper會打印系統下所有的進程的CPU占用信息。
只有在NandFlash目錄下的exe生成的進程會額外打印出它下面所有線程的CPU占用信息。
默認情況下,生成的線程只有ID號,沒有名稱,如果線程較多會不便于查看。我們可以通過簡單代碼給線程命名。
以光盤里的串口例程SPT_HEX為例:
添加一個結構體的定義
typedef struct _THREAD_INDEX
{
DWORDdwSize;
DWORDdwThreadID;
TCHARszThreadName[32];
_THREAD_INDEX*pNext;
}THREAD_INDEX;
在創建線程后給線程命名
這里把串口接收線程命名為"CommRecvTread"
hRecvThread = CreateThread(0, 0, CommRecvTread, this, 0, &m_dwTID);
HANDLE hHLP;
DWORD dwLen;
hHLP = CreateFile(L"HLP1:", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
THREAD_INDEXthreadIndex;
wsprintf(threadIndex.szThreadName, L"CommRecvTread");
threadIndex.dwThreadID = m_dwTID;
threadIndex.dwSize = sizeof(THREAD_INDEX);
WriteFile(hHLP, &threadIndex, sizeof(THREAD_INDEX), &dwLen, NULL);
CloseHandle(hHLP);
在結束線程后取消命名
線程結束后應當手動將命名取消掉,避免不必要的顯示錯誤,設置線程名為空,即可取消原命名。
HANDLE hHLP;
DWORD dwLen;
THREAD_INDEXthreadIndex;
wsprintf(threadIndex.szThreadName, L"");
threadIndex.dwThreadID = m_dwTID;
threadIndex.dwSize = sizeof(THREAD_INDEX);
CloseHandle(hHLP);
命名線程后再使用AppHelper查看,啟動接收線程后,就可以看到CommRecvTread這個線程,另外個沒有命名的線程為SerialPort程序的主線程。
伊春西門子電源模塊中國代理商
聯系方式
- 電 話:18717946324
- 聯系人:占雪芬
- 手 機:18717946324
- 微 信:18717946324