Странный глюк

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Naladchik
Капитан
Сообщения: 834
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел

Странный глюк

Сообщение Naladchik »

Создал заготовку. Суть в следующем. Принять данные с UART, записать в темповую переменную и далее работать с ней. При этом исключить возможность перезаписи в ней данных до конца обработки (исключить возможность влияния мусора из UART). Так вот проблема, при записи данных темповую переменную записываются только 2 первых символа (по крайней мере на дисплее вижу именно так). Кто пояснит, в чем глюк?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64. FLProg Portable.
Изображение
Airis
Сержант
Сообщения: 175
Зарегистрирован: 24 сен 2015, 07:27

Странный глюк

Сообщение Airis »

0547498.png
Переменная Data_IN_act после первого срабатывание дальше уже не будет обновляться (менят свое состояние). Единожды записанная единица, там будет все время, и без разницы что у нее есть разрешение на запись, по тому что записывать она может только единица, но не ноль.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Airis 15 фев 2016, 21:01, всего редактировалось 1 раз.
Naladchik
Капитан
Сообщения: 834
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел

Странный глюк

Сообщение Naladchik »

Airis, ниже, на второй плате, происходит периодическое (пока) обнуление данной переменной. Проблему записи только двух первых знаков это не решает.
Win10-64. FLProg Portable.
Изображение
Airis
Сержант
Сообщения: 175
Зарегистрирован: 24 сен 2015, 07:27

Странный глюк

Сообщение Airis »

Не заметил то что на второй плате, но и тут проблема. Одновибратор небудет считать 3 секунды, он проработает очень короткий момент
(микросекунду, миллисекунду) и тоже самое произойдет с переменной Data_IN_act - оно поменяет свое состояние с
высокое на низкое почти мгновенно. А это означаете что Data_IN_act будет выводит данные на дисплей на это очень короткое мгновение, и
сразу после это его гасить. Так что это еще хорошо что на дисплее можно успеть увидеть
2 символа.
Naladchik
Капитан
Сообщения: 834
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел

Странный глюк

Сообщение Naladchik »

Airis, опять мимо. 
Airis писал(а):не будет считать 3 секунды
будет, и считает. это можно "в живую" увидеть по светодиоду, подключенному к выходу D13. Состояние D13 напрямую зависит от состояния Data_IN_act. И символы висят эти самые 3с.

Airis, я очень ценю Ваше желание помочь разобраться, но вот если бы Вы проверили этот проект "в железе" и сравнили мой и Ваш результаты было бы более информативно.
С Уважением.
Последний раз редактировалось Naladchik 16 фев 2016, 10:36, всего редактировалось 1 раз.
Win10-64. FLProg Portable.
Изображение
Аватара пользователя
rw6cm
Полковник
Сообщения: 2301
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир

Странный глюк

Сообщение rw6cm »

Naladchik писал(а):в чем глюк?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Naladchik
Капитан
Сообщения: 834
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел

Странный глюк

Сообщение Naladchik »

rw6cm, Спасибо.
Ваш вариант делал почти то, что мне нужно, главное, направление "куда копать" было понятно.
Подправил под свою задачу, заработало.

P.S. плюс в карму.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Naladchik 16 фев 2016, 12:37, всего редактировалось 1 раз.
Win10-64. FLProg Portable.
Изображение
Аватара пользователя
rw6cm
Полковник
Сообщения: 2301
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир

Странный глюк

Сообщение rw6cm »

Naladchik писал(а):rw6cm, Спасибо
Всегда рад помочь.
Но честно сказать, вопрос в теме поставлен некудышне…
«Принять данные с UART, записать в темповую переменную и далее работать с ней (исключить возможность влияния мусора из UART)»
Что за данные? С какой интенсивностью приходят? О каком мусоре речь? Где критерий что это мусор ?
«При этом исключить возможность перезаписи в ней данных до конца обработки»
До какого конца? Пяти секунд по таймеру, или до турецкой пасхи?
Отсюда и ответ был «пальцем в небо» )))
И даже ваше заключение, «Подправил под свою задачу, заработало.»  ни какой ясности не дало.
Таймер сброса в вашем варианте сбрасывает только св.диод, не трогая переменную темп.
Даже если это подправить он будет перезаписывать данные с принятых, и не определять, успели они там обновится или нет.
В общем разбирайтесь …. !)))))
Последний раз редактировалось rw6cm 16 фев 2016, 14:00, всего редактировалось 1 раз.
Win10-64, FLProg (portable)
Naladchik
Капитан
Сообщения: 834
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел

Странный глюк

Сообщение Naladchik »

rw6cm, Ответил в личку.
Win10-64. FLProg Portable.
Изображение
monitorrr
Рядовой
Сообщения: 5
Зарегистрирован: 27 дек 2015, 08:19

Странный глюк

Сообщение monitorrr »

Просьба если вопрос решен, написать в тему!
То же такая проблема!
Последний раз редактировалось monitorrr 16 фев 2016, 19:24, всего редактировалось 1 раз.
Naladchik
Капитан
Сообщения: 834
Зарегистрирован: 04 окт 2015, 19:10
Откуда: Новосибирск
Имя: Павел

Странный глюк

Сообщение Naladchik »

Был найден косяк и в исходном проекте. переменная Data_IN_Act устанавливалась в высокое состояние в начале приема данных, а должна  по окончанию. Соответственно и запись данных из приемной переменной в буферную происходила в начале приема а не по окончанию, вот поэтому только начало посылки и записывалось.
Для тех кто вдруг захочет проверить у себя, имейте ввиду что при запуске Монитора com порта и нажатии кнопки "соединение" Монитор отправляет в порт какие то данные, соответственно моя программа этот момент отлавливает и блокируется на время работы одновибратора.
Далее все работает как и задумывалось. Готовность к приему контролируется по гашению светодиода на D13
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Naladchik 16 фев 2016, 19:48, всего редактировалось 1 раз.
Win10-64. FLProg Portable.
Изображение
Ответить

Вернуться в «Спросить у знатоков»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость