Arduino на atmega8, atmega48, atmega88, atmega168

Write to own flash

MiniCore uses Optiboot Flash, a bootloader that supports flash writing within the running application, thanks to the work of @majekw.
This means that content from e.g. a sensor can be stored in the flash memory directly without the need of external memory. Flash memory is much faster than EEPROM, and can handle at least 10 000 write cycles before wear becomes an issue.
For more information on how it works and how you can use this in you own application, check out the Serial_read_write for a simple proof-of-concept demo, and
Flash_put_get + Flash_iterate for useful examples on how you can store strings, structs and variables to flash and retrieve then afterwards.
The Read_write_without_buffer example demonstrate how you can read and write to the flash memory on a lower level without using a RAM buffer.

Getting started with MiniCore

Ok, so you’re downloaded and installed MiniCore, but how to get started? Here’s a quick guide:

  • Hook up your microcontroller as shown in the , or simply just plut it into an Arduino UNO board.
  • Open the Tools > Board menu item, and select a MiniCore compatible microcontroller.
  • If the BOD option is presented, you can select at what voltage the microcontroller will shut down at. Read more about BOD .
  • Select your prefered clock frequency. 16 MHz is standard on most Arduino boards, including the Arduino UNO.
  • Select what kind of programmer you’re using under the Programmers menu.
  • If the Variants option is presented, you’ll have to specify what version of the microcontroller you’re using. E.g the ATmega328 and the ATmega328P got different device signatures, so selecting the wrong one will result in an error.
  • Hit Burn Bootloader. If an LED is connected to pin PB5 (Arduino pin 13), it should flash twice every second.
  • Now that the correct fuse settings is sat and the bootloader burnt, you can upload your code in two ways:
    • Disconnect your programmer tool, and connect a USB to serial adapter to the microcontroller, like shown in the . Then select the correct serial port under the Tools menu, and click the Upload button. If you’re getting some kind of timeout error, it means your RX and TX pins are swapped, or your auto reset circuity isn’t working properly (the 100 nF capacitor on the reset line).
    • Keep your programmer connected, and hold down the button while clicking Upload. This will erase the bootloader and upload your code using the programmer tool.

Your code should now be running on your microcontroller! If you experience any issues related to bootloader burning or serial uploading, please use or create an issue on Github.

Семейства микроконтроллеров

Стандартные семейства:

  • tinyAVR (ATtinyxxx):
    • Флеш-память до 16 КБ; SRAM до 512 Б; EEPROM до 512 Б;
    • Число линий ввода-вывода 4-18 (общее количество выводов 6-32);
    • Ограниченный набор периферийных устройств.
  • megaAVR (ATmegaxxx):
    • Флеш-память до 256 КБ; SRAM до 16 КБ; EEPROM до 4 КБ;
    • Число линий ввода-вывода 23-86 (общее количество выводов 28-100);
    • Аппаратный умножитель;
    • Расширенная система команд и периферийных устройств.
  • XMEGA AVR (ATxmegaxxx):
    • Флеш-память до 384 КБ; SRAM до 32 КБ; EEPROM до 4 КБ;
    • Четырёхканальный DMA-контроллер;
    • Инновационная система обработки событий.

Как правило, цифры после префикса обозначают объём встроенной flash-памяти (в КБ) и модификацию контроллера. А именно — максимальная степень двойки, следующая за префиксом, обозначает объём памяти, а оставшиеся цифры определяют модификацию (напр., ATmega128 — объём памяти 128 КБ; ATmega168 — объём памяти 16 КБ, модификация 8; ATtiny44 и ATtiny45 — память 4 КБ, модификации 4 и 5 соответственно).[источник не указан 3304 дня]

На основе стандартных семейств выпускаются микроконтроллеры, адаптированные под конкретные задачи:

  • со встроенными интерфейсами USB, CAN, контроллером LCD;
  • со встроенным радиоприёмопередатчиком — серии ATAxxxx, ATAMxxx;
  • для управления электродвигателями — серия AT90PWMxxxx;
  • для автомобильной электроники;
  • для осветительной техники.

