Тактовая частота МК Atmega8

Обсуждаем контроллеры компании Atmel.
Ответить
Открыл глаза
Сообщения: 64
Зарегистрирован: Пн июн 22, 2015 08:30:17

Сообщение Kamelot »

Установи фьюзы low E4 high D9
в виде галочек вот http://homes-smart.ru/fusecalc/?prog=av ... rt=ATmega8 можно посмотреть
Реклама
Прорезались зубы
Сообщения: 225
Зарегистрирован: Чт апр 08, 2021 09:46:48

Сообщение maksimdag0 »

[uquote="mnbv",url="/forum/viewtopic.php?p=4012287#p4012287"]нашел старую программу, замени .zip на .exe , понажимай кнопки, посмотри результат.[/uquote]

Не получилось открыть, папка повреждена

Добавлено after 13 minutes 53 seconds:
[uquote="Kamelot",url="/forum/viewtopic.php?p=4013215#p4013215"]Установи фьюзы low E4 high D9
в виде галочек вот http://homes-smart.ru/fusecalc/?prog=av ... rt=ATmega8 можно посмотреть[/uquote]

Я использую AVRDUDE. Фьюзы там ставятся автоматически для микроконтроллера, который используешь.
Во фьюзах я еще не прошарен, и есть опасения, что я могу сделать что-то не так. Фьюзы, которые ты мне предлагаешь поставить значительно различаются, со фьзами которые поставились автоматически, например на SPIEN я вообще не могу установить галочку ( смотри фото).
Вложения
112.png
(20.08 КБ) 180 скачиваний
Реклама
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

Это не AVRDUDE, а AVRDUDE_PROG. И правильно, что не дает выстрелить себе в ногу... хотя не до конца.
Прорезались зубы
Сообщения: 225
Зарегистрирован: Чт апр 08, 2021 09:46:48

Сообщение maksimdag0 »

[uquote="NStorm",url="/forum/viewtopic.php?p=4013753#p4013753"]Это не AVRDUDE, а AVRDUDE_PROG. И правильно, что не дает выстрелить себе в ногу... хотя не до конца.[/uquote]

А как тогда сделать, чтобы SPIEN ( в AVRDUDE_PROG) стал активным, и вообще для atmega8 эти фьюзы http://homes-smart.ru/fusecalc/?prog=av ... rt=ATmega8 можно устанавливать без опасения, подскажите пожалуйста, я изучил их но пока опыта не имею и побаиваюсь заморозить контролер
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 9175
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

maksimdag0 писал(а):А как тогда сделать, чтобы SPIEN ( в AVRDUDE_PROG) стал активным
Зачем ?
SPIEN отключает SPI, по которому заливается программа в Atmega8.
Если SPIEN отключить, то программатор AVRDUDE и AVRDUDE_PROG использовать будет нельзя...
Придётся покупать параллельный программатор и устанавливать соответствующую программу к нему...
Кому это надо ? ))
:tea:
Реклама
Прорезались зубы
Сообщения: 225
Зарегистрирован: Чт апр 08, 2021 09:46:48

Сообщение maksimdag0 »

[uquote="roman.com",url="/forum/viewtopic.php?p=4013880#p4013880"]
maksimdag0 писал(а):А как тогда сделать, чтобы SPIEN ( в AVRDUDE_PROG) стал активным
Зачем ?
SPIEN отключает SPI, по которому заливается программа в Atmega8.
Если SPIEN отключить, то программатор AVRDUDE и AVRDUDE_PROG использовать будет нельзя...
Придётся покупать параллельный программатор и устанавливать соответствующую программу к нему...
Кому это надо ? ))
:tea:[/uquote]
Мне посоветовали их поставить, а я не шарю. Как тогда понять, почему программа так работает? Я понял так, МК программируется (конфигурируется) через фьюзы. Через них мы устанавливаем частоту тактового генератора (например 8МГц на atmega8) а в программе (IDE) мы устанавливаем частоту на которой работает микроконтроллер, для того что бы он просто понимал на какой частоте работает данный МК и соответствовал требованием данной частоты. То есть через программу ( когда мы устанавливаем частоту при создании проекта в IDE) мы не можем установить частоту МК? Верно ли я все понял?
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2314
Зарегистрирован: Вт янв 26, 2021 22:33:21

Сообщение Alex_641 »

[uquote="roman.com",url="/forum/viewtopic.php?p=4013880#p4013880"]
maksimdag0 писал(а):А как тогда сделать, чтобы SPIEN ( в AVRDUDE_PROG) стал активным
Придётся покупать параллельный программатор[/uquote]
А можно собрать доктор фьюзов.

Добавлено after 4 minutes 33 seconds:
[uquote="maksimdag0",url="/forum/viewtopic.php?p=4013899#p4013899"][uquote="roman.com",url="/forum/viewtopic.php?p=4013880#p4013880"]
maksimdag0 писал(а):А как тогда сделать, чтобы SPIEN ( в AVRDUDE_PROG) стал активным
Мне посоветовали их поставить, а я не шарю. Как тогда понять, почему программа так работает? Я понял так, МК программируется (конфигурируется) через фьюзы. Через них мы устанавливаем частоту тактового генератора (например 8МГц на atmega8) а в программе (IDE) мы устанавливаем частоту на которой работает микроконтроллер, для того что бы он просто понимал на какой частоте работает данный МК и соответствовал требованием данной частоты. То есть через программу ( когда мы устанавливаем частоту при создании проекта в IDE) мы не можем установить частоту МК? Верно ли я все понял?[/uquote]
Всё так.
Интересно ... посоветовали то чего делать не нужно. Поглумиться хотели навеное.
Не спрашивай по ком звонит колокол, он звонит по тебе !
Друг Кота
Сообщения: 9175
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

