Например TDA7294

Форум РадиоКот • Просмотр темы - Attiny13 прошивается, но не работает
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн июл 28, 2025 04:15:55

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 55 ]    , 2,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Ср авг 14, 2024 11:29:30 
Друг Кота

Карма: 68
Рейтинг сообщений: 1961
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
Ну, как Вы уже говорили, необходимо перенести включение прерываний после wdt_on()
Во-вторых, вопрошающемунадо сообщить, что он делает с фьюзом WDTON (а, пока писал, Вы уже об этом написали :) )
И я бы временно закомментировал это:
WDTCR |= (1<<WDCE) | (1<<WDE);
Тогда получится только прерывание будильника, без системного сброса.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Ср авг 14, 2024 11:44:55 
Мучитель микросхем

Карма: 4
Рейтинг сообщений: 37
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 457
Рейтинг сообщения: 0
Martian писал(а):
Тогда получится только прерывание будильника, без системного сброса.

Не там это делается.
Надо так
WDTCR |= (1<<WDCE) | (1<<WDE);
WDTCR = (1<<WDTIE) | (1<<WDP2) | (1<<WDP1); // заводим вачдог на 1 секунд


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Ср авг 14, 2024 11:55:10 
Друг Кота

Карма: 68
Рейтинг сообщений: 1961
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
но тогда же и прерывание и системный сброс получится, не?
я предлагаю оставить только прерывание на момент отладки.
Кстати, об отладке ;)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Ср авг 14, 2024 12:10:40 
Мучитель микросхем

Карма: 4
Рейтинг сообщений: 37
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 457
Рейтинг сообщения: 0
Martian писал(а):
но тогда же и прерывание и системный сброс получится, не?

Не.
Martian писал(а):
я предлагаю оставить только прерывание на момент отладки.

А я показал как это сделать.
В AVR сначала произносите заклинание(WDTCR |= (1<<WDCE) | (1<<WDE);), а потом включаете только прерывание с заданным временем. WDTCR = (1<<WDTIE) | (1<<WDP2) | (1<<WDP1); // заводим вачдог на 1 секунд

Martian писал(а):
Кстати, об отладке

Это как раз работает.

Можете попробовать пошаго в этом
Вложение:
attiny13.rar [52.33 KiB]
Скачиваний: 70


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Ср авг 14, 2024 12:26:30 
Друг Кота

Карма: 68
Рейтинг сообщений: 1961
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
Я к тому, что ТС надо учиться отладке, хотя бы минимально. Поставить точку останова, посмотреть, добегает ли вообще до входа в спящий режим

Добавлено after 1 minute 38 seconds:
А в заклинании разве не достаточно WDTCR |= (1<<WDCE) для разрешения внесения изменений?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Ср авг 14, 2024 12:35:09 
Мучитель микросхем

Карма: 4
Рейтинг сообщений: 37
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 457
Рейтинг сообщения: 0
Martian писал(а):
А в заклинании разве не достаточно WDTCR |= (1<<WDCE) для разрешения внесения изменений?

Если не была настроена собака, то скорее всего нет, но можете попробовать в протеусе.


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Ср авг 14, 2024 17:44:06 
Родился

Зарегистрирован: Вс авг 11, 2024 13:07:59
Сообщений: 7
Рейтинг сообщения: 0
Есть два режима работы собаки Interrupt Mode или Interrupt and System Reset
Mode
В коде используется второй режим.
Вложение:
Вложение Untitled.png больше недоступно.

"Это полезно для обеспечения безопасности сторожевого таймера при использовании прерывания. Чтобы остаться в Интер-
rupt и System Reset Mode, WDTIE необходимо устанавливать после каждого прерывания. Однако это не должно
выполняться внутри самой процедуры обслуживания прерываний, так как это может поставить под угрозу функцию безопасности
режим сброса системы Watchdog
. Если прерывание не будет выполнено до истечения следующего тайм-аута,
Будет применен сброс системы."

Как заставить работать в режиме Interrupt Mode я знаю, а вот как в Interrupt and System Reset пока не нашел.

Возможно протеус не совсем корректно симулирует, так в коде есть
Код:
// //для тестов в протеусе
// void wdt_on(void){
//    WDTCR |= (1<<WDCE) | (1<<WDE);
//    WDTCR = (1<<WDTIE) | (1<<WDP2) | (1<<WDP1); // заводим вачдог на 1 секунд
// }



Я бы добавил конденсатор на 0.1 мкф параллельно кнопке, вполне возможно, что прав
Mursik писал(а):
ИМХО, опять фузы не туда..

ТС считайте Fuses с проца и покажите. Возможно не правильно выставлен WDTON.


