2010年11月7日日曜日

RBO,RB1でLED点滅

WinUSB - Generic Driver Demo を参考にしてカスタマイズ

PC側ソフトはボタンを2つ追加して、クリックされた時に
0x82、0x83 のコマンドを送るようにしただけです。
  1. private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {  
  2.   ULONG BytesWritten = 0;  
  3.   unsigned char OutputPacketBuffer[64];  
  4.   
  5.   OutputPacketBuffer[0] = 0x82;   
  6.   WinUsb_WritePipe(MyWinUSBInterfaceHandle, 0x01, &OutputPacketBuffer[0], 64, &BytesWritten, NULL);    
  7.   
  8.   }  
  9. private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {  
  10.   ULONG BytesWritten = 0;  
  11.   unsigned char OutputPacketBuffer[64];  
  12.   OutputPacketBuffer[0] = 0x83;   
  13.   WinUsb_WritePipe(MyWinUSBInterfaceHandle, 0x01, &OutputPacketBuffer[0], 64, &BytesWritten, NULL);    
  14.   
  15.    }  

PIC側ソフトはコマンドに応じた処理を追加しただけです。
  1. case 0x82:   
  2.      TRISB = 0xFC;   // RB0,1 output  
  3.      LATBbits.LATB0 = 1;  
  4.      LATBbits.LATB1 = 1;  
  5.                 break;  
  6. case 0x83:  
  7.      TRISB = 0xFC;   // RB0,1 output  
  8.      LATBbits.LATB0 = 0;  
  9.      LATBbits.LATB1 = 0;  
  10.                 break;          

0 件のコメント:

コメントを投稿