Suga koubou
/
USB_CDC
main.cpp@0:d644bf01b0cb, 2011-11-08 (annotated)
- Committer:
- okini3939
- Date:
- Tue Nov 08 15:46:25 2011 +0000
- Revision:
- 0:d644bf01b0cb
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:d644bf01b0cb | 1 | #include "mbed.h" |
okini3939 | 0:d644bf01b0cb | 2 | #include "USBCDC.h" |
okini3939 | 0:d644bf01b0cb | 3 | |
okini3939 | 0:d644bf01b0cb | 4 | Serial pc(USBTX, USBRX); |
okini3939 | 0:d644bf01b0cb | 5 | DigitalOut myled(LED1); |
okini3939 | 0:d644bf01b0cb | 6 | |
okini3939 | 0:d644bf01b0cb | 7 | USBCDC usbdev(0x1FC9, 0x2002, 0x0100); |
okini3939 | 0:d644bf01b0cb | 8 | //USBCDC usbdev(0xFFFF, 0x0005, 0x0100); |
okini3939 | 0:d644bf01b0cb | 9 | |
okini3939 | 0:d644bf01b0cb | 10 | char cdc_data[61]; |
okini3939 | 0:d644bf01b0cb | 11 | volatile int cdc_len = 0; |
okini3939 | 0:d644bf01b0cb | 12 | |
okini3939 | 0:d644bf01b0cb | 13 | void cdc_evt (char *data, int len) { |
okini3939 | 0:d644bf01b0cb | 14 | memcpy(cdc_data, data, len); |
okini3939 | 0:d644bf01b0cb | 15 | cdc_len = len; |
okini3939 | 0:d644bf01b0cb | 16 | } |
okini3939 | 0:d644bf01b0cb | 17 | |
okini3939 | 0:d644bf01b0cb | 18 | int main() { |
okini3939 | 0:d644bf01b0cb | 19 | pc.baud(115200); |
okini3939 | 0:d644bf01b0cb | 20 | pc.printf("begin\r\n"); |
okini3939 | 0:d644bf01b0cb | 21 | |
okini3939 | 0:d644bf01b0cb | 22 | usbdev.attach(&cdc_evt); |
okini3939 | 0:d644bf01b0cb | 23 | |
okini3939 | 0:d644bf01b0cb | 24 | while(1) { |
okini3939 | 0:d644bf01b0cb | 25 | |
okini3939 | 0:d644bf01b0cb | 26 | if (cdc_len) { |
okini3939 | 0:d644bf01b0cb | 27 | myled = 1; |
okini3939 | 0:d644bf01b0cb | 28 | pc.printf("<%s>\r\n", cdc_data); |
okini3939 | 0:d644bf01b0cb | 29 | usbdev.write(EPBULK_IN, (uint8_t*)cdc_data, cdc_len, MAX_PACKET_SIZE_EPBULK); |
okini3939 | 0:d644bf01b0cb | 30 | cdc_len = 0; |
okini3939 | 0:d644bf01b0cb | 31 | myled = 0; |
okini3939 | 0:d644bf01b0cb | 32 | } |
okini3939 | 0:d644bf01b0cb | 33 | } |
okini3939 | 0:d644bf01b0cb | 34 | } |