int32_t main(void){ gain g = { 0.0, 0.0, 0.0}; uint32_t index = 0; int32_t size; uint8_t data_rx[64]; uint8_t data_tx = 0x00; uint32_t start, end; //初期化開始 conio_init(57600UL); Init_timer(); InitLED(); rcin_enable(0); Init_i2c(); Init_fram(); Init_DT(); printf("Initialize OK.\r\n"); //初期化終了 i2c->Cfg.SlaveAddr = 0x42; i2c->Cfg.BaudRate = 400000; g.p_gain = read_float(0); g.i_gain = read_float(4); g.d_gain = read_float(8); printf("%f, %f, %f\r\n", g.p_gain, g.i_gain, g.d_gain); while(1){ } }
// Modify from bcmDbgGetLine() of bcmdbg.c bool bcmDbgGetLine_WithTimeOut(char *pcBuf, long lBufSize, U32 timeout_us) { char *s_ptr; volatile char input_char; long ii; TimeStruct IR_RxTimer; bool success; input_char = 0; //input_char = -1; s_ptr = pcBuf; ii = 0; Init_timer(&IR_RxTimer,timeout_us); while ((input_char != '\n') && (ii < lBufSize) && (Check_timer(&IR_RxTimer) != 1) ) { while ((input_char = det_in_char()) < 0 && (Check_timer(&IR_RxTimer) != 1)) { // HalServiceWatchDogManager(); } if ((input_char == '\r') || (input_char == '\n') || ((U8)input_char == 0xFF)) // 0xFF = EOF { uart_out('\r'); uart_out('\n'); break; } else if (input_char == 0x08) // backspace { ii--; if( ii < 0 ) { ii = 0; } else { s_ptr--; uart_out(0x08); // deleting backspace uart_out(0x20); // deleting backspace uart_out(0x08); // deleting backspace } } else { ii++; *s_ptr++ = input_char; uart_out(input_char); // putchar(input_char); } } *s_ptr = '\0'; if (Check_timer(&IR_RxTimer) == 1) { success = false; } else { success = true; } return success; } // bcmDbgGetLine_WithTimeOut