[uquote="maksimdag0",url="/forum/viewtopic.php?p=4011905#p4011905"]я понял, что в МК atmega8 тактовый генератор рассчитан на 1МГц.[/uquote]
Верно.
[uquote="maksimdag0",url="/forum/viewtopic.php?p=4011905#p4011905"]программы пишу в CodeVisionAVR[/uquote]
Допустим.

1. Устанавливаем нужную частоту тактового генератора atmega8 с помощью фьюзов.
Screenshot_1.jpg
(58.25 КБ) 261 скачивание
0001 = E1 - 1 мгц
0010 = E2 - 2 мгц
0011 = E3 - 4 мгц
0100 = E4 - 8 мгц
...
и т.д.

2. В программе (IDE) мы устанавливаем частоту на которой работает микроконтроллер.
Screenshot_2.jpg
(26.75 КБ) 241 скачивание
Всё))
:tea:
Прорезались зубы
Сообщения: 225
Зарегистрирован: Чт апр 08, 2021 09:46:48

Сообщение maksimdag0 »

Разобрался, спасибо всем
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

Фьюзы там ставятся автоматически
В смысле автмоатически? Они считываются с МК (это обязательная процедура) и программа их показывает. Там нет ничего автоматического и быть не может.

Добавлено after 2 minutes 43 seconds:
а в программе (IDE) мы устанавливаем частоту на которой работает микроконтроллер, для того что бы он просто понимал на какой частоте работает данный МК и соответствовал требованием данной частоты.
IDE это знать нафиг не нужно. Этого требуют заголовочники типа delay.h, которые рассчитывают интервалы. Если они не используются в программе, то значение частоты указывать и не нужно вовсе.
Друг Кота
Сообщения: 9175
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

parovoZZ писал(а):IDE это знать нафиг не нужно.
IDE это знать нужно.
Когда мы программируем в IDE (в любой IDE) мы должны сказать IDE на какой частоте работает МК.
Тогда IDE сама сделает все необходимые настройки (в библиотеки delay.h, в соответствии с частотой МК).
Вот и всё))
:tea:
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

Тогда IDE сама сделает все необходимые настройки
В IDE нет никаких частотозависимых настроек. В противном случае прошу их перечислить. Все.
в библиотеки delay.h,
К IDE она никакого отношения не имеет. Лично я её не использую, соответсвенно и нигде никаких частот не указываю.

Добавлено after 2 minutes 22 seconds:
И кстати - я очень люблю прыгать с одной тактовой частоты на другую. Это несколько запутывает, но зато в RUN режиме работаем быстро, в IDLE режим еле-еле ползём и кушаем очень мало. Вот какую частоту сообщать IDE? Ну-ка, ну-ка....
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

roman.com, во-первых delay.h - это не "библиотека". Это называется "заголовочный файл". Во-вторых, это не часть IDE, как уже сказали. Просто там внутри есть макросы препроцессора, которые при расчетах кол-ва тактов на единицу времени, опираются на константу F_CPU. IDE оно может быть нужно, только если там есть симулятор и только ему. И обычно это в отдельном месте симулятора прописывается. Но для delay.h IDE не делает никаких "настроек". Что CVAVR, что avr-gcc просто берет константу и считает на этапе препроцессора.
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

IDE оно может быть нужно, только если там есть симулятор и только ему.
В микрочип студио всё-равно оно работает криво, хоть какую указывай частоту. Да и то оно нужно, если есть желание узнать, сколько реально времени (в секундах) тратится на ту или иную функцию (это если лень самому пересчитывать такты). А если МК засимулировать в сон, так там он вообще считатет не пойми что. Поэтому самое надёжное - это счётчик тактов.
Модератор
Аватара пользователя
Сообщения: 19055
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

нет у AVR тактов, есть только циклы.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

Да, точняк. Подглядел в студии: Cycle Counter
Прорезались зубы
Сообщения: 225
Зарегистрирован: Чт апр 08, 2021 09:46:48

Сообщение maksimdag0 »

Возникла теперь другая проблема. Когда я прописываю F_CPU 8000000UL, то по идеии в МК контроллер должна установиться частота 8МГц, верно же? Но этого не происходит!
Прописываю F_CPU в самом начале кода "#define F_CPU 8000000UL"
Модератор
Аватара пользователя
Сообщения: 19055
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

maksimdag0 писал(а):то по идеии в МК контроллер должна установиться частота 8МГц
по идеииииии частота в МК устанавливается фьюзами, не этой записью в тексте программы.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

[uquote="maksimdag0",url="/forum/viewtopic.php?p=4015276#p4015276"]Возникла теперь другая проблема. Когда я прописываю F_CPU 8000000UL, то по идеии в МК контроллер должна установиться частота 8МГц, верно же? Но этого не происходит!
Прописываю F_CPU в самом начале кода "#define F_CPU 8000000UL"[/uquote]
:facepalm: :facepalm: :facepalm:
Нет, не верно! Выше свои же слова прочитайте. F_CPU - это не фьюз! Это тоже самое, что в проекте IDE прописать.
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

[uquote="maksimdag0",url="/forum/viewtopic.php?p=4015276#p4015276"]Возникла теперь другая проблема. Когда я прописываю F_CPU 8000000UL, то по идеии в МК контроллер должна установиться частота 8МГц, верно же? Но этого не происходит!
Прописываю F_CPU в самом начале кода "#define F_CPU 8000000UL"[/uquote]

Про директиву DEFINE можно прочитать здесь
http://www.c-cpp.ru/books/define

После прочтения становится понятно, что никакого отношения к регистрам МК она не имеет.
Частота МК задаётся фьюзом или регистром прескалера главной тактовой частоты. Подробности в даташите на МК.
Ответить

Вернуться в «AVR»