Отправка данных в COM-PORT

Нечитаемые символы

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Отправка данных в COM-PORT

#1

Сообщение tolibbass » 25.09.2018{, 12:12}

Здравствуйте. Сделал пробную программку. Все работает, но при передаче в COM-PORT нечитаемые символы. Вроде должно писать на английском SVET-ON, SVET-OFF, но по факту "кракозябры")) Подскажите, может где какие настройки поменять??

Отправлено спустя 1 минуту 2 секунды:
На дисплее все нормально - как должно быть так и отображается.
Вложения
2.png
1.png

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Отправка данных в COM-PORT

#2

Сообщение Labu559 » 25.09.2018{, 12:46}

tolibbass писал(а):
25.09.2018{, 12:13}
по факту "кракозябры")) Подскажите, может где какие настройки поменять??
Вариантов 2. Первый-
проверить соответствие скорости передачи данныхПоказать
tolibbass.png
Второй- "особенности" работы переходника TTL->USB, с помощью которого подключена Ваша ProMini к компютеру.

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Отправка данных в COM-PORT

#3

Сообщение tolibbass » 25.09.2018{, 13:04}

Скорости передачи данных 9600, а про особенности поподробней можно??

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 476
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 54
Откуда: Омск

Отправка данных в COM-PORT

#4

Сообщение kulibinsvv » 25.09.2018{, 13:23}

tolibbass писал(а):
25.09.2018{, 12:13}
Подскажите, может где какие настройки поменять??
Вход Send блока SendToUART почему в воздухе висит?
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Отправка данных в COM-PORT

#5

Сообщение tolibbass » 25.09.2018{, 13:25}

Ну, как бы, там инверсия и передача постоянно

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 476
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 54
Откуда: Омск

Отправка данных в COM-PORT

#6

Сообщение kulibinsvv » 25.09.2018{, 13:27}

tolibbass писал(а):
25.09.2018{, 13:25}
Ну, как бы, там инверсия и передача постоянно
Инверсия чего?
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Отправка данных в COM-PORT

#7

Сообщение tolibbass » 25.09.2018{, 13:28}

Трындец!!!! Сейчас поменял скорость порта в мониторе на 19200 и все нормально. Как это объяснить?? В блоке SendToUART скорость 9600 выставлена

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Отправка данных в COM-PORT

#8

Сообщение Labu559 » 25.09.2018{, 13:29}

tolibbass писал(а):
25.09.2018{, 13:04}
поподробней можно
Подробности в отсутствии сертификации продукции поставляемой из Китая в страны отличные от ЕС. Отличия тактовых частот устройств от указанных, негарантированная работа на определённых скоростях, несоответствие настроек програмных системных таймеров. В Ардуино совместимых платах с МК не от Atmel - такое безобразие наблюдается. К примеру с MassDuino MD328D мне пришлось очень долго настраивать вывод в ком порт, пока не установил скорось (единственная из стандартных) на которой происходила корректная прием-передача. Пробуйте и Вы менять скорости, ведь 3.3В и 8 МГц для ATMega 328 не совсем штатные.

N.B.Да, Вы уже сами к этому пришли- немного не успел я с ответом.
Последний раз редактировалось Labu559 25.09.2018{, 13:31}, всего редактировалось 1 раз.

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Отправка данных в COM-PORT

#9

Сообщение tolibbass » 25.09.2018{, 13:30}

kulibinsvv писал(а):
25.09.2018{, 13:27}
tolibbass писал(а):
25.09.2018{, 13:25}
Ну, как бы, там инверсия и передача постоянно
Инверсия чего?
Инверсия сигнала. Т.е. там 0, инвертируется и получается всегда 1

Отправлено спустя 1 минуту 25 секунд:
Labu559 писал(а):
25.09.2018{, 13:29}
tolibbass писал(а):
25.09.2018{, 13:04}
поподробней можно
Подробности в отсутствии сертификации продукции поставляемой из Китая в страны отличные от ЕС. Отличия тактовых частот устройств от указанных, негарантированная работа на определённых скоростях, несоответствие настроек програмных системных таймеров. В Ардуино совместимых платах с МК не от Atmel - такое безобразие наблюдается. К примеру с MassDuino MD328D мне пришлось очень долго настраивать вывод в ком порт, пока не установил скорось (единственная из стандартных) на которой происходила корректная прием-передача. Пробуйте и Вы менять скорости, ведь 3.3В и 8 МГц для ATMega 328 не совсем штатные.
Да да, так и вышло. А можно еще вопрос?? Вот PRO Mini на 3.3 В и 8 МГц. А на плате кварц на 16 МГц. Как так??

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

