Блок вывода переменной в UART
Блок вывода переменной в UART
Ребята, может кто соединить блок вывода с выводом byte?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Блок вывода переменной в UART
через переменную integer не пойдет?
Отправлено спустя 1 час 25 минут 13 секунд:
Думаю это не баг, при передаче в ком, в виде переменной не получится передать байт или чар в чистом виде,
т.к. к пакету данных привязывается дополнение самой переменной, которая транспортирует эти данные.
кто будет на той стороне это раскладывать?
Win10-64, FLProg (portable)
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Блок вывода переменной в UART
Баг, я думаю. Т.к. блок приёма готов к данным типа byte, есть такой пункт в его меню.rw6cm писал(а): 06 фев 2018, 11:26в виде переменной не получится передать байт или чар в чистом виде,
т.к. к пакету данных привязывается дополнение самой переменной, которая транспортирует эти данные.
кто будет на той стороне это раскладывать?
Вопрос при приёме - всего лишь в интерпретации принятых данных, шлём всё равно байты...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Блок вывода переменной в UART
Да, согласен, что то не о том подумал, это же транспорт в среде FLProg.Sancho писал(а): 06 фев 2018, 11:41Баг, я думаю. Т.к. блок приёма готов к данным типа byte, есть такой пункт в его меню.
И походу этот баг давно. Опустился до вер. 1.1 тоже не берется,
константу байтовую на вход поставить можно, значит должно быть.
надо в баг написать. извиняюсь уже есть.
Последний раз редактировалось rw6cm 06 фев 2018, 18:39, всего редактировалось 1 раз.
Причина: дописал
Причина: дописал
Win10-64, FLProg (portable)
Блок вывода переменной в UART
[ref]CraCk[/ref], Во, а поиском не нашлось...
Оно то пойдёт, пойдёт и стрингом... просто на приёмнике опять конвертировать для обработки...
-
- Лейтенант
- Сообщения: 338
- Зарегистрирован: 11 фев 2018, 13:07
- Имя: Сергей
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
Блок вывода переменной в UART
Вопрос не совсем по теме, но чтоб не плодить лишних, решил тут)
Хочу передавать число Int в UART, но чтобы передавалось в формате BYTE, а не ASCII.
Через блок "приведение типа к Byte" работает, но не хватает 1 байта, т.к. нужно передавать бОльшие числа, чем 255.
Вот не могу пока осилить такую вроде простую задачу...
Хочу передавать число Int в UART, но чтобы передавалось в формате BYTE, а не ASCII.
Через блок "приведение типа к Byte" работает, но не хватает 1 байта, т.к. нужно передавать бОльшие числа, чем 255.
Вот не могу пока осилить такую вроде простую задачу...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Блок вывода переменной в UART
Отправь два байта по очереди.Serg_Grn писал(а): 13 июн 2018, 12:39Вопрос не совсем по теме, но чтоб не плодить лишних, решил тут)
Хочу передавать число Int в UART, но чтобы передавалось в формате BYTE, а не ASCII.
Через блок "приведение типа к Byte" работает, но не хватает 1 байта, т.к. нужно передавать бОльшие числа, чем 255.
Вот не могу пока осилить такую вроде простую задачу...
Проверяй, какой байт идёт первым - "порядок компиляции блоков".
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 338
- Зарегистрирован: 11 фев 2018, 13:07
- Имя: Сергей
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
Блок вывода переменной в UART
[ref=#ff8000]Sancho[/ref], к сожалению, не выходит. Открываю монитор COM-порта и в разделе DEC я должен увидеть передаваемое число, но вместо этого я вижу два числа - как два байта раздельно... Сам не очень понимаю, что там происходит.
Вот в данный момент передаваемое число было около 290, а вот что в разделе DEC:
[spoiler] [/spoiler]
P.S. Если передавать через блок Byte, то все работает правильно - в разделе DEC передаваемое число (до 255, дальше по кругу).
Вот в данный момент передаваемое число было около 290, а вот что в разделе DEC:
[spoiler] [/spoiler]
P.S. Если передавать через блок Byte, то все работает правильно - в разделе DEC передаваемое число (до 255, дальше по кругу).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Блок вывода переменной в UART
[ref]Serg_Grn[/ref], Передача через UART осуществляется по-байтно, и только байтами.
Что-бы потом получить число, большей размерностью, чем байт, нужно провести необходимые действия - обратные проделанным при передаче.
У тебя, я вижу, передаётся, 35, 1, 34, 1... , а два байт CR (13) и LF (10) - это конец строки и перевод каретки.
Вот, пришлось переделать слегка.
Там не увидишь! Не передаёт он число целиком!
Что-бы потом получить число, большей размерностью, чем байт, нужно провести необходимые действия - обратные проделанным при передаче.
У тебя, я вижу, передаётся, 35, 1, 34, 1... , а два байт CR (13) и LF (10) - это конец строки и перевод каретки.
Вот, пришлось переделать слегка.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 338
- Зарегистрирован: 11 фев 2018, 13:07
- Имя: Сергей
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
Блок вывода переменной в UART
Понял, спасибо! Открыли глаза, я почему-то был уверен что через UART можно передавать сразу двухбайтные числа.Sancho писал(а): 13 июн 2018, 14:44Что-бы потом получить число, большей размерностью, чем байт, нужно провести необходимые действия - обратные проделанным при передаче.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Блок вывода переменной в UART
Вот ещё, посчитай, - идёт 1 и 34, это два байта, старший и младший. Старший - это сколько раз по 256 , следовательно передаётся 1*256 + 34 =290.
Или в программе взять интегер, со значением 0, прогнать по ИЛИ со старшим байтом, сдвинуть влево на 8 разрядов, прогнать по ИЛИ со вторым байтом. всё.
int out = 0;
out |= ( High << 8 ) |(Low) ;
return out;
Или в программе взять интегер, со значением 0, прогнать по ИЛИ со старшим байтом, сдвинуть влево на 8 разрядов, прогнать по ИЛИ со вторым байтом. всё.
int out = 0;
out |= ( High << 8 ) |(Low) ;
return out;
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя