Я принимаю строковые данные из последовательного порта, используя следующие команды:Как использовать элементы массива?
int k;
for(k=0;k<100;k++){
buf[0]=0;
HAL_UART_Receive(&huart2,buf,1, 100);
aRxBuffer[k]=buf[0];
}
HAL_UART_Transmit(&huart2,aRxBuffer, 100, 100);
и здесь читает сообщение:
#TPS#TP10#47#100#1.02#3.3#1.04#
Я хочу использовать ДАННЫЕ между двумя «#» symbols.For пример; - TPS мое имя метода Я хочу использовать эти данные, как этот
if(method=='TPS'){
dosomething();
}
А также 47 мое значение сопротивления. Я буду использовать это значение в некоторых вычислениях. Но это не целое число.
Как я могу сравнить свои данные в If Statement?
Как я могу преобразовать свои данные из строки в ingeter?
Прочитайте главу, посвященную строкам в учебнике C, вам нужно проанализировать вашу строку. Что вы пробовали? –
Я пытаюсь понять, какой метод я могу использовать. Нужно ли мне разбирать мою строку для моего первого вопроса или только второго вопроса? – king
Вам нужно разобрать строку в «маркеры», которые вам нужно проанализировать. Один из этих «токенов» может быть десятичным значением, представленным как строка - вы хотите преобразовать этот токен в целочисленном формате, например, используя atoi(), а затем проанализировать/выполнить на нем. – linuxfan