Кроме указанных выше семейств, ATMEL выпускает 32-разрядные микроконтроллеры семейства AVR32, которое включает в себя подсемейства AT32UC3 (тактовая частота до 66 МГц) и AT32AP7000 (тактовая частота до 150 МГц).

Версии контроллеров

AT (mega/tiny)xxx — базовая версия.
ATxxxL — версии контроллеров, работающих на пониженном (Low) напряжении питания (2,7 В).
ATxxxV — версии контроллеров, работающих на низком напряжении питания (1,8 В).
ATxxxP — малопотребляющие версии (до 100 нА в режиме Power-down), применена технология picoPower (анонсированы в июле 2007), повыводно и функционально совместимы с предыдущими версиями.
ATxxxA — уменьшен ток потребления, перекрывается весь диапазон тактовых частот и напряжений питания двух предыдущих версий (также, в некоторых моделях, добавлены новые возможности и новые регистры, но сохранена полная совместимость с предыдущими версиями). Микроконтроллеры «А» и «не-А» обычно имеют одинаковую сигнатуру, что вызывает некоторые трудности, так как Fuse-bit’ы отличаются.

Номер модели дополняется индексом, указывающим вариант исполнения. Цифры (8,10,16,20) перед индексом означают максимальную частоту, на которой микроконтроллер может стабильно работать при нормальном для него напряжении питания).

Первая буква индекса означает вариант корпуса:

АТxxx-P — корпус DIP
АТxxx-A — корпус TQFP
АТxxx-J — корпус PLCC
АТxxx-M — корпус MLF
АТxxx-MA — корпус UDFN/USON
АТxxx-C — корпус CBGA
АТxxx-CK — корпус LGA
АТxxx-S — корпус EIAJ SOIC
АТxxx-SS — узкий корпус JEDEC SOIC
АТxxx-T — корпус TSOP
АТxxx-TS — корпус (ATtiny4/5/9/10)
АТxxx-X — корпус TSSOP

Следующая буква означает температурный диапазон и особенности изготовления:

АТxxx-xC — коммерческий температурный диапазон (0 °C — 70 °C)
АТxxx-xA — температурный диапазон −20 °C — +85 °C, с использованием бессвинцового припоя
АТxxx-xI — индустриальный температурный диапазон (-40 °C — +85 °C)
АТxxx-xU — индустриальный температурный диапазон (-40 °C — +85 °C), с использованием бессвинцового припоя
АТxxx-xH — индустриальный температурный диапазон (-40 °C — +85 °C), с использованием NiPdAu
АТxxx-xN — расширенный температурный диапазон (-40 °C — +105 °C), с использованием бессвинцового припоя
АТxxx-xF — расширенный температурный диапазон (-40 °C — +125 °C)
АТxxx-xZ — автомобильный температурный диапазон (-40 °C — +125 °C)
АТxxx-xD — расширенный автомобильный температурный диапазон (-40 °C — +150 °C)

последняя буква R означает упаковку в ленты (Tape & Reel) для автоматизированных систем сборки.

Supported clock frequencies

MiniCore supports a variety of different clock frequencies. Select the microcontroller in the boards menu, then select the clock frequency. You’ll have to hit «Burn bootloader» in order to set the correct fuses and upload the correct bootloader.
Make sure you connect an ISP programmer, and select the correct one in the «Programmers» menu. For time critical operations an external crystal/oscillator is recommended.

You might experience upload issues when using the internal oscillator. It’s factory calibrated but may be a little «off» depending on the calibration, ambient temperature and operating voltage. If uploading failes while using the 8 MHz internal oscillator you have these options:

  • Edit the baudrate line in the boards.txt file, and choose either 115200, 57600, 38400 or 19200 baud.
  • Upload the code using a programmer (USBasp, USBtinyISP etc.)
  • Use the 4, 2 or 1 MHz option instead
Frequency Oscillator type Comment
16 MHz External crystal/oscillator Default clock on most AVR based Arduino boards and MiniCore
20 MHz External crystal/oscillator
18.4320 MHz External crystal/oscillator Great clock for UART communication with no error
14.7456 MHz  External crystal/oscillator Great clock for UART communication with no error
12 MHz External crystal/oscillator Useful when working with USB 1.1 (12 Mbit/s)
11.0592 MHz External crystal/oscillator Great clock for UART communication with no error
8 MHz External crystal/oscillator Common clock when working with 3.3V
7.3728 MHz External crystal/oscillator Great clock for UART communication with no error
4 MHz External crystal/oscillator
3.6864 MHz External crystal/oscillator Great clock for UART communication with no error
2 MHz External crystal/oscillator
1.8432 MHz External crystal/oscillator Great clock for UART communication with no error
1 MHz External crystal/oscillator
8 MHz Internal oscillator Might cause UART upload issues. See comment above this table
4 MHz Internal oscillator Derived from the 8 MHz internal oscillator
2 MHz Internal oscillator Derived from the 8 MHz internal oscillator
1 MHz Internal oscillator Derived from the 8 MHz internal oscillator

Datasheets

ATmega48PA/88PA/168PAAVRВ Microcontroller with picoPowerВ TechnologyIntroductionВ The picoPower ATmega48PA/88PA/168PA is a low-power CMOS 8-bit microcontroller based on theВAVR enhanced RISC architecture. By executing powerful instructions in a single clock cycle, theВATmega48PA/88PA/168PA achieves throughputs close to 1 MIPS per MHz. This empowers systemdesigners to optimize the device for power consumption versus processing speed. FeatureВ High Performance, Low-Power AVR 8-Bit Microcontroller FamilyAdvanced RISC Architecture – 131 Powerful instructions– Most single clock cycle execution– 32 x 8 General purpose working registers– Fully static operation– Up to 20 MIPS throughput at 20 MHz– On-chip 2-cycle multiplier High Endurance Nonvolatile Memory Segments– 4K/8K/16K Bytes of in-system self-programmable Flash program memory– 256/512/512 Bytes EEPROM– 512/1K/1K Bytes internal SRAM– Write/erase cycles: 10,000 Flash/100,000 EEPROM– Data retention: 20 years at 85В°C/100 years at 25В°C(1)– Optional boot code section with independent lock bits In-system programming by on-chip boot program True read-while-write operation– Programming lock for software security QTouch Library Support …

ATmega48PA/88PA/168PA — Summary Datasheet

PDF, 439 Кб, Файл опубликован: 10 дек 2016

Выписка из документа

8-bit AVR Microcontrollers ATmega48PA/88PA/168PADATASHEET SUMMARY IntroductionВ В The Atmel picoPower ATmega48PA/88PA/168PA is a low-power CMOS 8bit microcontroller based on the AVRВ enhanced RISC architecture. Byexecuting powerful instructions in a single clock cycle, the ATmega48PA/88PA/168PA achieves throughputs close to 1MIPS per MHz. This empowerssystem designer to optimize the device for power consumption versusprocessing speed. FeatureHigh Performance, Low Power AtmelВAVRВ 8-Bit Microcontroller Family Advanced RISC Architecture– 131 Powerful Instructions– Most Single Clock Cycle Execution– 32 x 8 General Purpose Working Registers– Fully Static Operation– Up to 20 MIPS Throughput at 20MHz– On-chip 2-cycle Multiplier High Endurance Non-volatile Memory Segments– 4K/8K/16KBytes of In-System Self-Programmable Flash programMemory– 256/512/512Bytes EEPROM– 512/1K/1KBytes Internal SRAM– Write/Erase Cycles: 10,000 Flash/100,000 EEPROM– Data Retention: 20 years at 85В°C/100 years at 25В°C(1)– Optional Boot Code Section with Independent Lock Bits In-System Programming by On-chip Boot Program True Read-While-Write Operation– Programming Lock for Software Security AtmelВ QTouchВ Library Support– Capacitive Touch Buttons, Sliders and Wheels …

8-разрядные микроконтроллеры с 8 Кбайтами внутрисистемно программируемой Flash памяти

Документация:

  5541Kb Engl Описание микроконтроллера ATmega8
  176Kb Engl Краткая информация ATmega8
  Rus Архитектура и система команд AVR-микроконтроллеров
  Параметрический поиск AVR-микроконтроллеров
  Програмное обеспечение
  Инструментальные средства для 8-разрядных AVR-микроконтроллеров

Отличительные особенности:

  • 8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением
  • Прогрессивная RISC архитектура
        130 высокопроизводительных команд, большинство команд выполняется за один тактовый цикл
        32 8-разрядных рабочих регистра общего назначения
    Полностью статическая работа
        Приближающаяся к 16 MIPS (при тактовой частоте 16 МГц) производительность
        Встроенный 2-цикловый перемножитель
  • Энергонезависимая память программ и данных
        8 Кбайт внутрисистемно программируемой Flash памяти (In-System Self-Programmable Flash)
          Обеспечивает 1000 циклов стирания/записи
        Дополнительный сектор загрузочных кодов с независимыми битами блокировки
          Обеспечен режим одновременного чтения/записи (Read-While-Write)
        512 байт EEPROM
          Обеспечивает 100000 циклов стирания/записи
        1 Кбайт встроенной SRAM
        Программируемая блокировка, обеспечивающая защиту программных средств пользователя
  • Встроенная периферия
        Два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения
        Один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения
        Счетчик реального времени с отдельным генератором
        Три канала PWM
        8-канальный аналого-цифровой преобразователь (в корпусах TQFP и MLF)
          6 каналов с 10-разрядной точностью
          2 канала с 8-разрядной точностью
        6-канальный аналого-цифровой преобразователь (в корпусе PDIP)
          4 канала с 10-разрядной точностью
          2 канала с 8-разрядной точностью
        Байт-ориентированный 2-проводный последовательный интерфейс
        Программируемый последовательный USART
        Последовательный интерфейс SPI (ведущий/ведомый)
        Программируемый сторожевой таймер с отдельным встроенным генератором
        Встроенный аналоговый компаратор
  • Специальные микроконтроллерные функции
        Сброс по подаче питания и программируемый детектор кратковременного снижения напряжения питания
        Встроенный калиброванный RC-генератор
        Внутренние и внешние источники прерываний
        Пять режимов пониженного потребления: Idle, Power-save, Power-down, Standby и снижения шумов ADC
  • Выводы I/O и корпуса
        23 программируемые линии ввода/вывода
        28-выводной корпус PDIP, 32-выводной корпус TQFP и 32-выводной корпус MLF
  • Рабочие напряжения
        2,7 — 5,5 В (ATmega8L)
        4,5 — 5,5 В (ATmega8)
  • Рабочая частота
        0 — 8 МГц (ATmega8L)
        0 — 16 МГц (ATmega8)

Блок-схема:

Расположение выводов:

Главная —
Микросхемы —
DOC —
ЖКИ —
Источники питания —
Электромеханика —
Интерфейсы —
Программы —
Применения —
Статьи

Конденсаторы по питанию

Перед тем, как подать на микроконтроллер питающее напряжение, выполним правило, которое обязательно для всех цифровых микросхем: в непосредственной близости от выводов питания микросхемы должен быть керамический конденсатор емкостью 0,06 — 0,22 мкф. Обычно устанавливают конденсатор 0,1 мкф. Его часто называют блокировочным конденсатором.

В схему необходимо установить и электролитический конденсатор емкостью 4-10 мкф. Он также является блокировочным фильтром, но на менее высоких частотах. Такой конденсатор можно устанавливать один для нескольких микросхем. Обычно на 2-3 корпуса микросхем.

Дело в том, что микроконтроллер (как и другие цифровые микросхемы) состоит из транзисторных ячеек, которые в процессе работы постоянно переключаются из открытого состояния в закрытое, и наоборот. При этом изменяется потребляемая транзисторными ячейками энергия. В линии питания возникают кратковременные «провалы» напряжения. Этих ячеек в микроконтроллере сотни тысяч (думаю, что сейчас уже миллионы!), поэтому по питающим проводам начинают гулять импульсные помехи с частотами от единиц до десятков тысяч Герц.

Для предотвращения распространения этих помех по цепям схемы, да и самой микросхемы микроконтроллера, параллельно его выводам питания устанавливают такой блокировочный конденсатор. При этом на каждую микросхему необходимо устанавливать индивидуальный конденсатор.

Конденсатор для постоянного тока является изолятором. Но при установке конденсатора в цепи с непостоянным током он делается сопротивлением. Чем выше частота, тем меньшее сопротивление оказывает конденсатор. Следовательно, блокировочный конденсатор с малой емкостью пропускает через себя (шунтирует) высокочастотные сигналы (десятки и сотни Герц), а конденсатор с бОльшей емкостью — низкочастотные. Об этом я писал еще в статье Конденсатор в цепи постоянного и переменного тока

Общее описание

ATMega48, ATMega88, ATMega168 — низкопотребляющие 8 битные КМОП микроконтроллеры с AVR RISC архитектурой. Выполняя команды за один цикл, ATMega48, ATMega88, ATMega168 достигают производительности 1 MIPS при частоте задающего генератора 1 МГц, что позволяет разработчику оптимизировать отношение потребления к производительности.

AVR ядро объединяет богатую систему команд и 32 рабочих регистра общего назначения. Все 32 регистра непосредственно связаны с арифметико-логическим устройством (АЛУ), что позволяет получить доступ к двум независимым регистрам при выполнении одной команды. В результате эта архитектура позволяет обеспечить в десятки раз большую производительность, чем стандартная CISC архитектура.

ATMega48, ATMega88, ATMega168 имеют следующие характеристики: 4/8/16 КБ внутрисистемно программируемой Flash память программы, 256/512/512 байтную EEPROM память данных, 512/1К/1К байтное SRAM (статическое ОЗУ), 23 линии ввода — вывода общего применения, 32 рабочих регистра общего назначения, три гибких таймера/счетчика со схемой сравнения, внутренние и внешние источники прерывания, последовательный программируемый USART, байт- ориентированный последовательный 2- проводный интерфейс, 6 канальный АЦП (8- канальный у приборов в TQFP и MFL корпусах), 4 (6) канала которых имеют 10- битное разрешение, а 2- 8- битное, программируемый сторожевой таймер со встроенным генератором, SPI порт и пять программно инициализируемых режима пониженного потребления. В режиме Idle останавливается ядро, а SRAM, таймеры/счетчики, SPI порт и система прерываний продолжают функционировать. В Power-down режиме содержимое регистров сохраняется, но останавливается задающий генератор и отключаются все внутренние функции микропроцессора до тех пор, пока не произойдет прерывание или аппаратный сброс. В режиме Power-save асинхронные таймеры продолжают функционировать, позволяя отсчитывать временные интервалы в то время, когда микропроцессор находится в режиме сна. В режиме ADC Noise Reduction останавливается вычислительное ядро и все модули ввода-вывода, за исключением асинхронного таймера и самого АЦП, что позволяет минимизировать шумы в течение выполнения аналого-цифрового преобразования. В Standby режиме задающий генератор работает, в то время как остальная часть прибора бездействует. Это позволяет быстро сохранить возможность быстрого запуска приборов при одновременном снижении потребления.

