1. Если есть отладчик, то можно посмотреть значение DCO сразу после сброса, из той программы разработки, которой пользуетесь.
Если нет отладчика - просто в первых строках программы считать значение DCO и вывести его на какое-то устройство вывода, которым располагаете (LCD, последовательный порт подключенный к ПК, и т.п.)
Именно MSP430F2274 я не программировал, но насколько помню, в младших (F2013, G2xxx) и старших сериях (F5xxx) - DCO был сразу настроен на 1МГц, и как-то ещё его настраивать не было нужды.
Сравните частоту процессора тактируемого от DCO и от XT1=8МГц. Например какую-нить мигалку светодиодом запустите. Если частота мигания отличается в 8 раз - значит всё нормально, DCO настроен на 1МГц.
Повышенный ток потребления может ещё возникнуть от оставленных не подключенными PIN-ов, которые настроены на ввод. Нужно все неиспользуемые PIN-ы настраивать на вывод, и в этом случае ток потребления может упасть до тех значений что указаны в даташите.
Цитата(Make_Pic @ Jul 24 2018, 07:13)
2) И здесь же: необходимо периодически включать внешний кварц на 8МГц для формирования синуса PWM и потом опять включать DCO 1МГц - Как это правильно сделать?
2. И DCO и XT1 быстро отключаются и включаются в регистре статуса процессора SR.
Для переключения между ними, нужно чтобы оба были активны. Убеждаемся, что сигнал на который будем переключаться - стабилизировался, и переключаем MCLK на него. А тот сигнал что больше не нужен - выключаем в регистре статуса процессора.
Внизу картинка, где приведены биты, которые быстро выключают DCO, XT1, CPU и SMCLK. Выключаются только те источники сигнала, которые не тактируют MCLK или SMCLK.
Цитата(Make_Pic @ Jul 24 2018, 07:13)
3) И последнее: необходимо в режиме тактирования от внешнего кварца 8МГц по прерываниям таймера 5-10мс выходить из LPM3 опрашивать состояние портов и обратно возвращаться в LPM3 для низкого потребления. Как лучше это реализовать?
Просто настроить прерывание от таймера, и включить режим LPM3.
По прерыванию в стеке сохранятся настройки режима LPM3, произойдёт переключение в активный режим, и процессор отработает прерывание. При выходе из прерывания, из стека автоматически восстановятся настройки LPM3 и контроллер опять "уснёт". Никаких дополнительных действий по сохранению LPM3 после завершения прерывания, в обработчике делать не нужно.
Сообщение отредактировал controller_m30 - Jul 25 2018, 08:14
Эскизы прикрепленных изображений