БАНо
Взял сегодня на работе осцилограф. Померил канальный импульс, и всё стало на свои места! Период импульсов равен 20 мс. И убедился что на моих приёмниках никакого ФС нет (передатчик выключил, импульсы пропали)!
Видимо поэтому всё становится на свои места. На таймере Т0 нам реализовать не получится, нужен 16-ти битный таймер.
На таймере Т0 нам реализовать не получится, нужен 16-ти битный таймер
Извиняюсь, что лезу не изучив вашу прошивку, но пропажу импульсов можно и просто по прерываниям считать (не знаю какие и как у вас настроены), и даже совсем без них, совершенно отдельно от замера длинны импульса, так что на разрядности таймера свет клином не сошёлся 😉
Андрей, может проблема от того что в цикле аварийки вы используете непосредственно регистр таймера - если его списывать в переменную и работать с ней,думаю проблем поисчезнет.
и не совсем понятно - после остановки таймера 0 зачем в его счётный регистр вписывать 220?
для снижения возможных коллизий, можно такт мигалова на поворотники брать от меж канального интервала
Поборол таки я его! Вроде получилось! Теперь буду наблюдать, может ещё какой баг появится!
Это пока ещё не окончательная прошивка! Это так сказать для народа, кому интересно как получилось отследить потерю сигнала.
Андрей, может проблема от того что в цикле аварийки вы используете непосредственно регистр таймера - если его списывать в переменную и работать с ней,думаю проблем поисчезнет.
Можно и так, на вкус 😃 В реале это экономит код и быстродействие, просто в основном цикле так нельзя делать - там надо изменения фиксировать, поэтому и переменная введена - и перезаписывается она только при завершении нового измерения импульса, до этого она константа.
и не совсем понятно - после остановки таймера 0 зачем в его счётный регистр вписывать 220?
Каюсь, косяк, с тех времён, когда таймер считал постоянно. Можно убрать, с точки зрения логики - никаких изменений не будет!
для снижения возможных коллизий, можно такт мигалова на поворотники брать от меж канального интервала
Да там в принципе коллизий быть не должно, нарушается основной принцип декодирования ППМа с помощью простейшего счётчика и элемента И.
Поборол таки я его! Вроде получилось!
Поздравляю!!!
Теперь буду наблюдать, может ещё какой баг появится!
Ну не знаю, уже и так вилизывали, хотя…куда без них 😃
Это так сказать для народа, кому интересно как получилось отследить потерю сигнала.
Да уж, оригинально 😃 Инкриментировать Аларм при переполнении… ну что сказать - раз работает, значит и не трогаем! 😃 Можно было частоту тактирования уменьшить, но раз так работает - то так тому и быть!
Поборол таки я его! .
Респект:))
грамотный подход:)
Поборол таки я его! Вроде получилось!
Мои осторожные поздравления 😁
Ну почти работает. Есть ещё такая ошибка: Почему то подмаргивают поворотники, когда ничего не трогаешь. Определённой зависимости нет, моргают когда хотят.
На видео видно. 33-38 секунда видео левый поворотник, 44-48 секунда правый поворотник. Всё остальное время какаято помеха, за исключение начала и конца, там сама аварийка.
Это последняя прошивка что я выкладывал, которая 3_0.
А что самое интересное. Удаляю Настройщик прерываний для переполнения таймера Т0 и эта помеха пропадает, обсалютно нормально работает, возвращаю всё обратно и снова эта помеха появляется.
“fara” когда-нибудь включается? Везде в нее помещается “1”…
Вот еще натырка. При входе во все обработчики надо сохранять в стеке регистр sreg, а по выходе - возвращать. Да и r16,r17 неплохо бы в стеке сохранять(АБ это автоматически не делает). Несохранение первого даёт ошибки при сравнении, поскольку могут потеряться биты знаков, переполнеия и т.д., а вторые используются прогой как временные регистры при действиях с 16-ти битными переменными, регистрами ввода-вывода, макросами и т.д., так уж заведено автором АБ.
матчасть будем когда-нибудь учить? 😉
“fara” когда-нибудь включается? Везде в нее помещается “1”…
В моей последней прошивке “fara” и “fara1” зажигается и гасится стиком.
Вот еще натырка. При входе во все обработчики надо сохранять в стеке регистр sreg, а по выходе - возвращать. Да и r16,r17 неплохо бы в стеке сохранять(АБ это автоматически не делает). Несохранение первого даёт ошибки при сравнении, поскольку могут потеряться биты знаков, переполнеия и т.д., а вторые используются прогой как временные регистры при действиях с 16-ти битными переменными, регистрами ввода-вывода, макросами и т.д., так уж заведено автором АБ
Буду пробовать. Может поможет!
матчасть будем когда-нибудь учить?
😒
Валерий, попробовал сохронять, но всё равно неправильно работает. “Не выходит чаша каменная” (С)
Антон, не нашел где в бит “фара” записывается “0”, почему-то.
отработка по период1 будет только при наличии “период” в пределах нормальных длительностей, т.е. при пропадании сигнала на ноге Д2 будет отрабатываться последняя поступившая длительность импульса, а если длительность сигнала выйдет за пределы 900-2200мкс, на ногу Д3 реакции не будет. Никакой. т.е. прерывание-то будет, но в теле маин действий не будет.
В симе отлично видно, что sreg до входа в обработчик и по выходе из него совершенно разные имеет значения.
Такой вариант.
Валерий, не поверите, делал всё то что сделали и Вы. Ваша прошивка работает, моя нет! Буду разбираться что я неправильно сделал. Как Вы считаете, от того что не в правильной последовательности в стек сохранял и выводил из стека могло не работать?
Антон, не нашел где в бит “фара” записывается “0”, почему-то.
это не столь важно, наверное пропустил. Я же написал что это не окончательная версия.
Огромное спасибо Вам за помощь!!!
отработка по период1 будет только при наличии “период” в пределах нормальных длительностей, т.е. при пропадании сигнала на ноге Д2, или длительность сигнала выйдет за пределы 900-2200мкс, на ногу Д3 реакции не будет. Никакой. т.е. прерывание-то будет, но в теле маин действий не будет.
Это видимо в старых версиях, в 3_0 такого нет. Там в любом слусчае период1 будет сравниваться после период.
Расставил сохранения в стек как у Вас и моя прошивка тоже заработала! Век живи, век учись!
Сохранять в стек и выводить надо в последовательности " первый вошел - последний вышел".
Об отработке по период1 говорил на основании 3_0 версии. В 3_1 несколько переделано.
Ну вот и хорошо! 😉
Всем доброго времени суток! Наконец таки у меня дошли руки чтоб дописать прошивку, нарисовать схему и снять видео.
На схеме вроде всё понятно, но если вдруг будут какие вопросы, то с удовольствием отвечу!!!
Работает следующим образом: Канал свет поворачиваем на 1/3 загораются четыре габарита, ещё на 1/3 габариты продолжают гореть и загораются две фары. Гаснет всё в обратном порядке. Канал поворотники: поворотники начинают работать при перемещении стика на 1/2 от центра в право и влево.
Аварийка: При пропадании канальных импульсов Гаснут габариты, фары и начинают моргать все поворотники.
Антон класс! Прикольно!
Конечно не моё дело, но “руль” кажется лишний.
Вот мой вариант:
www.youtube.com/watch?v=xHcU3XM-AYc&feature=player…
😇 …
Ginta, просто меня попросили сделать огни для авто именно с поворотниками. Поэтому получилось вот так. А расскажите пожалуйста словами, какие огни в какой момент загораются. А то видео очень тёмное и не понятно что Вы крутите и куда нажимаете в какой момент. Буду очень признателен!
А я ведь спрашивал, кто как представляет работу такова устройства, но никто мне ничего не ответил.
После включения передатчика, загораются габариты (сзади 2 красных, спереди 2 белые)
Нажать вперёд - дальний свет с задержкой на выключение
Назад/тормоз - стоп сигналы
Руль не реагирует! (канал отсутствует)
Аварыйка включается через некоторое время если канал газа в нейтрали.
Гаснет всё, если передатчик выключить! (для 2.4гц не страшно)
По моему прикольно?
Всем привет, народ можете помочь. Мне нужен простой бано для авто. Подойдет на Tiny13, на аппе есть переключатель на три положения -120 0 120 вот хотелось что бы, так работало
-120 все по “0”
0 на 5 ноге “1”
120 на 5 и 6 ноге “1”.
Всем привет, народ можете помочь. Мне нужен простой бано для авто. Подойдет на Tiny13, на аппе есть переключатель на три положения -120 0 120 вот хотелось что бы, так работало
-120 все по “0”
0 на 5 ноге “1”
120 на 5 и 6 ноге “1”.
Пробуйте, сигнал управления подать через резисторы на РВ2 - 7ю ногу.
Пробуйте, сигнал управления подать через резисторы на РВ2 - 7ю ногу.
Огромное С П А С И Б О !!! все работает.