// 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