Отправка данных в COM-PORT

#10

Сообщение Labu559 » 25.09.2018{, 13:41}

tolibbass писал(а):
25.09.2018{, 13:31}
Как так??
Поднимайте питание к 5В (ещё неизвестно какой там стабилизатор установлен) или меняйте кварц на 8MHz. Может у Вас вообще плата 5-вольтовая и ей не хватает питания? Это Вам первый звоночек что микроконтроллер "работает" в нештатном режиме (не тянет 16-MHz), ждите глюков в более сложных микропрограммах. Удачи!

tolibbass
Рядовой
Сообщения: 37
Зарегистрирован: 26.11.2016{, 15:00}
Репутация: 0

Отправка данных в COM-PORT

#11

Сообщение tolibbass » 25.09.2018{, 13:46}

Подал на RAW 12В, на VCC - 3.3В. На ноге самого камня тоже 3.3В. В общем китайцы как всегда))

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 476
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 54
Откуда: Омск

Отправка данных в COM-PORT

#12

Сообщение kulibinsvv » 25.09.2018{, 13:50}

tolibbass писал(а):
25.09.2018{, 13:31}
Т.е. там 0, инвертируется и получается всегда 1
Нет там никакого нуля. Вход висит в воздухе. Чтобы появился ноль нужно его туда подать. Почему-то у блока DISP вы на вход EN константу повесили, а тут всё само из ниоткуда появляется.
tolibbass писал(а):
25.09.2018{, 13:31}
Вот PRO Mini на 3.3 В и 8 МГц. А на плате кварц на 16 МГц. Как так??
На PRO Mini могут быть установлены разные комбинации контроллеров, кварцев и стабилизаторов. Так что придётся вам поискать даташиты на детальки и определить, что у вас за плата на самом деле. Продавцы на названии не заморачиваются.
Labu559 писал(а):
25.09.2018{, 13:29}
3.3В и 8 МГц для ATMega 328 не совсем штатные
Абсолютно штатные параметры! :yes:
Откройте даташит на микроконтроллер и удостоверьтесь. Только сначала буковки после 328 уточните, а то может даташит не от того контроллера оказаться.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)

Аватара пользователя
olddolin
Сержант
Сообщения: 245
Зарегистрирован: 08.09.2017{, 19:47}
Репутация: 14
Откуда: Тверь
Имя: Вадим

Отправка данных в COM-PORT

#13

Сообщение olddolin » 25.09.2018{, 16:39}

tolibbass писал(а):
25.09.2018{, 13:28}
Трындец!!!! Сейчас поменял скорость порта в мониторе на 19200 и все нормально. Как это объяснить?? В блоке SendToUART скорость 9600 выставлена
Было что-то подобное и тоже 19200 и больше помогло. Не заморачиваюсь над этим, главное чтобы работало.
Электронщик как врач, ему нужно постоянно учиться чтобы соответствовать времени.

Аватара пользователя
Phazz
Полковник
Сообщения: 2553
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Отправка данных в COM-PORT

#14

Сообщение Phazz » 25.09.2018{, 20:11}

kulibinsvv писал(а):
25.09.2018{, 13:50}
Нет там никакого нуля. Вход висит в воздухе. Чтобы появился ноль нужно его туда подать. Почему-то у блока DISP вы на вход EN константу повесили, а тут всё само из ниоткуда появляется.
Вы ошибаетесь. Вот код ТТ-триггера с инвертированным входом и обычным
Вложения
2018-09-25_22-02-00.png
2018-09-25_22-02-00.png (8.44 КБ) 1799 просмотров

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Отправка данных в COM-PORT

#15

Сообщение Ingwar » 25.09.2018{, 20:23}

