/***********************************************************************/ /* */ /* FILE :KCB_Treva.c */ /* DATE :Fri, May 30, 2008 */ /* DESCRIPTION :main program file. */ /* CPU GROUP :26 */ /* */ /* This file is generated by Renesas Project Generator (Ver.4.8). */ /* */ /***********************************************************************/ #include #include #include //イメージデータサイズ #define IMG_SIZE 96 * 72 * 2 //プロトタイプ宣言 unsigned char tr_read_bit(void); void tr_read_frame(void); // 1ビット読み込み // // pio0 Clock // pio1 Data unsigned char tr_read_bit(void) { unsigned char j; //pio0:Low pio0_out(0); wait(1); //pio1 Read j = pio1_in(); //printf("%d\n",j); wait(1); //pio0:High pio0_out(1); wait(1); //結果を返す //if(j > 0) return(0); //else return(1); return(j); } //画像をPCへ送信 void tr_read_frame(void) { unsigned char d, i; unsigned int ii; ledred_on(); // LED赤ON //100bit連続して1が来るのを待つ i = 0; while(i < 100) { if(tr_read_bit() == 1) i++; else i = 0; } //65bit分の0を検出 i = 0; while(i < 65) { if(tr_read_bit() == 0) i++; else i = 0; } //続く2バイト分のデータは無視 for(i = 0; i < 16; i++) tr_read_bit(); //画像データ取得&送信 for(ii = 0; ii < IMG_SIZE; ii++) { d = 0; for(i = 0; i < 8; i++) { //d = d * 2; d <<= 1; //if(tr_read_bit() == 1) d = d |0x10; d |= tr_read_bit(); } //sci_write_char(d); com_putchar(d); } ledred_off(); // LED赤OFF } void main(void) { cpu_init (); // CPU初期化 com_open(BR115200, 8, 1, PARITY_EVEN); // COMをオープン //pio0:High pio0_out(1); ledgrn_on(); // LED緑ON // メインループ while(1){ // キー入力の受付 if(ri_u1c1 != 0){ // 受信バッファーチェック switch( com_getchar()){ case 'a': tr_read_frame(); break; } } } }