Прибор изготовлен по высокоплотной энергонезависимой технологии изготовления памяти компании Atmel. Встроенная ISP Flash позволяет перепрограммировать память программы в системе через последовательный SPI интерфейс программой-загрузчиком, выполняемой в AVR ядре, или обычным программатором энергонезависимой памяти. Программа-загрузчик способна загрузить данные по любому интерфейсу, имеющегося у микроконтроллера. Программа в загрузочном секторе продолжает выполняться даже при загрузке области памяти прикладной программы, обеспечивая реальный режим «считывания при записи». Объединив 8- битное RISK ядро и самопрограммирующейся внутри системы Flash памятью корпорация Atmel сделала приборы ATMega48, ATMega88, ATMega168 мощными микроконтроллерами, обеспечивающими большую гибкость и ценовую эффективность широкому кругу управляющих устройств.

Общее описание

ATMega48, ATMega88, ATMega168 — низкопотребляющие 8 битные КМОП микроконтроллеры с AVR RISC архитектурой. Выполняя команды за один цикл, ATMega48, ATMega88, ATMega168 достигают производительности 1 MIPS при частоте задающего генератора 1 МГц, что позволяет разработчику оптимизировать отношение потребления к производительности.

AVR ядро объединяет богатую систему команд и 32 рабочих регистра общего назначения. Все 32 регистра непосредственно связаны с арифметико-логическим устройством (АЛУ), что позволяет получить доступ к двум независимым регистрам при выполнении одной команды. В результате эта архитектура позволяет обеспечить в десятки раз большую производительность, чем стандартная CISC архитектура.

ATMega48, ATMega88, ATMega168 имеют следующие характеристики: 4/8/16 КБ внутрисистемно программируемой Flash память программы, 256/512/512 байтную EEPROM память данных, 512/1К/1К байтное SRAM (статическое ОЗУ), 23 линии ввода — вывода общего применения, 32 рабочих регистра общего назначения, три гибких таймера/счетчика со схемой сравнения, внутренние и внешние источники прерывания, последовательный программируемый USART, байт- ориентированный последовательный 2- проводный интерфейс, 6 канальный АЦП (8- канальный у приборов в TQFP и MFL корпусах), 4 (6) канала которых имеют 10- битное разрешение, а 2- 8- битное, программируемый сторожевой таймер со встроенным генератором, SPI порт и пять программно инициализируемых режима пониженного потребления. В режиме Idle останавливается ядро, а SRAM, таймеры/счетчики, SPI порт и система прерываний продолжают функционировать. В Power-down режиме содержимое регистров сохраняется, но останавливается задающий генератор и отключаются все внутренние функции микропроцессора до тех пор, пока не произойдет прерывание или аппаратный сброс. В режиме Power-save асинхронные таймеры продолжают функционировать, позволяя отсчитывать временные интервалы в то время, когда микропроцессор находится в режиме сна. В режиме ADC Noise Reduction останавливается вычислительное ядро и все модули ввода-вывода, за исключением асинхронного таймера и самого АЦП, что позволяет минимизировать шумы в течение выполнения аналого-цифрового преобразования. В Standby режиме задающий генератор работает, в то время как остальная часть прибора бездействует. Это позволяет быстро сохранить возможность быстрого запуска приборов при одновременном снижении потребления.

Прибор изготовлен по высокоплотной энергонезависимой технологии изготовления памяти компании Atmel. Встроенная ISP Flash позволяет перепрограммировать память программы в системе через последовательный SPI интерфейс программой-загрузчиком, выполняемой в AVR ядре, или обычным программатором энергонезависимой памяти. Программа-загрузчик способна загрузить данные по любому интерфейсу, имеющегося у микроконтроллера. Программа в загрузочном секторе продолжает выполняться даже при загрузке области памяти прикладной программы, обеспечивая реальный режим «считывания при записи». Объединив 8- битное RISK ядро и самопрограммирующейся внутри системы Flash памятью корпорация Atmel сделала приборы ATMega48, ATMega88, ATMega168 мощными микроконтроллерами, обеспечивающими большую гибкость и ценовую эффективность широкому кругу управляющих устройств.

How to install

Boards Manager Installation

