Странный глюк
Странный глюк
Создал заготовку. Суть в следующем. Принять данные с UART, записать в темповую переменную и далее работать с ней. При этом исключить возможность перезаписи в ней данных до конца обработки (исключить возможность влияния мусора из UART). Так вот проблема, при записи данных темповую переменную записываются только 2 первых символа (по крайней мере на дисплее вижу именно так). Кто пояснит, в чем глюк?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Странный глюк
Переменная Data_IN_act после первого срабатывание дальше уже не будет обновляться (менят свое состояние). Единожды записанная единица, там будет все время, и без разницы что у нее есть разрешение на запись, по тому что записывать она может только единица, но не ноль.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Airis 15 фев 2016, 21:01, всего редактировалось 1 раз.
Странный глюк
Airis, ниже, на второй плате, происходит периодическое (пока) обнуление данной переменной. Проблему записи только двух первых знаков это не решает.
Странный глюк
Не заметил то что на второй плате, но и тут проблема. Одновибратор небудет считать 3 секунды, он проработает очень короткий момент
(микросекунду, миллисекунду) и тоже самое произойдет с переменной Data_IN_act - оно поменяет свое состояние с
высокое на низкое почти мгновенно. А это означаете что Data_IN_act будет выводит данные на дисплей на это очень короткое мгновение, и
сразу после это его гасить. Так что это еще хорошо что на дисплее можно успеть увидеть
2 символа.
(микросекунду, миллисекунду) и тоже самое произойдет с переменной Data_IN_act - оно поменяет свое состояние с
высокое на низкое почти мгновенно. А это означаете что Data_IN_act будет выводит данные на дисплей на это очень короткое мгновение, и
сразу после это его гасить. Так что это еще хорошо что на дисплее можно успеть увидеть
2 символа.
Странный глюк
Airis, опять мимо.
Airis, я очень ценю Ваше желание помочь разобраться, но вот если бы Вы проверили этот проект "в железе" и сравнили мой и Ваш результаты было бы более информативно.
С Уважением.
будет, и считает. это можно "в живую" увидеть по светодиоду, подключенному к выходу D13. Состояние D13 напрямую зависит от состояния Data_IN_act. И символы висят эти самые 3с.Airis писал(а):не будет считать 3 секунды
Airis, я очень ценю Ваше желание помочь разобраться, но вот если бы Вы проверили этот проект "в железе" и сравнили мой и Ваш результаты было бы более информативно.
С Уважением.
Последний раз редактировалось Naladchik 16 фев 2016, 10:36, всего редактировалось 1 раз.
Странный глюк
Naladchik писал(а):в чем глюк?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Странный глюк
rw6cm, Спасибо.
Ваш вариант делал почти то, что мне нужно, главное, направление "куда копать" было понятно.
Подправил под свою задачу, заработало.
P.S. плюс в карму.
Ваш вариант делал почти то, что мне нужно, главное, направление "куда копать" было понятно.
Подправил под свою задачу, заработало.
P.S. плюс в карму.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Naladchik 16 фев 2016, 12:37, всего редактировалось 1 раз.
Странный глюк
Всегда рад помочь.Naladchik писал(а):rw6cm, Спасибо
Но честно сказать, вопрос в теме поставлен некудышне…
«Принять данные с UART, записать в темповую переменную и далее работать с ней (исключить возможность влияния мусора из UART)»
Что за данные? С какой интенсивностью приходят? О каком мусоре речь? Где критерий что это мусор ?
«При этом исключить возможность перезаписи в ней данных до конца обработки»
До какого конца? Пяти секунд по таймеру, или до турецкой пасхи?
Отсюда и ответ был «пальцем в небо» )))
И даже ваше заключение, «Подправил под свою задачу, заработало.» ни какой ясности не дало.
Таймер сброса в вашем варианте сбрасывает только св.диод, не трогая переменную темп.
Даже если это подправить он будет перезаписывать данные с принятых, и не определять, успели они там обновится или нет.
В общем разбирайтесь …. !)))))
Последний раз редактировалось rw6cm 16 фев 2016, 14:00, всего редактировалось 1 раз.
Win10-64, FLProg (portable)
Странный глюк
Просьба если вопрос решен, написать в тему!
То же такая проблема!
То же такая проблема!
Последний раз редактировалось monitorrr 16 фев 2016, 19:24, всего редактировалось 1 раз.
Странный глюк
Был найден косяк и в исходном проекте. переменная Data_IN_Act устанавливалась в высокое состояние в начале приема данных, а должна по окончанию. Соответственно и запись данных из приемной переменной в буферную происходила в начале приема а не по окончанию, вот поэтому только начало посылки и записывалось.
Для тех кто вдруг захочет проверить у себя, имейте ввиду что при запуске Монитора com порта и нажатии кнопки "соединение" Монитор отправляет в порт какие то данные, соответственно моя программа этот момент отлавливает и блокируется на время работы одновибратора.
Далее все работает как и задумывалось. Готовность к приему контролируется по гашению светодиода на D13
Для тех кто вдруг захочет проверить у себя, имейте ввиду что при запуске Монитора com порта и нажатии кнопки "соединение" Монитор отправляет в порт какие то данные, соответственно моя программа этот момент отлавливает и блокируется на время работы одновибратора.
Далее все работает как и задумывалось. Готовность к приему контролируется по гашению светодиода на D13
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Naladchik 16 фев 2016, 19:48, всего редактировалось 1 раз.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость