?? ch341pt.h
字號:
// 2005.07.28
//****************************************
//** Copyright (C) W.ch 1999-2005 **
//** Web: http://www.winchiphead.com **
//****************************************
//** DLL for USB interface chip CH341 **
//** C, VC5.0 **
//****************************************
//
// USB總線接口芯片CH341端口應用層接口庫 V1.0
// 南京沁恒電子有限公司 作者: W.ch 2005.07
// CH341-Port-DLL V1.0
// 運行環境: Windows 98/ME, Windows 2000/XP
// support USB chip: CH341, CH341A
// USB => Serial, Parallel
//
#ifndef _CH341_PORT_H
#define _CH341_PORT_H
#ifdef __cplusplus
extern "C" {
#endif
#define MAX_DEVICE_PATH_SIZE 128 // 設備名稱的最大字符數
#define MAX_DEVICE_ID_SIZE 64 // 設備ID的最大字符數
ULONG WINAPI CH341PtGetVersion( ); // 獲得DLL版本號,返回版本號
BOOL WINAPI CH341PtHandleIsCH341( // 檢查已經打開的端口是否為CH341端口
HANDLE iPortHandle ); // 指定已經打開的端口句柄
BOOL WINAPI CH341PtNameIsCH341( // 檢查指定名稱的端口是否為CH341端口
PUCHAR iPortName ); // 指定端口名稱,例如"COM3","COM15"等,該端口必須未被占用(指未被其它程序打開)
typedef VOID ( CALLBACK * mPCH341PT_NOTIFY_ROUTINE ) ( // 端口設備事件通知回調程序
LONG iDevIndexAndEvent ); // 端口設備序號和事件及當前狀態(參考下行說明)
// iDevIndexAndEvent: 正數說明是設備插入事件/已經插入, 負數說明是設備拔出事件/已經拔出, 其絕對值是設備序號(1到255)
BOOL WINAPI CH341PtSetDevNotify( // 設定端口設備事件通知程序
PCHAR iDeviceID, // 可選參數,指向以\0終止的字符串,指定被監控的設備的ID或者不含序號的主名稱,對于串口該參數必須為NULL或者"COM"
mPCH341PT_NOTIFY_ROUTINE iNotifyRoutine ); // 指定端口設備事件回調程序,為NULL則取消事件通知,否則在檢測到事件時調用該程序
/* 即插即用設備的應用程序編程參考
1. 主程序啟動,默認是禁止數據傳輸的,只有在確定有CH341端口可用并且打開端口后才進行數據傳輸
2. 調用CH341PtSetDevNotify設置插拔監視,如果將來發生CH341端口的插拔事件DLL將會自動調用iNotifyRoutine所指定的子程序或者函數
3. 從端口1到端口255(正常到20即可)逐個調用CH341PtNameIsCH341確定是否為CH341端口,如果返回是則記憶其端口號并打開后開始傳輸,如果返回否則休息
4. 如果iNotifyRoutine收到事件通知,那么可以在保存事件參數后通知主程序處理,也可以在該子程序中處理,
分析事件參數,如果是正數則說明有一個端口插入,需要打開時應該首先用CH341PtNameIsCH341判斷是否為CH341端口,是則記憶其端口號并打開后開始傳輸,
如果是負數則說明有一個端口拔出,判斷其端口號(用0減去該負數得端口號)是否與記憶的已打開的端口號相同,是則應該及時關閉
5. 當前已經打開的端口號應該保存為全局變量, 如果端口未打開或者被關閉,那么應用程序應該停止數據傳輸
6. 如果事先未用CH341PtNameIsCH341確定是否為CH341端口,那么在端口已經打開后,也可以調用CH341PtHandleIsCH341判斷是否為CH341端口
*/
#ifdef __cplusplus
}
#endif
#endif // _CH341_PORT_H
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -