CH573數(shù)據(jù)傳輸問題請教

?

java script數(shù)據(jù)給USB,方式如下 :


/**

?* 發(fā)送數(shù)據(jù)給usb設(shè)備

?* @param{*}data 字節(jié)數(shù)組的數(shù)據(jù)

?* @param{*}dataLength 字節(jié)數(shù)組的長度

?* @param{*}timeout 超時時間

?* @returns

?*/

UsbModel.prototype.WriteData = function (data, dataLength, timeout) {

? ? var var5 = 0;

? ? var length = dataLength;

? ? //判斷usb的零點(endpoint 0)是否為空,為空則無法進行數(shù)據(jù)寫入

? ? if (this.usbEndpoint == null) {

? ? ? ? //拋出異常

? ? ? ? return -1;

? ? }

? ? while (var5 < dataLength) {

? ? ? ? var var15 = Math.min(length, 32);

? ? ? ? var var8 = util.java.array('byte', var15);

? ? ? ? if (var5 == 0) {

? ? ? ? ? ? java.lang.System.arraycopy(data, 0, var8, 0, var15);

? ? ? ? } else {

? ? ? ? ? ? java.lang.System.arraycopy(data, var5, var8, 0, var15);

? ? ? ? }


? ? ? ? //通過給定的endpoint來進行大量的數(shù)據(jù)傳輸,傳輸?shù)姆较蛉Q于該節(jié)點的方向,buffer是要發(fā)送或接收的字節(jié)數(shù)組,

? ? ? ? //length是該字節(jié)數(shù)組的長度。傳輸成功則返回所傳輸?shù)淖止?jié)數(shù)組的長度,失敗則返回負數(shù)。

? ? ? ? if ((var15 = this.usbDeviceConnection.bulkTransfer(this.usbEndpoint, var8, var15, timeout)) < 0) {

? ? ? ? ? ? return false;

? ? ? ? }

? ? ? ? var5 += var15;

? ? ? ? length -= var15;

? ? }


? ? if (var5 > 0) {

? ? ? ? return true

? ? }

? ? return false;


}

請問,使用COM例子如何該數(shù)據(jù)并發(fā)送給藍牙HID

您好,COM代碼中模擬CH9340,是走端點1的OUT方向獲取批量傳輸數(shù)據(jù)的,在中斷服務(wù)函數(shù)的對應(yīng)case中可以緩存數(shù)據(jù)。

走藍牙發(fā)出,看您要交互的數(shù)據(jù)內(nèi)容:

COM下傳給MCU的數(shù)據(jù),無論什么格式,走BLE透傳發(fā)送給上位機,調(diào)用Notify接口就可以;

如果COM下傳給MCU的數(shù)據(jù)都是符合HID報表格式的,那么可以走BLE-HID發(fā)給上位機,比如說符合鍵盤報表格式的數(shù)據(jù),可以走模擬鍵盤的BLE-HID上傳給上位機來模擬打字;

如果COM下傳給MCU的數(shù)據(jù)不符合HID報表格式,那么無法走BLE-HID上傳給上位機,即使能上傳成功,也會被上位機判斷為包異常而攔截丟棄。


只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频