// Microchip USB C18 Firmware Version 1.2 /* ************************************************************************** */ #include <p18cxxx.h> #include "system\typedefs.h" #include "system\usb\usb.h" #include "io_cfg.h" // io pin mapping #include "user\user.h" #include "user\temperature.h" /* ************************************************************************** */ #pragma udata char input_buffer[64]; char output_buffer[64]; /* ************************************************************************** */ /* ************************************************************************** ** ** File name = user-n1-ok.c ** ** 2011/12/09 copy from 電子工作のテスト工場 ** [USB内蔵PIC PIC18F2550MCHPFSUB Framework ] ** プログラム例 より ** http://amahime.main.jp/picusb/main.php?name=picusb ** ** RC0〜RC2にLEDを取り付け ** キーボードから0〜2を入力するとLED0〜LED2の点灯、消灯を切り替える ** かつ、RC0=Chenge〜RC2=Chengeを出力する ** ** 2011/12/09(金) ビルド完了 ** 2011/12/11(日) 予想のとおり動作した。完了 ** ** ************************************************************************** */ #pragma code void UserInit(void){ TRISA = 0; TRISB = 0X01; TRISC = 0; LATA = 0; LATB = 0; LATC = 0; } // end UserInit void ProcessIO(void){ // User Application USB tasks if(( usb_device_state < CONFIGURED_STATE ) || (UCONbits.SUSPND==1)) return; if(getsUSBUSART(input_buffer,64)){ switch(input_buffer[0]) { case '0': LATCbits.LATC0 = !LATCbits.LATC0 ; if(mUSBUSARTIsTxTrfReady()) putrsUSBUSART("RC0=Chenge\r\n"); break; case '1': LATCbits.LATC1 = !LATCbits.LATC1 ; if(mUSBUSARTIsTxTrfReady()) putrsUSBUSART("RC1=Chenge\r\n"); break; case '2': LATCbits.LATC2 = !LATCbits.LATC2 ; if(mUSBUSARTIsTxTrfReady()) putrsUSBUSART("RC2=Chenge\r\n"); break; default: if(mUSBUSARTIsTxTrfReady()) putrsUSBUSART("NG\r\n"); break; } // end switch } // end if } // end ProcessIO |