Фюзы заводские, как и отметил автор программы.
Дебагинг еще делать не умею. Но есть ли в нем необходимость, если протеус алгоритм отрабатывает?
Да, кстати забыл спросить про загрузку в EEPROM. AVRDUDE сообщает о 0 байтах, хотя в файл не пустой.


Вложения:
Считанные фюзы.jpg [95.05 KiB]
Скачиваний: 53
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Чт авг 15, 2024 16:52:21 
Мучитель микросхем

Карма: 4
Рейтинг сообщений: 37
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 457
Рейтинг сообщения: 0
Нажмите кнопку и подайте питание.

(Если не додумаетесь как правильно дать ответ, тогда скажу сразу - удачи.)

п.с. Попробовал в студии, работают оба режима собаки.
Работает и если правильно разместить сброс собаки, т.е. после слееп.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Чт авг 15, 2024 22:27:56 
Родился

Зарегистрирован: Вс авг 11, 2024 13:07:59
Сообщений: 7
Рейтинг сообщения: 0
Большое спасибо за помощь. Работает. Пока я додумаюсь где и что, пройдет немало времени. Только начал разбираться с asm(). Понимаю, что вызывается ассемблер, но не понятно куда дальше копать. Подозреваю, что дело в нем. Нет?
Конечно-же, если есть терпение и желание, то объясните где "зарыта" нажатая кнопка.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Чт авг 15, 2024 23:19:34 
Друг Кота

Карма: 68
Рейтинг сообщений: 1961
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 3
Дебагинг еще делать не умею. Но есть ли в нем необходимость, если протеус алгоритм отрабатывает?
Не просто необходимость, а обязательно! В любом программировании отладчик - наиглавнейший инструмент программиста. С ним Вы бы не стали задавать подобный вопрос. Что касается Протеуса, то не стоит из него делать основной инструмент. Вспомогательный - да. Как Вы сами убедились, что если в виртуальном работает, то может не работать в реальном.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Чт авг 15, 2024 23:22:41 
Мучитель микросхем

Карма: 4
Рейтинг сообщений: 37
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 457
Рейтинг сообщения: 4
eduard_7 писал(а):
Работает. Пока я додумаюсь где и что, пройдет немало времени.

Вы почти сами нашли проблему, задав правильный вопрос, а что с еепром.
Программа написана без учета того, что в еепром ничего не записано, нажатие кнопки перед включением, записывает в еепром данные.
eduard_7 писал(а):
Только начал разбираться с asm().

Читайте книги по ассеблеру и по тому как работает проц.
Но раз пробуете рабобраться в программе, то начните с языка С.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Пт авг 16, 2024 01:03:57 
Друг Кота

