Частота МК задаётся фьюзом или регистром прескалера главной тактовой частоты
У атмеги8 нет регистров таких. Только фьюзами CKSEL3..0 задается.
Добавлено after 3 minutes 40 seconds: Ну точнее через OSCCAL можно подкрутить в пределах +- 50%, но это не о том, это калибровка.
Вообще я бы посоветовал ТС забить на попытки работать с мегой8 на 8МГц от внутреннего RC. Он откалиброван для работы на 1 МГц. Если ставить его на 8МГц, то соб-но по ДШ требуется еще пользовательская калбировка через соб-но OSCCAL регистр. А если ТС разобраться не может чем фьюз от дефайна отличается... то это будет mission impossible. Лучше поставить внешний кристалл и запустить от него тогда уж.
Ну атмега8 - это ж "динозавр". Там всё по-старинке еще, через одно место:
Цитата:
The ATmega8 stores four different calibration values for the internal RC Oscillator. These bytes resides in the signature row High byte of the addresses 0x0000, 0x0001, 0x0002, and 0x0003 for 1MHz, 2MHz, 4MHz, and 8Mhz respectively. During Reset, the 1MHz value is automatically loaded into the OSCCAL Register. If other frequencies are used, the calibration value has to be loaded manually, see “Oscillator Calibration Register – OSCCAL” on page 31 for details. ... During Reset, the 1MHz calibration value which is located in the signature row High byte (address 0x00) is automatically loaded into the OSCCAL Register. If the internal RC is used at other frequencies, the calibration values must be loaded manually. This can be done by first reading the signature row by a programmer, and then store the calibration values in the Flash or EEPROM. Then the value can be read by software and loaded into the OSCCAL Register.
Про "кручения" именно на меге8 есть такая ремарка:
Цитата:
The calibrated Oscillator is used to time EEPROM and Flash access. If EEPROM or Flash is written, do not calibrate to more than 10% above the nominal frequency. Otherwise, the EEPROM or Flash write may fail. Note that the Oscillator is intended for calibration to 1.0MHz, 2.0MHz, 4.0MHz, or 8.0MHz. Tuning to other values is not guaranteed, as indicated in Table 11.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Зарегистрирован: Вт сен 10, 2019 16:18:33 Сообщений: 64
Рейтинг сообщения:0
Подниму тему,глупый может вопрос,но возник в моем котелке любителя,прямо в исходном коде нельзя установить эти фьюз биты резонирования и будет ли работать?обязательно использовать для этого программу прошивалку с установкой птичек?Код вижен например при созданий проекта предлагает код:пример на атмеге328 8мгц
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
CLKPR меняет коэффициент предделителя системной тактовой частоты. Но здесь он сперва разрешается, потом обнуляется. Честно говоря, не понимаю такого фокуса.
CLKPR меняет коэффициент предделителя системной тактовой частоты. Но здесь он сперва разрешается, потом обнуляется. Честно говоря, не понимаю такого фокуса.
Не правильно выразился ввиду своей не грамотности в этом деле,сам бы хотел понять и выставлять частоту тактирования по своему ладу прямо в коде,без генератора содвижена,с этим фокусом все как надо работает вроде,в AVRDUDE_PROG прошиваю мк по дефолту под 1мгц,а работает в железе как 8мгц с кварцем на 8мгц благодаря этой вставке в коде,зачем сказывается заморачиваться с фьюз галочками в прошивалке?или что то я не догоняю)
имеется ввиду ckdiv8? Это для случая безопасного применения МК. Просто ckdiv8 выставляет биты в CLKPR сразу после ресета, а программист там, где ему надо. Вот и вся разница.
И что будет с битами CLKPR,если убрать прагму с оптимизацией кода?
скорее всего, останется лишь CLKPR = 0; так как по идее первое присваивание перед вторым бессмысленно (с точки зрения мифического компилятора), но, учитывая, что это всё-таки компилятор для какого-то мк, то может остаться так: CLKPR = 0x80; CLKPR = 0x00;
Вообще, Вы можете сами уметь отвечать себе на такой вопрос, просто глянув листинг ассемблера после компиляции.
И что будет с битами CLKPR,если убрать прагму с оптимизацией кода?
Вообще, Вы можете сами уметь отвечать себе на такой вопрос, просто глянув листинг ассемблера после компиляции.
К сожалению-это пока для меня гремучий лес,листинг асмы мне ничего не даст)хоть я и не смотрел,что на счет того,можно ли прямо в исходном коде установить эти злощастные фьюз биты для кварца?
Всё, что делает 0 << х | - надо выбросить. Тех, кто считает, что не надо - тоже. По одной простой причине - это идиотизм, и не стоит его плодить, иначе в будущем поля начнут поливать газировкой.
Да и пофиг. Если бессмысленность прекрасна - пусть так и будет. Вчера разбирал кривое устройство - спроектировано примерно с применением сдвига нуля. Гляжу - а внутри атмега. И совершенно не удивился. И лично у меня такая статистика набирается: устройство хорошее - значит, скорее всего там не атмел. Устройство глючное - скорее всего, там атмел. Потому что безграмотно и бессмысленно. Но прекрасно...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения