新唐MCU技术
直播中

艾玛

13年用户 893经验值
擅长:模拟技术 EDA/IC设计 RF/无线
私信 关注
[问答]

NANO130的USB_HID传输bit上限问题如何解决?


大家好
我现在用nano130 BSP包中的USB_HID transfer功能传输资料
我现在设定了一个数值传到电脑上 却发现最大只能到255 因为是8bit的资料
static __INLINE void USBD_MemCopy(uint8_t*dest, uint8_t *src, int32_t size)
利用在usbd.h中的这个定义来复製指标中的数值
void HID_SetInReport(void)
{

                    uint8_t *ptr;
                uint8_t *aptr;//我定义的指标
                uint8_t a=255;

                aptr =  a;
               
            /* Prepare the data for next HID IN transfer */            
                        ptr = (uint8_t *)(USBD_BUF_BASE + USBD_GET_EP_BUF_ADDR(EP2));
                        USBD_MemCopy(ptr, aptr, EP2_MAX_PKT_SIZE);
                        USBD_SET_PAYLOAD_LEN(EP2, EP2_MAX_PKT_SIZE);
            //        g_u32BytesInPageBuf -= EP2_MAX_PKT_SIZE;
                        
}

我想传255以上的数值除了去改动usb.h中的定义之外还有其他办法吗?
因为要是改动usb.h中的定义将会改动到很多设定则电脑会辨识不到USB

请问大家有什么建议?

回帖(1)

李悠冉

2023-8-24 10:04:07
使用两个byte来组合资料传输就可以了,
这样也不需要去更改到.h的设定.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分