Карма: 68
Рейтинг сообщений: 1961
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
Кстати, о разнице между симулятором и реальным железом:
только что читал "Наука Плоского мира" (фантастика, Терри Пратчетт и др.), и там попалось такое (текст большой, оффтопный, но интересный. не хочется обрезать только нужное предложение, спрячу под спойлер)
СпойлерИнженер по имени Эдриан Томпсон с 1993 года занимается «разведением» электронных схем.
Базовый принцип, известный как «генетический алгоритм», довольно широко используется в информатике. Алгоритм — это конкретная программа или рецепт, направленная на решение поставленной задачи. Один из способов поиска алгоритмов решения по-настоящему сложных задач состоит в применении «скрещивания» и естественного отбора. Под «скрещиванием» понимается «соединение части одного алгоритма и частью другого». Биологи называют этот процесс рекомбинацией — любой организм, размножающийся половым путем (например, вы), именно таким образом рекомбинирует хромосомы своих родителей. Описанный метод, а также полученный с его помощью результат, называется генетическим алгоритмом. Если он срабатывает, то дает блестящие результаты. Главный недостаток метода состоит в том, что вы не всегда можете объяснить, как полученный в итоге алгоритм решает поставленную перед ним задачу. Мы вернемся к этому вопросу, а пока займемся электроникой.
Томпсон задался вопросом, что получится, если применить метод генетических алгоритмов к электронным схемам.
Нужно сформулировать какую-нибудь задачу, случайным образом комбинировать схемы, которые способны или не способны ее решить, отбирать схемы, которые лучше справляются с решением, и повторять процесс в течение стольких поколений, сколько потребуется.
Большинство инженеров-электронщиков, подумав над подобным проектом, довольно быстро придут к выводу, что использование настоящих схем будет напрасной тратой ресурсов. Вместо этого можно смоделировать схему на компьютере (ведь поведение электронной схемы нам известно точно), и добиться результата дешевле и за меньшее время. Однако Томпсон не стал полагаться на такой аргумент — возможно, настоящие схемы «знают» то, что недоступно для компьютерной модели.
Он поставил следующую задачу: распознать два сигнала разной частоты — 1 кГц и 10 кГц, то есть сигналы, совершающие соответственно 1000 и 10 000 колебаний в секунду. Можете представить их в виде звука с высоким и низким тоном. Схема должна принимать сигнал на вход, каким-то образом его обрабатывать в зависимости от своей конечной структуры, и выдавать результирующий сигнал на выходе. При высокочастотном входе схема должна выдавать постоянное напряжение, равное нулю вольт, то есть не выдавать ничего, а при низкочастотном — постоянное напряжение 5 вольт (на самом деле эти свойства не были сформулированы с самого начала — подошли бы два любых постоянных сигнала, но в итоге получилось именно так).
На то, чтобы вручную собрать тысячи тестовых схем, уйдет целая вечность, поэтому Томпсон воспользовался «вентильной матрицей, программируемой пользователем». Это микросхема, которая состоит из множества транзисторных «логических ячеек», или, скажем так, умных переключателей, соединения между которыми могут меняться в зависимости от инструкций, записанных в конфигурационную память устройства.
Эти инструкции аналогичны ДНК-коду живого организма, и могут скрещиваться друг с другом.
Именно это и сделал Томпсон. Сначала он взял матрицу из сотни логических ячеек и с помощью компьютера сгенерировал случайную популяцию из пятидесяти кодов инструкций. Компьютер загружал каждый набор инструкций в память матрицы, подавал входные сигналы, сравнивал результаты на выходе и пытался обнаружить свойство, которое могло бы помочь в выведении подходящей схемы. Сначала под этот критерий подходила любая схема, поведение которой отличалось от случайного.
«Наиболее приспособленным» представителем оказалась схема, выдающая постоянное напряжение в 5 вольт независимо от «услышанного» ей сигнала. Затем коды наименее подходящих инструкций были «убиты» (то есть удалены), а подходящие скрещены между собой (скопированы и рекомбинированы), после чего процесс повторился снова.
Самым интересным в этом эксперименте оказались не подробности его проведения, а то, как система искала путь к решению — и необыкновенная природа этого решения. К 220-му поколению лучшая схема выдавала сигналы, которые по существу не отличались от сигналов на входе — это были колебательные сигналы различной частоты.
Того же результат можно было достичь вообще без микросхемы, используя один лишь провод! До желаемых постоянных сигналов на выходе было еще далеко.
К 650-му поколению выходной сигнал, соответствующий низкой частоте, стал постоянным, но высокочастотный вход по-прежнему приводил к переменному сигналу на выходе. Потребовалось дойти до 2800-го поколения, чтобы схема начала выдавать почти постоянные и различные сигналы для двух входных частот. И только к 4100-му поколению странное отклонение исчезло, после чего схема практически перестала эволюционировать.
Самым странным в получившемся решении была его структура. Такую микросхему не смог бы изобрести ни один инженер-человек. Собственно говоря, человек бы даже не смог найти решение, состоящее всего лишь из 100 ячеек. Однако человеческое решение было бы доступным для понимания — мы смогли бы рассказать убедительную «историю» о том, как оно работает. Например, в нем бы был генератор тактовых импульсов — электронная схема, выдающая сигнал с постоянной частотой.
Его можно использовать в качестве точки отсчета для сравнения с другими частотами. Однако собрать тактовый генератор из 100 ячеек нельзя. Эволюция не утруждала себя построением тактового генератор. Вместо этого входной сигнал пропускался через сложную последовательность замкнутых контуров. Предположительно они создавали сдвинутые во времени и обработанные иными способами версии сигналов, которые, в конечном счете, объединялись и формировали постоянный сигнал на выходе. Предположительно. Томпсон описал работу микросхемы так: «На самом деле я не имею ни малейшего понятия о том, как она работает».
Дальнейшее исследование окончательного решения выявило еще более удивительный факт: на самом деле использовались только 32 ячейки из 100. Остальные можно было удалить из схемы, никак не повлияв на ее работу. Сначала казалось, что можно удалить еще пять ячеек, которые не были электрически связаны ни с другими ячейками, ни с входом, ни с выходом. Однако после их удаления схема переставала работать. Возможно, эти ячейки реагировали не на электрический ток, а какие-то иные свойства остальных ячеек схемы — например, их магнитное поле. Какова бы ни была причина, интуиция Томпсона была абсолютно верной: у настоящей кремниевой микросхемы припрятано больше козырей в рукаве, чем у ее компьютерной симуляции.


Я не знаю, насколько это достоверно (параллельная работа каких-то ячеек без непосредственного соединения и вся история вообще), но в целом это верно. Симулятор не учитывает топологию цепей, и кто знает, чего ещё он не учитывает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Пт авг 16, 2024 11:50:20 
Мучитель микросхем

