Подскажите по UART

передача шестнадцатеричных значений

Вопросы от новичков
Ответить
Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08.09.2015{, 16:18}
Репутация: 4
Откуда: Мариуполь

Подскажите по UART

#1

Сообщение Skull » 19.08.2020{, 17:28}

Всем доброго времени суток! Подскажите глупому студенту, как организовать вывод в UART шестнадцатеричных команд в байтовом виде (как в MODBUS) ?
Передавать нужно около сотни команд вот такого вида: 0xD5 0x11 0x34 0x20 0x00 0xAA.
Вернее, я никак не соображу, как передавать байты пачкой.....

RootShell
Рядовой
Сообщения: 77
Зарегистрирован: 27.06.2020{, 04:22}
Репутация: 18
Откуда: World
Имя: Agat
Контактная информация:

Подскажите по UART

#2

Сообщение RootShell » 19.08.2020{, 18:43}

Код: Выделить всё

//WRITE
  byte i [] = {0xD5, 0x11, 0x34, 0x20, 0x00, 0xAA};
  Serial.write(i,sizeof(i));

Код: Выделить всё

//READ
  byte i[5];
  Serial.readBytes((byte*)i, sizeof(i));
  Serial.readBytes((char*)i, sizeof(i));

Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08.09.2015{, 16:18}
Репутация: 4
Откуда: Мариуполь

Подскажите по UART

#3

Сообщение Skull » 20.08.2020{, 10:29}

Спасибо )) А подскажете как из этого сделать блок или как использовать в Flprog ?

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Подскажите по UART

#4

Сообщение Dryundel » 20.08.2020{, 11:18}

Skull писал(а):
20.08.2020{, 10:29}
Спасибо )) А подскажете как из этого сделать блок или как использовать в Flprog ?
viewtopic.php?f=187&t=5627

Аватара пользователя
Skull
Лейтенант
Сообщения: 424
Зарегистрирован: 08.09.2015{, 16:18}
Репутация: 4
Откуда: Мариуполь

Подскажите по UART

#5

Сообщение Skull » 20.08.2020{, 11:21}

Спасибо )

zviadovca29
Рядовой
Сообщения: 1
Зарегистрирован: 10.12.2020{, 00:13}
Репутация: 0
Имя: Александр

Подскажите по UART

#6

Сообщение zviadovca29 » 10.12.2020{, 00:41}

Делаю пользовательский блок из этого скетча для последующей отправки данных в дисплей NEXTION.
Данные принимаю из самодельного круиз-контроля по UART.
Две недели не могу осилить, помогите плиз.

Код: Выделить всё

void setup() {

Serial.begin(9600);
}

void loop() {
char buff[25]; // буфер для чтения всего сообщения

Serial.readBytes(buff, 25); // читаем в буфер если есть что читать.

char spd[3];
memcpy(spd, &buff[1], 3);
Serial.print(" S_tec: ");
Serial.print(spd); // текущая скорость
Serial.print(" ");
memcpy(spd, &buff[4], 3);
Serial.print(" S_stb: ");
Serial.print(spd); // скорость стабилизации
Serial.print(" ");
memcpy(spd, &buff[7], 3);
Serial.print(" S_usr: ");
Serial.print(spd); // пользовательская скорость
Serial.println(" ");
}

Ответить

Вернуться в «Начинающим»