Инициализация ESP HAL
Мы успешно подготовили бинарный файл для ESP32. Однако на этом этапе программа не делает абсолютно ничего. Оживим её: повторим ту же программу с миганием светодиода, которую мы видели в разделе «Быстрый старт».
Начните с добавления импорта:
#![allow(unused)]
fn main() {
use esp_hal::clock::CpuClock;
}
Теперь в начало функции main добавьте эту строку:
#![allow(unused)]
fn main() {
let config = esp_hal::Config::default().with_cpu_clock(CpuClock::max());
}
Эта строка создаёт конфигурацию HAL по умолчанию и устанавливает тактовую частоту ЦП на максимум. Можно представлять это так: мы сообщаем чипу, с какой скоростью работать. Здесь мы просим его работать на максимальной скорости.
Инициализация периферии
Далее инициализируем периферию с помощью HAL:
#![allow(unused)]
fn main() {
let peripherals = esp_hal::init(config);
}
Эта функция настраивает систему: например, тактовую частоту ЦП и сторожевой таймер (watchdog timer). После этого она даёт нам доступ к периферии и тактовым сигналам чипа, чтобы мы могли использовать их в коде.