Карма: 4
Рейтинг сообщений: 37
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 457
Рейтинг сообщения: 0
Я вот только не пойму зачем было врать, что "Симуляция проходит корректно в Proteus.", тупо скопировал с youtuba?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Пт авг 16, 2024 23:42:55 
Мучитель микросхем

Карма: 4
Рейтинг сообщений: 37
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 457
Рейтинг сообщения: 0
Без индикатора как то не то, когда захотите, найдёте на github библиотеку для tm1637 от lpodkalicki.
Полный код программы был Яндексе, но похоже больше его там нет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Вт ноя 05, 2024 23:02:00 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Вт окт 03, 2017 20:17:02
Сообщений: 34
Откуда: Молдова
Рейтинг сообщения: 0
Помогите в написании кода на тиньку13, извините если не по теме обсуждения. Дожил до седых волос но так и не осилил программирование. Есть проект в котором обычная логики занимает занимает не прилично много места.
Изображение Изображение
кто поможет с радостью поделюсь разработанными печатными платами
Изображение Изображение

Добавлено after 13 minutes 21 second:
ещё немного в картинках, как переделать выключатель Vico в кнопку без фиксации расскажу
Изображение Изображение

Добавлено after 15 minutes 42 seconds:
eduard_7 писал(а):
посоветуйте что можно сделать.
показать свой исходный текст.

если есть возможность в силу свободного времени или советом к кому обратится помогу чем сам располагаю


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Ср ноя 06, 2024 05:58:37 
Друг Кота

Карма: 64
Рейтинг сообщений: 1013
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4332
Откуда: Ижевск
Рейтинг сообщения: 0
Изображение
Как программа различит режимы 1,3 и 2,4 для первого канала? Кстати PB5 это RESET и нужно быть осторожным при его переводе на порт IO. Лучше начать со второго канала.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Ср ноя 06, 2024 06:16:54 
Встал на лапы

Зарегистрирован: Ср дек 25, 2019 21:17:31
Сообщений: 97
Откуда: Саратов
Рейтинг сообщения: 0
Как программа различит режимы 1,3 и 2,4 для первого канала?

Кмк, просто счетчиком. Единственное не понял, по первому нажатию надо переводить PB2 в низкий уровень? Так он и так там после вкл питания.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Ср ноя 06, 2024 09:34:02 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 450
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1636
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Михаил7878, уверены, что хотите использовать вывод RESET для вход D3? Нет ли другого типа МК (с большим количеством выводов), либо в другой конфигурации (без использования RESET)?

Почему спрашиваю: напр. в случае неточности или необходимости исправления программного кода, дополнение по какому-то параметру МК теперь будет "залочен" для обычных программаторов - RESET нет. Вам понадобится HV программатор/Fusebit Doctor для "разблокировки". Написание программного кода можно протестировать на симуляторе, но эти доп. операции "усложняют" процесс реального тестирования, отладки и т.д.

(Хорошо указать это, чтобы потом такие темы не появлялись на форуме типа, как: почему не программируется ATtiny13A, как разблокировать МК и прочие :) ).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Чт ноя 07, 2024 16:51:14 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Вт окт 03, 2017 20:17:02
Сообщений: 34
Откуда: Молдова
Рейтинг сообщения: 0
veso74, выбор пал на тиньку 13 из-за малых её размеров и не больших размеров печатной платы. Мой программатор Чип прог+ справится с таким. По большому счёту тинка13 будет эмулировать работу трёх D триггеров и возможностью устранения дребезга при нажатии кнопок.

Добавлено after 48 seconds:
Игорь_396, По большому счёту тинка13 будет эмулировать работу трёх D триггеров и возможностью устранения дребезга при нажатии кнопок.

Добавлено after 40 seconds:
akl,По большому счёту тинка13 будет эмулировать работу трёх D триггеров и возможностью устранения дребезга при нажатии кнопок.
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Attiny13 прошивается, но не работает
СообщениеДобавлено: Чт ноя 07, 2024 18:22:29 
Встал на лапы

Зарегистрирован: Ср дек 25, 2019 21:17:31
Сообщений: 97
Откуда: Саратов
Рейтинг сообщения: 0
Игорь_396, По большому счёту тинка13 будет эмулировать работу трёх D триггеров и возможностью устранения дребезга при нажатии кнопок.

Как я понял, сохранится родной функционал пульта? Т.е. кнопки 1-2-3 вкл/выкл, кнопка 4 выкл все. Верно?
Приемник с кнопками не коротнет у вас? Какие у него выходы?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 55 ]    , 2,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y