#frequency #clock #pic
#частота #часы #pic
Вопрос:
Я пытаюсь установить тактовую частоту MCU, но я запутался. Когда я устанавливаю его с помощью регистров (путем кодирования), кажется, что это не меняет его. Но когда я меняю его в окне «редактировать проект», он начинает работать. Итак, мои вопросы:
- В чем разница между изменением тактовой частоты MCU с помощью регистров и из окна «редактировать проект»? Нужно ли мне менять их оба? Что происходит, когда они имеют 2 разные частоты?
- Есть ли разница между частотой генератора и тактовой частотой микроконтроллера?
- Если мне нужна тактовая частота 1 МГц, нужно ли мне установить тактовую частоту MCU на 1 МГц или на 4 МГц? Потому что на некоторых веб-сайтах говорится, что 1 операция занимает 4 такта в PIC.
Ответ №1:
Вы не сказали, какой PIC, но в современных вы можете изменить тактовую частоту в нескольких местах. Один из них — биты конфигурации, и это то, что можно установить в «редактировать проект». Config.bits устанавливает источник синхронизации (внешний, внутренний), а также PLL. Другое место — регистры ( OSCCON1
и друзья), где вы можете переключаться между источниками синхронизации. Существует также конфигурационный бит, который разрешает / запрещает переключение часов. Самый простой способ разобраться во всем этом — установить плагин Microchip Code Configurator в MplabX и установить там свои часы / периферийные устройства. Он выведет специфичный для чипа C-код, который вы затем сможете использовать в своем проекте.