完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>
標(biāo)簽 > HID
HID(High intensity Discharge)是高壓氣體放電燈的簡稱,一般由高壓包、鎮(zhèn)流器(安定器)、燈泡組成。電路中連接各電器設(shè)備的接線部件,由絕緣護(hù)套、接線端子、導(dǎo)線及絕緣包扎材料等組。
HID(High intensity Discharge)是高壓氣體放電燈的簡稱,一般由高壓包、鎮(zhèn)流器(安定器)、燈泡組成。電路中連接各電器設(shè)備的接線部件,由絕緣護(hù)套、接線端子、導(dǎo)線及絕緣包扎材料等組。
HID(High intensity Discharge)是高壓氣體放電燈的簡稱,一般由高壓包、鎮(zhèn)流器(安定器)、燈泡組成。電路中連接各電器設(shè)備的接線部件,由絕緣護(hù)套、接線端子、導(dǎo)線及絕緣包扎材料等組。
完成stm32 上HID的應(yīng)用
這個是公司的項目,以前基于usb的虛擬串口來做上下位機(jī)通信,由于usb平時也就刷參數(shù)和調(diào)試之用,也不很常用,外面反應(yīng)usb有時會連不上stm32控制器,心里一直認(rèn)為不是大問題,后來反應(yīng)的多了,就重視這個事情了,雖然usb平時不用,但是用的時候只要出現(xiàn)異常掉線,就再也連不上去了,特別影響用戶對我們產(chǎn)品的信心。
在網(wǎng)上找了很多資料,到現(xiàn)在也只能隱約確定是stm32官方的虛擬串口庫有問題,我發(fā)現(xiàn)不同的電源板都會影響到usb虛擬串口的枚舉,于是下定決心使用其他方式來做上下位機(jī)的連接,排除了usb虛擬串口,眼前的選擇只有兩個
1)usblib,這個是針對usb的上位機(jī)庫,可以玩很多的花樣,但是需要開發(fā)者稍稍熟悉usb協(xié)議,而且這個需要在上位機(jī)上安裝usb驅(qū)動程序。
2)hid設(shè)備,這個是windows自身支持的usb設(shè)備,只支持中斷傳輸,最大的速率也就64Kb/s,上位機(jī)采用windows api編程
我估算了一下,hid方式滿足我的要求,而且是免驅(qū)動,又不用學(xué)習(xí)usblib,所以就使用hid方式實現(xiàn)了usb通信。
hid幾個注意事項:
1)對于windows API來說,讀和寫hid設(shè)備的數(shù)據(jù)包都是大小確定了,也就是說如果stm32 端口設(shè)備的hid屬性是64的話,那么讀寫都是64字節(jié)的。讀寫的最大幀是64字節(jié),我在代碼中是基于64字節(jié)做應(yīng)用層協(xié)議的。
2)hid寫速度不能太快,所以我一般在寫前會等待2ms左右,確保不會寫出錯。
確認(rèn)是是HIDAPI的代碼問題,我對寫函數(shù)修改如下,結(jié)果就好了,可以一直寫無需等待
int HID_API_EXPORT HID_API_CALL hid_write(hid_device *dev, const unsigned char *data, size_t length)
{
DWORD bytes_written;
BOOL res;
BOOL bResult;
OVERLAPPED ol;
HANDLE ReportEvent;
ReportEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
ResetEvent(ReportEvent);
memset(&ol, 0, sizeof(ol));
ol.hEvent = ReportEvent;
//res = WriteFile(dev-》device_handle, data, 23, NULL, &ol);
res = WriteFile(dev-》device_handle, data, length, NULL, &ol);
if (!res) {
int errcode = GetLastError();
if (errcode != ERROR_IO_PENDING) {
// WriteFile() failed. Return error.
register_error(dev, “WriteFile”);
return -1;
}
}
bResult = WaitForSingleObject(ReportEvent, 50);
if(bResult == WAIT_TIMEOUT || bResult == WAIT_ABANDONED)
{
register_error(dev, “WriteFile”);
CancelIo(&(dev-》device_handle));
return -1;
}
// Wait here until the write is done. This makes
// hid_write() synchronous.
res = GetOverlappedResult(dev-》device_handle, &ol, &bytes_written, TRUE);
if (!res) {
// The Write operation failed.
register_error(dev, “WriteFile”);
return -1;
}
return bytes_written;
}
3)上位機(jī)上的讀寫之間不能釋放hid的句柄,這個我參考百合的hid教材的時候,吃了不少苦頭。
4)我使用了HIDAPI這個庫來操作hid設(shè)備。
車身高度傳感器(英文Chassis Height Sensor,又叫軸高傳感器,車姿傳感器,懸架高度傳感器等),是汽車上用于測量車身前后懸架姿態(tài)變化必不...
哈哈,終于搞了一回USB HID設(shè)備,做了一個USB鍵盤來玩玩~~~~其中的報告描述符讓我暈了幾天~~~~~幾份HID相關(guān)的協(xié)議還是蠻長的~~~~~~明...
HID+CDC復(fù)合設(shè)備在WIN10的識別問題
有客戶使用STM32F405并參照ST官方USB標(biāo)準(zhǔn)庫下的HID+CDC的示例代碼做產(chǎn)品,發(fā)現(xiàn)在WIN7上使用得好好的,可放到WIN10上,CDC第一次...
關(guān)于室外區(qū)域LED照明設(shè)計的7個問答
依靠卓越的照明設(shè)計來提高安全性和效率的戶外區(qū)域,常見的幾個例子是街道、車道、停車場和步行區(qū)。在室外照明中,LED照明正在迅速成為高強(qiáng)度放電燈(HID)的...
可以用Arduino來制作USB設(shè)備嗎?嘗試通過Arduino Pro Micro(Leonardo)使用HID功能
這篇文章來源于DevicePlus.com英語網(wǎng)站的翻譯稿。本文最初發(fā)布在deviceplus.jp網(wǎng)站上,而后被翻譯成英語。
H.I.D.英文全稱是 High Intensity Discharge Lamp,這種含有氙氣的新型汽車照明前大燈,又稱高強(qiáng)度放電燈或氣體放電式汽車氙...
串口轉(zhuǎn)HID鍵盤鼠標(biāo)芯片沁恒CH9329特點與引腳圖
CH9329 是一款串口轉(zhuǎn)標(biāo)準(zhǔn) USB HID 設(shè)備(鍵盤、鼠標(biāo)、自定義 HID)芯片,根據(jù)不同的工作模式, 在電腦上可被識別為標(biāo)準(zhǔn)的 USB 鍵盤設(shè)備...
一個藍(lán)牙實戰(zhàn)項目USB藍(lán)牙接收器的解析總結(jié)
前不久,一名在深圳的大學(xué)好友聯(lián)系到我,他們公司需要做一個 USB藍(lán)牙接收器 ,功能大體如下: USB藍(lán)牙接收器插在電腦上使用,被識別為鍵盤; 手機(jī)程序連...
HID1.1協(xié)議_Device Class Definition for Human Interface Devices (HID)立即下載
類別:規(guī)則標(biāo)準(zhǔn) 2012-02-28 標(biāo)簽:HID
如何使用STM32CUbeMX實現(xiàn)USB與HID的雙向通訊立即下載
類別:通信網(wǎng)絡(luò) 2020-03-07 標(biāo)簽:USBSTM32HID
基于USB接口芯片CH372的人機(jī)接口設(shè)備設(shè)計與實現(xiàn)
摘 要: 基于一種新型USB 總線接口芯片CH372,設(shè)計出一種人機(jī)接口設(shè)備-USB 鼠標(biāo)。闡述了CH372 的工作原理和特點,給出了系統(tǒng)的硬件電路圖;...
世強(qiáng)電訊推出了基于Silicon Labs MCU的單芯片氙氣燈(HID)全數(shù)字智能安定器解決方案。該方案采用全數(shù)字控制,同時單芯片的控制技術(shù)可使得出廠...
HID轉(zhuǎn)串口免驅(qū)芯片CH9326概述及特點
CH9326是一款HID轉(zhuǎn)串口免驅(qū)芯片。CH9326支持雙向數(shù)據(jù)傳輸,用于接收串口數(shù)據(jù),并按照HID類設(shè)備規(guī)范,將數(shù)據(jù)打包通過USB口上傳給計算機(jī),或者...
2.4GHz專用射頻和藍(lán)牙4.0 HID應(yīng)用對比
隨著低功耗藍(lán)牙無線技術(shù)試圖進(jìn)攻低功耗市場,我們可以預(yù)見到新的無線電標(biāo)準(zhǔn)將要占據(jù)PC市場一席之地。這篇文章比較了藍(lán)牙4.0無線技術(shù)和專用協(xié)議在HID市場的應(yīng)用
在USB中,USB HOST是通過各種描述符來識別設(shè)備的,有設(shè)備描述符,配置描述符,接口描述符,端點描述符,字符串描述符,報告描述符等等。USB報告描述...
控股特優(yōu)仕照明 細(xì)分照明應(yīng)用領(lǐng)域
近日,得邦照明宣布完成了對廣東特優(yōu)仕照明科技有限公司的資本合作。
眾多優(yōu)點使得HID 設(shè)備在智能電視領(lǐng)域也得到了越來越廣泛的應(yīng)用,本論文就是研究基于HID 規(guī)范的六軸體感游戲手柄應(yīng)用于智能遙控器中的設(shè)計與實現(xiàn)。
HID電子鎮(zhèn)流器:技術(shù)參數(shù),優(yōu)點,結(jié)構(gòu)
本文就主要的幾個方面介紹電子鎮(zhèn)流器的性能特點與應(yīng)用,并對如何進(jìn)一步推廣使用HID燈電子鎮(zhèn)流器提出探討意見。
2011-12-20 標(biāo)簽:電子鎮(zhèn)流器HID 3456 0
基于USB總線接口芯片CH372的HID設(shè)備接口設(shè)計
USB(Universal Serial Bus,通用串行總線)是計算機(jī)上的一種新型接口技術(shù),它使得計算機(jī)和外部設(shè)備的連接十分方便。HID 是Human...
編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語言教程專題
電機(jī)控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無刷電機(jī) | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機(jī) | PID | MOSFET | 傳感器 | 人工智能 | 物聯(lián)網(wǎng) | NXP | 賽靈思 |
步進(jìn)電機(jī) | SPWM | 充電樁 | IPM | 機(jī)器視覺 | 無人機(jī) | 三菱電機(jī) | ST |
伺服電機(jī) | SVPWM | 光伏發(fā)電 | UPS | AR | 智能電網(wǎng) | 國民技術(shù) | Microchip |
Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |