Я занимаюсь отладкой своего проекта, и мне нужно проверить, правильно ли я устанавливаю внешний кристалл. У меня есть возможность распечатать на последовательный монитор через USB, можно ли получить тактовую частоту и работает ли процессор от внутренних часов или внешнего кристалла, чтобы я мог распечатать это?
Вы можете измерить текущую тактовую частоту процессора, используя внутренние часы реального времени, управляемые локальным генератором 32,76 кГц. В данный момент у меня нет под рукой XMEGA, поэтому я не могу дать точную процедуру, но общая идея состоит в том, чтобы настроить RTC для измерения некоторого фиксированного количества времени (скажем, 1 мс), а затем измерить, сколько тактовых импульсов происходит во время этот период времени с помощью одного из 16-битных счетчиков/таймеров. Если, скажем, вы насчитали 8044 такта за один цикл RTC длительностью 1 мс, то тактовая частота вашего процессора составит 8044/1 мс = ~8 МГц .
Вы можете проверить, используете ли вы внутренние или внешние часы, просмотрев биты выбора системных часов (SCLKSEL) в регистре управления часами (CTRL).
Для этого не требуется масштаб. Требуется контакт ввода/вывода.
Основываясь на том, что вы думаете о частоте кристалла, напишите процедуру, которая, по вашему мнению, должна переключать вывод ввода-вывода каждую секунду (500 мс вкл., 500 мс выкл.), затем подключите светодиод к контакту и подсчитайте количество импульсов в минута. Затем, в зависимости от того, выпадет ли число 60 или что-то еще, вы сможете понять, что происходит.
Я делал это все время, чтобы проверить настройки часов.
м.Алинь
буги