Отправка данных в COM-PORT
Отправка данных в COM-PORT
Здравствуйте. Сделал пробную программку. Все работает, но при передаче в COM-PORT нечитаемые символы. Вроде должно писать на английском SVET-ON, SVET-OFF, но по факту "кракозябры")) Подскажите, может где какие настройки поменять??
Отправлено спустя 1 минуту 2 секунды:
На дисплее все нормально - как должно быть так и отображается.
Отправлено спустя 1 минуту 2 секунды:
На дисплее все нормально - как должно быть так и отображается.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Отправка данных в COM-PORT
Вариантов 2. Первый- [spoiler title= проверить соответствие скорости передачи данных] [/spoiler] Второй- "особенности" работы переходника TTL->USB, с помощью которого подключена Ваша ProMini к компютеру.tolibbass писал(а): 25 сен 2018, 12:13по факту "кракозябры")) Подскажите, может где какие настройки поменять??
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- kulibinsvv
- Лейтенант
- Сообщения: 487
- Зарегистрирован: 18 сен 2015, 10:04
- Откуда: Омск
- Благодарил (а): 3 раза
- Поблагодарили: 5 раз
Отправка данных в COM-PORT
Вход Send блока SendToUART почему в воздухе висит?
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
- kulibinsvv
- Лейтенант
- Сообщения: 487
- Зарегистрирован: 18 сен 2015, 10:04
- Откуда: Омск
- Благодарил (а): 3 раза
- Поблагодарили: 5 раз
Отправка данных в COM-PORT
Инверсия чего?
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
Отправка данных в COM-PORT
Трындец!!!! Сейчас поменял скорость порта в мониторе на 19200 и все нормально. Как это объяснить?? В блоке SendToUART скорость 9600 выставлена
Отправка данных в COM-PORT
Подробности в отсутствии сертификации продукции поставляемой из Китая в страны отличные от ЕС. Отличия тактовых частот устройств от указанных, негарантированная работа на определённых скоростях, несоответствие настроек програмных системных таймеров. В Ардуино совместимых платах с МК не от Atmel - такое безобразие наблюдается. К примеру с MassDuino MD328D мне пришлось очень долго настраивать вывод в ком порт, пока не установил скорось (единственная из стандартных) на которой происходила корректная прием-передача. Пробуйте и Вы менять скорости, ведь 3.3В и 8 МГц для ATMega 328 не совсем штатные.
N.B.Да, Вы уже сами к этому пришли- немного не успел я с ответом.
Последний раз редактировалось Labu559 25 сен 2018, 13:31, всего редактировалось 1 раз.
Отправка данных в COM-PORT
Инверсия сигнала. Т.е. там 0, инвертируется и получается всегда 1
Отправлено спустя 1 минуту 25 секунд:
Да да, так и вышло. А можно еще вопрос?? Вот PRO Mini на 3.3 В и 8 МГц. А на плате кварц на 16 МГц. Как так??Labu559 писал(а): 25 сен 2018, 13:29Подробности в отсутствии сертификации продукции поставляемой из Китая в страны отличные от ЕС. Отличия тактовых частот устройств от указанных, негарантированная работа на определённых скоростях, несоответствие настроек програмных системных таймеров. В Ардуино совместимых платах с МК не от Atmel - такое безобразие наблюдается. К примеру с MassDuino MD328D мне пришлось очень долго настраивать вывод в ком порт, пока не установил скорось (единственная из стандартных) на которой происходила корректная прием-передача. Пробуйте и Вы менять скорости, ведь 3.3В и 8 МГц для ATMega 328 не совсем штатные.
Отправка данных в COM-PORT
Поднимайте питание к 5В (ещё неизвестно какой там стабилизатор установлен) или меняйте кварц на 8MHz. Может у Вас вообще плата 5-вольтовая и ей не хватает питания? Это Вам первый звоночек что микроконтроллер "работает" в нештатном режиме (не тянет 16-MHz), ждите глюков в более сложных микропрограммах. Удачи!
Отправка данных в COM-PORT
Подал на RAW 12В, на VCC - 3.3В. На ноге самого камня тоже 3.3В. В общем китайцы как всегда))
- kulibinsvv
- Лейтенант
- Сообщения: 487
- Зарегистрирован: 18 сен 2015, 10:04
- Откуда: Омск
- Благодарил (а): 3 раза
- Поблагодарили: 5 раз
Отправка данных в COM-PORT
Нет там никакого нуля. Вход висит в воздухе. Чтобы появился ноль нужно его туда подать. Почему-то у блока DISP вы на вход EN константу повесили, а тут всё само из ниоткуда появляется.
На PRO Mini могут быть установлены разные комбинации контроллеров, кварцев и стабилизаторов. Так что придётся вам поискать даташиты на детальки и определить, что у вас за плата на самом деле. Продавцы на названии не заморачиваются.tolibbass писал(а): 25 сен 2018, 13:31Вот PRO Mini на 3.3 В и 8 МГц. А на плате кварц на 16 МГц. Как так??
Абсолютно штатные параметры!

