Обсуждаем контроллеры компании Atmel.
Ср окт 04, 2023 23:44:07
Прошу помощи разобраться с управлением таймерами в аврках. Задача, которую я собираюсь решить следущая: необходимо прожевать пакет данных с контроллера, который стоит в заводском изделии, сравнить с шаблоном и предпринять какое либо действие. Сам протокол передачи асинхронный, похож на нестандарный UART. Есть стартовый и стоповый бит, длинна посылки 20 бит, период одного импульса - 8мс. Логику работы я вижу такой: контроллер 328-я мега, мне так удобно, по прерыванию от стартового бита запускается таймер 1 в режиме CTC на время 4 мс, чтобы плюс/минус попасть на середину периода импульса. После этого таймер настраивается на период 8мс и с помощью цикла с инкрементом по прерыванию делает захват сигнала. После захвата таймер должен остановиться и ждать следующего пинка от прерывания от стартового бита. Вопрос: как это реализовать? Стартовать таймер должен "голодным", то есть с пустым TCNT1. Проблема в том, что я не могу его после запуска остановить ...
Чт окт 05, 2023 00:10:07
https://github.com/notweerdmonk/avr-software-uart
может, поможет (я не пробовал)
Не, свят-свят!!! Только не готовые библиотеки. Вопрос уже неактуален, с таймером разобрался - дело было не в боббине, как говорится...
Добавлено after 31 second:Спасибо за участие!
Чт окт 05, 2023 00:12:10
о не, не готовые, я тоже их свят-свят, только как подсмотреть
Чт окт 05, 2023 00:24:04
Martian, там такое не прокатит. Это многим печально известный холодильник ЛджЫ с его замечательным линейным компрессором который, не смотря на 10 year of warranty практически у всех наедается в течение 5-8 лет мацы и холодос превращается из прибора в мебель. На плате управления сего чудо агрегата стоят аж два процессора, один из которых обслуживает холодильник и его периферию, а заодно по асинхронной этой шине командует вторым процом, который рулит исключительно компрессором. В сети есть много информации по этому поводу, в том числе и готовые схемы с прошивками в открытом доступе, но хочется вникнуть в хто самому и сделать полностью функциональную замену, которая будет правильно понимать команды, которые будут поступать с основного проца, а не тупо мерять тайминги. Проект не коммерческий, возможно после реализации отчитаюсь тут о проделанной работе.
Чт окт 05, 2023 09:56:26
Я бы совместил с коммерческим, то есть, кто хочет сам - вот отчёт, делаете, кто не хочет сам - вот стоимость.
Проект любопытный.
Чт окт 05, 2023 20:05:03
Ну сюда закину наверное статейку. Главное, что с протоколом разобрался и получил положительный результат. А пример того, что понимал на фото :
Добавлено after 43 seconds:Период одного импульса - 8мс
Пн окт 30, 2023 23:48:40
Любая асинхронная шина легко декодируется с одним таймером и внешним прерыванием. Я когда делал декодер ИК-протокола NEC за вечер написал функцию.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.