Как сделать так, чтобы он не 25, а сразу 19 писал?
Serial.printf("%X\n", decValue);
byte kolchislo[]={0x00,0x00,0x00,0x00,0x00};
razmer=1;// может и 2 и 3 быть, от этого завесить дальнейший размер
char asciiHex[sizeof(kolchislo) + 1];
for(int i = 0;i<razmer;i++){
asciiHex[i]=kolchislo[i];
}
asciiHex[razmer] = 0;
int decValue = strtol(asciiHex, NULL, 16);
decValue++;
Serial.printf("%X\n", decValue);
char asciiHex[razmer];
char asciiHex[sizeof(kolchislo)];
asciiHex[razmer] = 0;
Serial.printf("%X\n", decValue);
Не хочу возиться со всякими dummy узлами
Во-вторых, я использую C
во всех книгах план примерно такой
тип string является вовсе не типом, а классом
ввод/вывод в консольном приложении осуществляется через объекты cin и cout
не нравится ему маска все равно + ip пустой
echo.%ip_address%
по отдельности получается найти ip , грамотно через tokens выделить только его но все вместе работать не хочет.
netsh interface ip set address name="%interface_name%" source=static address=!ip_address! mask=%subnet_mask% gateway=%gateway%
для обработки ERROR_IO_PENDING как раз и применяется WaitForSingleObject
Зачем использовать EV_ERR когда мы передаем и получаем одинаковое кол-во байт? Куда переполнится буфер если мы всего для теста запускаем 1 отправку и 1 чтение, а запас в 1,5х объема?
"ожидание блока байтов с прочтением их всех"
это обеспечивает асинхронные EV_RXCHAR и EV_TXCHAR
Я не просто так указал verilog здесь, потому что я не уверен 100% что здесь нет ее вины.
Запустите под отладчиком да посмотрите по шагам где тут косяк.
Или просто выводите в лог (на экран или куда можете) промежуточные значения.
При входных данных "95" в asciiHex должно содержаться {'9', '5', 0}
В целом ваш код выглядит правильно, но много лишних телодвижений на мой взгляд. Возможно вам это для чего-то надо, не знаю.
Правда осталось не ясно как определен kolchislo. И вы продолжаете использовать VLA в buffff. VLA - это зло. Подумайте как уйти от этого.