diff --git a/MCU_Workspace/labo5_mpu_user_console_etu/src/user_cmd.c b/MCU_Workspace/labo5_mpu_user_console_etu/src/user_cmd.c index d6dc544de650888b0694872dbecd7ccdb21663d2..d1a5e0b0f431070a73de2e7d30066cacd05b5109 100644 --- a/MCU_Workspace/labo5_mpu_user_console_etu/src/user_cmd.c +++ b/MCU_Workspace/labo5_mpu_user_console_etu/src/user_cmd.c @@ -113,13 +113,16 @@ void exec_user_read_write_uart() } str[i]=0; value_idx=i+1; - } else if (!isxdigit(str[i])) + } + else if (!isxdigit(str[i])) { strcpy(str, "\r\nSyntax error! Expected syntax is either <8 characters hexadecimal address> for reading\r\n or <8 characters hexadecimal address>,<8 characters hexadecimal value> for writing\r\n"); uart0_send_ref((uint8_t *)str, strlen(str)); return; } } + + if ((coma_nb&(i<2)) || i>17) { strcpy(str, "\r\nSyntax error! Expected syntax is either <8 characters hexadecimal address> for reading\r\n or <8 characters hexadecimal address>,<8 characters hexadecimal value> for writing\r\n (Bad length!) \r\n"); @@ -127,6 +130,7 @@ void exec_user_read_write_uart() return; } + sscanf(str, "%x", &addr); if (!coma_nb) // if read {