1)usb_serial.zip contains configuration of serial_usb system
2)SerialUsbTest.zip contains test visual studio 2010 C# project
SerialUsbTest\bin\Debug\SerialUsbTest.exe - test aplication
approximately device code
Code: Select all
void USB_init_serial(void)
{
sduObjectInit(&usb_serial);
sduStart(&usb_serial, &usb_serial_config);
usbDisconnectBus(usb_serial_config.usbp);
chThdSleepMilliseconds(1000);
usbStart(usb_serial_config.usbp, &usb_config);
usbConnectBus(usb_serial_config.usbp);
}
void debug_buffer(BaseSequentialStream* debugStream, uint8_t* data, uint16_t length)
{
for (int i = 0; i < length; i++)
{
chprintf(debugStream, "%02x", data[i]);
if (i < length - 1)
chprintf(debugStream, " ");
}
}
static uint8_t temp_buffer[2048] = {};
int main(void)
{
halInit();
chSysInit();
sdStart(&SD3, &sd_cfg);
USB_init_serial();
chThdSleepMilliseconds(3000);
msg_t c;
uint16_t index = 0;
while(true)
{
while ( (c = chnGetTimeout(&usb_serial, MS2ST(50))) != Q_TIMEOUT )
{
temp_buffer[index++] = (uint8_t)c;
}
if (index > 0)
{
debug_buffer((BaseSequentialStream*)&SD3, temp_buffer, index);
chnPutTimeout(&usb_serial, '@', TIME_INFINITE);
}
index = 0;
}
}