作業するアプリケーションを開発する必要があります。C8051F340-TBUSB経由のSilicon Labs開発ボードでは(明らかに、図1のUSBデバッグアダプタではなく、前のリンクの図4のP3コネクタを使用しています)。 USB経由で受信したデータをエコーするサンプルプログラムでデバイスをフラッシュしました。ところで、USBデバイスにデータを送信する方法がわからないため、試すことはできません。低レベルでUSBデバイスを使用するのは今回が初めてです。
私はXubuntu 18.04にあり、lsusb -v
コマンドは何よりも次のことを示しています。
Bus 001 Device 023: ID 10c4:ea61 Cygnal Integrated Products, Inc. CP210x UART Bridge
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x10c4 Cygnal Integrated Products, Inc.
idProduct 0xea61 CP210x UART Bridge
bcdDevice 1.00
iManufacturer 1 Myself
iProduct 2 USB communication test
iSerial 3 0001
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 64mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)
これは私のデバイスのようです(「iManufacturer」フィールドと「iProduct」フィールドを認識します)。
バイト、文字列、またはその他のコンテンツをデバイスに送信するにはどうすればよいですか?また、送信されたデータをどのように読みますか?
答え1
HIDデバイスの場合、dmesg
そのhidraw
デバイスを表示、検索、デバイスの書き込みまたは読み取り(cat
、hexdump
)。
HIDカテゴリによってもイベントを受け取ることができます/dev/event...
。
ただし、HIDデバイスの場合
bInterfaceClass 3 Human Interface Device
したがって、デバイスが正しくプログラムされていない可能性があります。 HID記述子(debugfsを介してアクセス可能)も正確でなければなりません。
また、HIDが機能しない場合に備えてusbmon
(Wiresharkを介してアクセス可能)とを確認してください。libusb