Usb 解释为什么mikroC';s PIC18F4550 HID示例工程
具有用于HID(人机接口设备)USB通信的库。在提供的示例中,他们指定以下缓冲区应为USB RAM,并使用PIC18F4550作为目标微控制器Usb 解释为什么mikroC';s PIC18F4550 HID示例工程,usb,microcontroller,pic,hid,Usb,Microcontroller,Pic,Hid,具有用于HID(人机接口设备)USB通信的库。在提供的示例中,他们指定以下缓冲区应为USB RAM,并使用PIC18F4550作为目标微控制器 unsigned char readbuff[64] absolute 0x500; // Buffers should be in USB RAM, please consult datasheet unsigned char writebuff[64] absolute 0x540; 但是PIC18F4550的数据表显示USB RAM的范围从4
unsigned char readbuff[64] absolute 0x500; // Buffers should be in USB RAM, please consult datasheet
unsigned char writebuff[64] absolute 0x540;
但是PIC18F4550的数据表显示USB RAM的范围从400小时到4小时
那么,当它们的缓冲区似乎不在400h到4FFh之间时,为什么它们的示例可以工作呢
.实际上是说:
气缸组4(400h至4FFh)专门用于
端点缓冲区控制,而气缸组5到7是
可用于USB数据。取决于
在使用缓冲时,除了组4的8个字节外,其他所有字节也可以
可用作USB缓冲空间
因此,您引用的代码似乎是定义用于USB数据的缓冲区,而不是“endpoing buffer control”,因为它们位于第5列,而不是第4列。实际上是说:
气缸组4(400h至4FFh)专门用于
端点缓冲区控制,而气缸组5到7是
可用于USB数据。取决于
在使用缓冲时,除了组4的8个字节外,其他所有字节也可以
可用作USB缓冲空间
因此,您引用的代码似乎是在定义用于USB数据的缓冲区,而不是“endpoing buffer control”,因为它们位于气缸组5而不是气缸组4中。当USB HID模式激活时,为缓冲区描述符分配了从400h到4FFh的USB RAM内存范围。USB和用户数据的分配范围为500h到7ffh。重要的是,所有描述符缓冲区和数据缓冲区都将位于气缸组4-7的ram内存范围内。
谢谢当USB HID模式激活时,为缓冲区描述符分配的USB RAM内存范围为400h到4FFh。USB和用户数据的分配范围为500h到7ffh。重要的是,所有描述符缓冲区和数据缓冲区都将位于气缸组4-7的ram内存范围内。 多谢各位