TI中文支持网
TI专业的中文技术问题搜集分享网站

28377D与USB通讯过程丢失高8位问题

28377D在与USB通讯的过程中会丢失高8位,如这个链接所述:http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/112591.aspx。

请问,TI有为此做一个库函数吗?让16位的C2000可以与8位的USB进行通讯,这之间的转换都在函数内部进行。不需要我自己再做一个函数来对16位的数据进行拆分。

Eric Ma:

是有的,见USB升级例程。

C:\ti\controlSUITE\device_support\~Utilities\usb_flash_programmer

ui32Read = USBBufferRead((tUSBBuffer *)&g_sRxBuffer, rx8Buffer, ui16Length);

// conveter byte rxBuffer to word UsbRxBuffer length8 = ui16Length;// for(c = 0; c < length8; c++) // TI bootloader format// {// __byte((int *)rx16Buffer, c) = rx8Buffer[c];// }

如屏蔽中那个__byte语句,就是将两个rx8Buffer 8位的数据放到rx16Buffer中。这个是接收,如果是发送的话,那你把数据写在低8位即可。

USBBufferWrite((tUSBBuffer *)&g_sTxBuffer, (uint8_t *)ack, 1);

Eric

赞(0)
未经允许不得转载:TI中文支持网 » 28377D与USB通讯过程丢失高8位问题
分享到: 更多 (0)