На первый взгляд ничего не предвещало трудностей. Ага. Это только на первый взгляд.

Первый трах был с системой тактирования. Попробовал использовать калибровочные значения для DCO. Здорово конечно придумано, что калибровать не нужно, но кварцевый генератор XT2 не работает. Совсем. Пляски с емкостью нагрузочных конденсаторов и заменой кварца не помогла. Начал внимательно изучать описание регистров. Ага. Бит XT2OFF в регистре BCSCTL1 после сброса установлен. Раньше я его сбрасывал сразу же при первой инициализации регистра и после этого просто ждал пока колебания кварца стабилизируются и сбросится бит OFIFG. А тут все сложнее. Значение калибровочных данных для DCO (CALBC1_16MHZ) имеет такое же значение бита, отключающего генератор XT2 (XT2OFF), как и после PUC. Т.е. при записи калибровочного значения, генератор XT2 остается выключенным и если его нужно включить, то вместо
Код
BCSCTL1=CALBC1_16MHZ;
нужно писать
Код
BCSCTL1=CALBC1_16MHZ&(~XT2OFF);
Ладно. XT2 завели. Но LFXT что-то глючит. Оказывается, часовой кварц плохо заводится, если у него нагрузочная емкость не соответствует номинальной. Но я же ничего на плате не менял! Фигня война. Нужно просто проинициализировать новый регистр BCSCTL3, где кроме номинала встроенных нагрузочных резисторов для LFXT нужно выбрать еще и рабочий диапазон для кварца генератора XT2. Пишем
Код
BCSCTL3=XT2S1|XCAP_3; // XT2 - 8Мгц, 12,5пФ для LFXT
и едем дальше.
А дальше у нас была связь. USART видоизменился в USCI. Памятуя, что ребята из TI всегда кричали и рвали на груди рубашку, что они-де за совместимость снизу вверх и если улучшения требуют нарушить совместимость, то ну их на эти улучшения, особых подвохов я не ожидал. К сожалению, при разработке USART разработчики забыли про свои лозунги

Нет, я конечно понимаю, что красота требует жертв. Но зачем же столько плана при этом курить?

Ну добавили функциональности и теперь из одного модуля можно получить два интерфейса в комбинации: 1 асинхронный (UART/LIN/IRDA) +1 синхронный (I2C/SPI) или 2 синхронных(SPI+I2C/SPI) (правда вектор прерывания у них один на двоих), да еще и порядок следования битов можно менять программно. Нечего сказать, молодцы! Но зачем нужно было тасовать управляющие биты и регистры для уже привычного UART-то?



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