Win Usb Test ,Usb Bulk . Made by Shoichi Yamasuge. movie http://youtu.be/uGPH3AwrFpU WIN USB テスト USB BULK テスト 動画は下記 http://youtu.be/uGPH3AwrFpU usbdevice Library add. usbdevice Library を追加する必要あり。 endpoint 1 = out. endpoint 2 = in. にする事! you input venderid/productid. コンパイルする前のmain.cの venderidとproduct idを入れる必要がある。
main.cpp@0:b7d14646dadd, 2013-11-30 (annotated)
- Committer:
- yamasho
- Date:
- Sat Nov 30 15:07:12 2013 +0000
- Revision:
- 0:b7d14646dadd
- Child:
- 1:9517305f74ce
Win Usb Test Soft;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yamasho | 0:b7d14646dadd | 1 | #include "mbed.h" |
yamasho | 0:b7d14646dadd | 2 | #include "USBBULK.h" |
yamasho | 0:b7d14646dadd | 3 | |
yamasho | 0:b7d14646dadd | 4 | |
yamasho | 0:b7d14646dadd | 5 | USBBULK bulk(0xXXXX ,0xYYYY, 0x0001); //xxxx vender-id/yyyy product-id |
yamasho | 0:b7d14646dadd | 6 | |
yamasho | 0:b7d14646dadd | 7 | BusOut leds(LED1, LED2, LED3, LED4); |
yamasho | 0:b7d14646dadd | 8 | Serial pc(USBTX, USBRX); |
yamasho | 0:b7d14646dadd | 9 | uint8_t DataBuffer[MAX_BULK_SIZE]; |
yamasho | 0:b7d14646dadd | 10 | |
yamasho | 0:b7d14646dadd | 11 | #define DEBUG 1 |
yamasho | 0:b7d14646dadd | 12 | |
yamasho | 0:b7d14646dadd | 13 | DigitalOut Led1(LED1); |
yamasho | 0:b7d14646dadd | 14 | |
yamasho | 0:b7d14646dadd | 15 | int main(void) { |
yamasho | 0:b7d14646dadd | 16 | #if defined(DEBUG) |
yamasho | 0:b7d14646dadd | 17 | pc.printf("\n"); |
yamasho | 0:b7d14646dadd | 18 | pc.printf("Connecting....\n"); |
yamasho | 0:b7d14646dadd | 19 | #endif |
yamasho | 0:b7d14646dadd | 20 | bulk.connect(); |
yamasho | 0:b7d14646dadd | 21 | |
yamasho | 0:b7d14646dadd | 22 | #if defined(DEBUG) |
yamasho | 0:b7d14646dadd | 23 | pc.printf("Usb Connected.\n"); |
yamasho | 0:b7d14646dadd | 24 | pc.printf(" Code Start!!........."); |
yamasho | 0:b7d14646dadd | 25 | #endif |
yamasho | 0:b7d14646dadd | 26 | |
yamasho | 0:b7d14646dadd | 27 | while ( true ) |
yamasho | 0:b7d14646dadd | 28 | { |
yamasho | 0:b7d14646dadd | 29 | if(bulk.readNB(DataBuffer)) |
yamasho | 0:b7d14646dadd | 30 | { |
yamasho | 0:b7d14646dadd | 31 | leds = DataBuffer[2]; |
yamasho | 0:b7d14646dadd | 32 | #if defined(DEBUG) |
yamasho | 0:b7d14646dadd | 33 | ///////// for Char Debug //////////////// |
yamasho | 0:b7d14646dadd | 34 | for(int i = 0; i < sizeof(DataBuffer) ; i++) |
yamasho | 0:b7d14646dadd | 35 | { |
yamasho | 0:b7d14646dadd | 36 | pc.printf("%c", (char)DataBuffer[i]); |
yamasho | 0:b7d14646dadd | 37 | } |
yamasho | 0:b7d14646dadd | 38 | pc.printf("\r\n"); |
yamasho | 0:b7d14646dadd | 39 | ///////// for Bin Debug //////////////// |
yamasho | 0:b7d14646dadd | 40 | for(int i = 0; i < sizeof(DataBuffer) ; i++) |
yamasho | 0:b7d14646dadd | 41 | { |
yamasho | 0:b7d14646dadd | 42 | pc.printf("%02x ", (char)DataBuffer[i]); |
yamasho | 0:b7d14646dadd | 43 | } |
yamasho | 0:b7d14646dadd | 44 | pc.printf("\r\n"); |
yamasho | 0:b7d14646dadd | 45 | #endif |
yamasho | 0:b7d14646dadd | 46 | |
yamasho | 0:b7d14646dadd | 47 | if(( DataBuffer[0] == 0x06 ) && (DataBuffer[1] == char('V'))) |
yamasho | 0:b7d14646dadd | 48 | { |
yamasho | 0:b7d14646dadd | 49 | #if defined(DEBUG) |
yamasho | 0:b7d14646dadd | 50 | pc.printf(" Version Code UsbOut "); |
yamasho | 0:b7d14646dadd | 51 | #endif |
yamasho | 0:b7d14646dadd | 52 | memset(DataBuffer,0,sizeof(DataBuffer)); |
yamasho | 0:b7d14646dadd | 53 | DataBuffer[0] = 0x06; |
yamasho | 0:b7d14646dadd | 54 | DataBuffer[1] = 'V'; |
yamasho | 0:b7d14646dadd | 55 | DataBuffer[2] = 00; |
yamasho | 0:b7d14646dadd | 56 | DataBuffer[3] = 01; |
yamasho | 0:b7d14646dadd | 57 | DataBuffer[4] = 00; |
yamasho | 0:b7d14646dadd | 58 | DataBuffer[5] = 00; |
yamasho | 0:b7d14646dadd | 59 | bulk.WriteNB(DataBuffer); // For Wait; |
yamasho | 0:b7d14646dadd | 60 | } |
yamasho | 0:b7d14646dadd | 61 | else |
yamasho | 0:b7d14646dadd | 62 | { |
yamasho | 0:b7d14646dadd | 63 | #if defined(DEBUG) |
yamasho | 0:b7d14646dadd | 64 | pc.printf(" Echo Back UsbOut "); |
yamasho | 0:b7d14646dadd | 65 | #endif |
yamasho | 0:b7d14646dadd | 66 | bulk.WriteNB(DataBuffer); // For Wait; |
yamasho | 0:b7d14646dadd | 67 | } |
yamasho | 0:b7d14646dadd | 68 | } |
yamasho | 0:b7d14646dadd | 69 | } |
yamasho | 0:b7d14646dadd | 70 | } |