This installation method requires Arduino IDE version 1.6.4 or greater.

  • Open the Arduino IDE.

  • Open the File > Preferences menu item.

  • Enter the following URL in Additional Boards Manager URLs:

  • Open the Tools > Board > Boards Manager… menu item.

  • Wait for the platform indexes to finish downloading.

  • Scroll down until you see the MiniCore entry and click on it.

  • Click Install.

  • After installation is complete close the Boards Manager window.

  • Note: If you plan to use the *PB series, you need the latest version of the Arduino toolchain. This toolchain is available through IDE 1.8.6 or newer. Here’s how you install/enable the toolchain:

    • Open the Tools > Board > Boards Manager… menu item.
    • Wait for the platform indexes to finish downloading.
    • The top is named Arduino AVR boards. Click on this item.
    • Make sure the latest version is installed and selected
    • Close the Boards Manager window.

Manual Installation

Click on the «Download ZIP» button in the upper right corner. Exctract the ZIP file, and move the extracted folder to the location «~/Documents/Arduino/hardware». Create the «hardware» folder if it doesn’t exist.
Open Arduino IDE, and a new category in the boards menu called «MiniCore» will show up.

Генератор тактовой частоты

Но самым важным для нас в настоящее время является блок «Oscillator Circuits/Clock Generation» (Схема генератора/Генератор тактовой частоты).

В программе часто возникает необходимость сделать временную задержку в ее выполнении — паузу. А точную паузу можно организовать только методом подсчета времени. Время считаем исходя из количества тактов генератора микроконтроллера.

Да и не лишним будет заранее просчитать: успеет ли МК выполнить тот или иной фрагмент программы за отведенное для этого время.

В даташите ищем соответствующую главу: «System Clock and Clock Options» (Тактовый генератор и его параметры). В ней видим раздел «Clock Sources» (Источники тактового сигнала), в котором имеется таблица с перечнем видов тактовых сигналов. В этом разделе указано, что данный МК имеет встроенный тактовый RC-генератор. В разделе «Default Clock Source» имеется указание о том, что МК продается уже настроенным для использования встроенного RC-генератора. При этом тактовая частота МК — 1 МГц.

Из раздела «Calibrated Internal RC Oscillator» (Калиброванный RC-генератор) узнаем, что встроенный RC-генератор имеет температурный дрейф в пределах 7,3 — 8,1 МГц. Может возникнуть вопрос: если частота встроенного тактового генератора 7,3 — 8,1 МГц, то как была получена частота 1 МГц? Дело в том, что тактовый сигнал попадает в схемы микроконтроллера через программируемый делитель частоты (Об это рассказано в разделе «System Clock Prescaler»).

В данном микроконтроллере он имеет несколько коэффициентов деления: 1, 2, 4 и 8. При выборе первого мы получим частоту самого тактового генератора, при включении последнего — в 8 раз меньше, т.е., 8/8=1 МГц. С учетом вышесказанного получаем, что тактовая частота данного МК при включенном делителе с коэффициентом 8 будет в пределах от 7,3/8 = 0,9125 МГц (9125 КГц) до 8,1/8 = 1,0125 МГц.

Обратите внимание на один ну очень важный факт: стабильность частоты дана при температуре МК 25 градусов по шкале Цельсия. Вспомним, что внутренний генератор выполнен по RC схеме

А емкость конденсатора очень зависит от температуры!

Bootloader option

MiniCore lets you select which serial port you want to use for uploading. UART0 is the default port for all targets, but ATmega328PB can also use UART1.
If your application doesn’t need or require a bootloader for uploading code you can also choose to disable this by selecting No bootloader. This frees 512 bytes of flash memory. Unline official Arduino AVR boards, the bootloader isn’t automatically removed when you upload using a programmer. You’ll have to select No bootloader hit «upload» or the «burn bootloader» for this to happen.

Note that you have need to connect a programmer and hit Burn bootloader if you want to change any of the Upload port settings.