kulibinsvv писал(а):
25.09.2018{, 13:50}
а тут всё само из ниоткуда появляется.
Я не призываю так пользоваться, но если сравнить часть кода например генератора с "висящим" входом
СпойлерПоказать
//Плата:1
if (0) { if (! _gen1I) { _gen1I = 1; _gen1O = 1; _gen1P = millis(); } } else { _gen1I = 0 ; _gen1O= 0;}
if (_gen1I) { if ( _isTimer ( _gen1P , 1000 )) { _gen1P = millis(); _gen1O = ! _gen1O;}}
digitalWrite(0, _gen1O);
и "висящим" с инверсией
СпойлерПоказать
//Плата:1
if (!(0)) { if (! _gen1I) { _gen1I = 1; _gen1O = 1; _gen1P = millis(); } } else { _gen1I = 0 ; _gen1O= 0;}
if (_gen1I) { if ( _isTimer ( _gen1P , 1000 )) { _gen1P = millis(); _gen1O = ! _gen1O;}}
digitalWrite(0, _gen1O);
то будет видна разница.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 476
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 54
Откуда: Омск

Отправка данных в COM-PORT

#16

Сообщение kulibinsvv » 26.09.2018{, 06:00}

Phazz, Ingwar, Вы в чём меня пытаетесь убедить? Что у прямого и инверсного входа код разный? :helpme: Дак, я нигде и не говорил, что он одинаковый.
Я говорю совсем о другом. Откуда берётся значение на входе Send блока SendToUART из скриншота в первом посте? В исходном состоянии там TRUE или FALSE? Однозначность где? :smile14:
Раньше FLProg такие плюхи не пропускал.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)

Аватара пользователя
Phazz
Полковник
Сообщения: 2553
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Отправка данных в COM-PORT

#17

Сообщение Phazz » 26.09.2018{, 06:03}

Ну вообще-то это всегда можно было делать ))))

Отправлено спустя 2 минуты 58 секунд:
kulibinsvv, у boolean только 2 состояния, поэтому если к входу ничего не подключено, то состояние будет, false. Ну и соответственно инвертированный вход будет не false то есть true.

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 476
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 54
Откуда: Омск

Отправка данных в COM-PORT

#18

Сообщение kulibinsvv » 26.09.2018{, 07:39}

Phazz писал(а):
26.09.2018{, 06:06}
то состояние будет, false
Из какого источника это известно? Ткните пальцем. Не на эксперименты, а на документ.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)

Аватара пользователя
Phazz
Полковник
Сообщения: 2553
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Отправка данных в COM-PORT

#19

Сообщение Phazz » 26.09.2018{, 07:49}

kulibinsvv, Это видно из кода! То есть получается, если этого нигде не описано в явном виде, то этого не существует? Народ пользуется этим как-то без документов. Ну не успевает автор описать все фичи своей программы документально, простите его за это пожалуйста.

Отправлено спустя 4 минуты 6 секунд:
Первый урок по Flprog, надеюсь это как документ подойдет?

Аватара пользователя
kulibinsvv
Лейтенант
Сообщения: 476
Зарегистрирован: 18.09.2015{, 10:04}
Репутация: 54
Откуда: Омск

Отправка данных в COM-PORT

#20

Сообщение kulibinsvv » 26.09.2018{, 08:30}

Phazz писал(а):
26.09.2018{, 07:49}
Это видно из кода!
А вообще, это больше из области культуры речи (написания программы).
Человек не знакомый с FLProg, но знающий FBD будет трактовать подобную запись как ошибочную.

Программы, эксплуатирующие подобные недосмотры программиста-разработчика среды программирования, заранее обречены на ошибки (у программистов называются уязвимости).
Завтра разработчик поменяет параметры оптимизации кода или обработки исключительных ситуаций, и ваша программа перестанет компилироваться.
Или сбои самого контроллера при выполнении такого кода, которые трудно устранимы. Вы ведь не возьмётесь утверждать, что это не так?
Кстати, из-за этих недосмотров очень много вопросов у начинающих. Потому что, как правило, нарушена нормальная логика, привычная большинству.

Дискутировать можно долго, а писать нужно грамотно. :D
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)

Ответить

Вернуться в «UART»