Откройте даташит на микроконтроллер и удостоверьтесь. Только сначала буковки после 328 уточните, а то может даташит не от того контроллера оказаться.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
Отправка данных в COM-PORT
Было что-то подобное и тоже 19200 и больше помогло. Не заморачиваюсь над этим, главное чтобы работало.tolibbass писал(а): 25 сен 2018, 13:28Трындец!!!! Сейчас поменял скорость порта в мониторе на 19200 и все нормально. Как это объяснить?? В блоке SendToUART скорость 9600 выставлена
Электронщик как врач, ему нужно постоянно учиться чтобы соответствовать времени.
- Phazz
- Полковник
- Сообщения: 3126
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 233 раза
- Поблагодарили: 114 раз
Отправка данных в COM-PORT
Вы ошибаетесь. Вот код ТТ-триггера с инвертированным входом и обычнымkulibinsvv писал(а): 25 сен 2018, 13:50Нет там никакого нуля. Вход висит в воздухе. Чтобы появился ноль нужно его туда подать. Почему-то у блока DISP вы на вход EN константу повесили, а тут всё само из ниоткуда появляется.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
Отправка данных в COM-PORT
Я не призываю так пользоваться, но если сравнить часть кода например генератора с "висящим" входом
[spoiler]//Плата: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);[/spoiler]
и "висящим" с инверсией
[spoiler]//Плата: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);[/spoiler]
то будет видна разница.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
- kulibinsvv
- Лейтенант
- Сообщения: 487
- Зарегистрирован: 18 сен 2015, 10:04
- Откуда: Омск
- Благодарил (а): 3 раза
- Поблагодарили: 5 раз
Отправка данных в COM-PORT
[ref=#404040]Phazz[/ref], [ref]Ingwar[/ref], Вы в чём меня пытаетесь убедить? Что у прямого и инверсного входа код разный?
Дак, я нигде и не говорил, что он одинаковый.
Я говорю совсем о другом. Откуда берётся значение на входе Send блока SendToUART из скриншота в первом посте? В исходном состоянии там TRUE или FALSE? Однозначность где?
Раньше FLProg такие плюхи не пропускал.

Я говорю совсем о другом. Откуда берётся значение на входе Send блока SendToUART из скриншота в первом посте? В исходном состоянии там TRUE или FALSE? Однозначность где?

Раньше FLProg такие плюхи не пропускал.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
- Phazz
- Полковник
- Сообщения: 3126
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 233 раза
- Поблагодарили: 114 раз
Отправка данных в COM-PORT
Ну вообще-то это всегда можно было делать ))))
Отправлено спустя 2 минуты 58 секунд:
[ref]kulibinsvv[/ref], у boolean только 2 состояния, поэтому если к входу ничего не подключено, то состояние будет, false. Ну и соответственно инвертированный вход будет не false то есть true.
Отправлено спустя 2 минуты 58 секунд:
[ref]kulibinsvv[/ref], у boolean только 2 состояния, поэтому если к входу ничего не подключено, то состояние будет, false. Ну и соответственно инвертированный вход будет не false то есть true.
- kulibinsvv
- Лейтенант
- Сообщения: 487
- Зарегистрирован: 18 сен 2015, 10:04
- Откуда: Омск
- Благодарил (а): 3 раза
- Поблагодарили: 5 раз
Отправка данных в COM-PORT
Из какого источника это известно? Ткните пальцем. Не на эксперименты, а на документ.
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
- Phazz
- Полковник
- Сообщения: 3126
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 233 раза
- Поблагодарили: 114 раз
Отправка данных в COM-PORT
[ref]kulibinsvv[/ref], Это видно из кода! То есть получается, если этого нигде не описано в явном виде, то этого не существует? Народ пользуется этим как-то без документов. Ну не успевает автор описать все фичи своей программы документально, простите его за это пожалуйста.
Отправлено спустя 4 минуты 6 секунд:
Первый урок по Flprog, надеюсь это как документ подойдет?
https://youtu.be/Kep_NTuzd2k?t=350
Отправлено спустя 4 минуты 6 секунд:
Первый урок по Flprog, надеюсь это как документ подойдет?
https://youtu.be/Kep_NTuzd2k?t=350
- kulibinsvv
- Лейтенант
- Сообщения: 487
- Зарегистрирован: 18 сен 2015, 10:04
- Откуда: Омск
- Благодарил (а): 3 раза
- Поблагодарили: 5 раз
Отправка данных в COM-PORT
А вообще, это больше из области культуры речи (написания программы).
Человек не знакомый с FLProg, но знающий FBD будет трактовать подобную запись как ошибочную.
Программы, эксплуатирующие подобные недосмотры программиста-разработчика среды программирования, заранее обречены на ошибки (у программистов называются уязвимости).
Завтра разработчик поменяет параметры оптимизации кода или обработки исключительных ситуаций, и ваша программа перестанет компилироваться.
Или сбои самого контроллера при выполнении такого кода, которые трудно устранимы. Вы ведь не возьмётесь утверждать, что это не так?
Кстати, из-за этих недосмотров очень много вопросов у начинающих. Потому что, как правило, нарушена нормальная логика, привычная большинству.
Дискутировать можно долго, а писать нужно грамотно.

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