• AVR Freaks

PIC18F4550 USBの複数認識

Author
shu
New Member
  • Total Posts : 1
  • Reward points : 0
  • Joined: 2012/06/22 16:55:26
  • Location: 0
  • Status: offline
2012/06/22 17:29:38 (permalink)
0

PIC18F4550 USBの複数認識

PIC18F4550を使い、HI-TECH CとMPLABV8.63上でファームウェアを作っています。
USB(HIDクラス)を使い、PCとのデータの送受信をして、通信は成功しておりますが、PCから複数(2つの同じハードウェアとファームウェア)PICを使う場合に、関して教えてください。
Microchip社のライブラリにある、usb_descriptors.cの中で、下記の設定があり、Device release number in BCD formatの値を0x0001と0x0002へ変更する事で、2つの
PICをPCから識別出来る事は、確認できました。
/* Device Descriptor */
ROM USB_DEVICE_DESCRIPTOR device_dsc=
{
0x12, // Size of this descriptor in bytes
USB_DESCRIPTOR_DEVICE, // DEVICE descriptor type
0x0200, // USB Spec Release Number in BCD format
0x00, // Class Code
0x00, // Subclass code
0x00, // Protocol code
USB_EP0_BUFF_SIZE, // Max packet size for EP0, see usb_config.h
0x04D8, // Vendor ID
0x0042, // Product ID
0x0002, // Device release number in BCD format
0x01, // Manufacturer string index
0x02, // Product string index
0x00, // Device serial number string index
0x01 // Number of possible configurations
};
そこで同じファームウェアとハードウェアを使いたいので、外部に設けたSWからの値をポートで読み込み、その値をDevice release number in BCD formatの値として
強制的にPCへ返そうと思い、usb_device.cの中にある、void USBStdGetDscHandler(void)の中で、PCへ返す際に、内容を変えて返えそうと試みておりますが、
全く変更されずに困っております。
"inPipes[0].pSrc.bRom = (ROM BYTE*)&device_dsc"の部分を変更した。(変更方法は、memcpです、それ以外は、コンパイルエラーでした)
変更出来ない理由が分からず、何か理由がわかれば、教えて頂きたく、また成功された方がいらっしゃいましたら、方法を教えて頂きたく宜しくアドバイスを願います。
以上
#1

1 Reply Related Threads

    DarioG
    Allmächtig.
    • Total Posts : 54081
    • Reward points : 0
    • Joined: 2006/02/25 08:58:22
    • Location: Oesterreich
    • Status: offline
    Re:PIC18F4550 USBの複数認識 2012/06/23 00:59:10 (permalink)
    0
    google translate tries to do its best
    http://translate.google.i...m%3D659976%26mpage%3D1
     
    but I still don't understand Smile
     
    Do you want to have 2 endpoints? Or 2bytes?

    GENOVA :D :D ! GODO
    #2
    Jump to:
    © 2019 APG vNext Commercial Version 4.5