Обсуждаем контроллеры компании Atmel.
Сб апр 10, 2021 12:42:22
Установи фьюзы low E4 high D9
в виде галочек вот
http://homes-smart.ru/fusecalc/?prog=av ... rt=ATmega8 можно посмотреть
Сб апр 10, 2021 22:07:44
нашел старую программу, замени .zip на .exe , понажимай кнопки, посмотри результат.
Не получилось открыть, папка повреждена
Добавлено after 13 minutes 53 seconds:Установи фьюзы low E4 high D9
в виде галочек вот
http://homes-smart.ru/fusecalc/?prog=av ... rt=ATmega8 можно посмотреть
Я использую AVRDUDE. Фьюзы там ставятся автоматически для микроконтроллера, который используешь.
Во фьюзах я еще не прошарен, и есть опасения, что я могу сделать что-то не так. Фьюзы, которые ты мне предлагаешь поставить значительно различаются, со фьзами которые поставились автоматически, например на SPIEN я вообще не могу установить галочку ( смотри фото).
- Вложения
-
- 112.png
- (20.08 KiB) Скачиваний: 136
Вс апр 11, 2021 11:10:21
Это не AVRDUDE, а AVRDUDE_PROG. И правильно, что не дает выстрелить себе в ногу... хотя не до конца.
Вс апр 11, 2021 15:40:11
Это не AVRDUDE, а AVRDUDE_PROG. И правильно, что не дает выстрелить себе в ногу... хотя не до конца.
А как тогда сделать, чтобы SPIEN ( в AVRDUDE_PROG) стал активным, и вообще для atmega8 эти фьюзы
http://homes-smart.ru/fusecalc/?prog=av ... rt=ATmega8 можно устанавливать без опасения, подскажите пожалуйста, я изучил их но пока опыта не имею и побаиваюсь заморозить контролер
Вс апр 11, 2021 16:14:13
maksimdag0 писал(а):А как тогда сделать, чтобы SPIEN ( в AVRDUDE_PROG) стал активным
Зачем ?
SPIEN отключает SPI, по которому заливается программа в Atmega8.
Если SPIEN отключить, то программатор AVRDUDE и AVRDUDE_PROG использовать будет нельзя...
Придётся покупать параллельный программатор и устанавливать соответствующую программу к нему...
Кому это надо ? ))
Вс апр 11, 2021 16:55:09
maksimdag0 писал(а):А как тогда сделать, чтобы SPIEN ( в AVRDUDE_PROG) стал активным
Зачем ?
SPIEN отключает SPI, по которому заливается программа в Atmega8.
Если SPIEN отключить, то программатор AVRDUDE и AVRDUDE_PROG использовать будет нельзя...
Придётся покупать параллельный программатор и устанавливать соответствующую программу к нему...
Кому это надо ? ))
Мне посоветовали их поставить, а я не шарю. Как тогда понять, почему программа так работает? Я понял так, МК программируется (конфигурируется) через фьюзы. Через них мы устанавливаем частоту тактового генератора (например 8МГц на atmega8) а в программе (IDE) мы устанавливаем частоту на которой работает микроконтроллер, для того что бы он просто понимал на какой частоте работает данный МК и соответствовал требованием данной частоты. То есть через программу ( когда мы устанавливаем частоту при создании проекта в IDE) мы не можем установить частоту МК? Верно ли я все понял?
Вс апр 11, 2021 17:45:58
maksimdag0 писал(а):А как тогда сделать, чтобы SPIEN ( в AVRDUDE_PROG) стал активным
Придётся покупать параллельный программатор
А можно собрать доктор фьюзов.
Добавлено after 4 minutes 33 seconds:[uquote="roman.com",url="/forum/viewtopic.php?p=4013880#p4013880"]
maksimdag0 писал(а):А как тогда сделать, чтобы SPIEN ( в AVRDUDE_PROG) стал активным
Мне посоветовали их поставить, а я не шарю. Как тогда понять, почему программа так работает? Я понял так, МК программируется (конфигурируется) через фьюзы. Через них мы устанавливаем частоту тактового генератора (например 8МГц на atmega8) а в программе (IDE) мы устанавливаем частоту на которой работает микроконтроллер, для того что бы он просто понимал на какой частоте работает данный МК и соответствовал требованием данной частоты. То есть через программу ( когда мы устанавливаем частоту при создании проекта в IDE) мы не можем установить частоту МК? Верно ли я все понял?
Всё так.
Интересно ... посоветовали то чего делать не нужно. Поглумиться хотели навеное.
Вс апр 11, 2021 19:26:40
я понял, что в МК atmega8 тактовый генератор рассчитан на 1МГц.
Верно.
программы пишу в CodeVisionAVR
Допустим.
1. Устанавливаем нужную частоту тактового генератора atmega8 с помощью фьюзов.
0001 = E1 - 1 мгц
0010 = E2 - 2 мгц
0011 = E3 - 4 мгц
0100 = E4 - 8 мгц
...
и т.д.
2. В программе (IDE) мы устанавливаем частоту на которой работает микроконтроллер.
Всё))
Вс апр 11, 2021 20:38:13
Разобрался, спасибо всем
Пн апр 12, 2021 14:06:26
Фьюзы там ставятся автоматически
В смысле автмоатически? Они считываются с МК (это обязательная процедура) и программа их показывает. Там нет ничего автоматического и быть не может.
Добавлено after 2 minutes 43 seconds:а в программе (IDE) мы устанавливаем частоту на которой работает микроконтроллер, для того что бы он просто понимал на какой частоте работает данный МК и соответствовал требованием данной частоты.
IDE это знать нафиг не нужно. Этого требуют заголовочники типа delay.h, которые рассчитывают интервалы. Если они не используются в программе, то значение частоты указывать и не нужно вовсе.
Вт апр 13, 2021 15:39:56
parovoZZ писал(а):IDE это знать нафиг не нужно.
IDE это знать нужно.
Когда мы программируем в IDE (в любой IDE) мы должны сказать IDE на какой частоте работает МК.
Тогда IDE сама сделает все необходимые настройки (в библиотеки delay.h, в соответствии с частотой МК).
Вот и всё))
Вт апр 13, 2021 16:08:00
Тогда IDE сама сделает все необходимые настройки
В IDE нет никаких частотозависимых настроек. В противном случае прошу их перечислить. Все.
в библиотеки delay.h,
К IDE она никакого отношения не имеет. Лично я её не использую, соответсвенно и нигде никаких частот не указываю.
Добавлено after 2 minutes 22 seconds:И кстати - я очень люблю прыгать с одной тактовой частоты на другую. Это несколько запутывает, но зато в RUN режиме работаем быстро, в IDLE режим еле-еле ползём и кушаем очень мало. Вот какую частоту сообщать IDE? Ну-ка, ну-ка....
Вт апр 13, 2021 16:16:04
roman.com, во-первых delay.h - это не "библиотека". Это называется "заголовочный файл". Во-вторых, это не часть IDE, как уже сказали. Просто там внутри есть макросы препроцессора, которые при расчетах кол-ва тактов на единицу времени, опираются на константу F_CPU. IDE оно может быть нужно, только если там есть симулятор и только ему. И обычно это в отдельном месте симулятора прописывается. Но для delay.h IDE не делает никаких "настроек". Что CVAVR, что avr-gcc просто берет константу и считает на этапе препроцессора.
Вт апр 13, 2021 17:04:26
IDE оно может быть нужно, только если там есть симулятор и только ему.
В микрочип студио всё-равно оно работает криво, хоть какую указывай частоту. Да и то оно нужно, если есть желание узнать, сколько реально времени (в секундах) тратится на ту или иную функцию (это если лень самому пересчитывать такты). А если МК засимулировать в сон, так там он вообще считатет не пойми что. Поэтому самое надёжное - это счётчик тактов.
Вт апр 13, 2021 18:34:14
нет у AVR тактов, есть только циклы.
Вт апр 13, 2021 22:42:52
Да, точняк. Подглядел в студии: Cycle Counter
Ср апр 14, 2021 08:54:52
Возникла теперь другая проблема. Когда я прописываю F_CPU 8000000UL, то по идеии в МК контроллер должна установиться частота 8МГц, верно же? Но этого не происходит!
Прописываю F_CPU в самом начале кода "#define F_CPU 8000000UL"
Ср апр 14, 2021 09:19:52
maksimdag0 писал(а):то по идеии в МК контроллер должна установиться частота 8МГц
по идеииииии частота в МК устанавливается фьюзами, не этой записью в тексте программы.
Ср апр 14, 2021 09:54:23
Возникла теперь другая проблема. Когда я прописываю F_CPU 8000000UL, то по идеии в МК контроллер должна установиться частота 8МГц, верно же? Но этого не происходит!
Прописываю F_CPU в самом начале кода "#define F_CPU 8000000UL"
Нет, не верно! Выше свои же слова прочитайте. F_CPU - это не фьюз! Это тоже самое, что в проекте IDE прописать.
Ср апр 14, 2021 10:06:37
Возникла теперь другая проблема. Когда я прописываю F_CPU 8000000UL, то по идеии в МК контроллер должна установиться частота 8МГц, верно же? Но этого не происходит!
Прописываю F_CPU в самом начале кода "#define F_CPU 8000000UL"
Про директиву DEFINE можно прочитать здесь
http://www.c-cpp.ru/books/defineПосле прочтения становится понятно, что никакого отношения к регистрам МК она не имеет.
Частота МК задаётся фьюзом или регистром прескалера главной тактовой частоты. Подробности в даташите на МК.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.