Цитата(SasaVitebsk @ Jan 24 2014, 16:06)

Борюсь с MSP430 уже месяц.
Думаю будет больно слышать тем, кто их регулярно использует и любит данное семейство, но тем не менее есть объективная реальность на мой взгляд.
Кто-то захочет начать, я скажу что совсем недоволен результатом. Некоторые хомуты не укладываются у меня в голове. И при этом я работаю с 6 семейством! Просто диву даюсь с ребят TI.
Просто вы не до конца разобрались в документаций и поэтому делаете неверные скоропалительные заключения

Цитата(SasaVitebsk @ Jan 24 2014, 16:06)

1. Если по какой-то причине не сброшен флаг в прерывании, то МК зацикливается на данном прерывании. При чём зацикливается накоротко. То есть при этом он вообще не выполняет ни одной команды головы.
Не совсем так. После выхода из обработчика прерывания может быть вызвано более приоритетное прерывание.
Цитата(SasaVitebsk @ Jan 24 2014, 16:06)

Учитывая, что способ сброса флага абсолютно не расписан - вызвало у меня головную боль. В частности есть IV регистр. Было бы логичным сбрасывать флаг там и где-то именно так и происходит, но для SD24B надо прочитать регистр данных. (
Дык сбрасывайте соответствующий флаг в регистре SD24BIFG.
Цитата(SasaVitebsk @ Jan 24 2014, 16:06)

2. В таймере при захвате не сбрасывается регистр счёта. Но ведь сброс вручную приводит к очевидной ошибке.
А с какой стати должен сбрасываться регистр счета (TAR)? Вы режимы capture и compare не перепутали?
Цитата(SasaVitebsk @ Jan 24 2014, 16:06)

3. При останове процессора родным отладчиком может с периферией может происходить что угодно. Например по первому прерыванию USART вижу последний байт пакета или таймер показывает полную чушь и самое главное при продолжении работает не так, как положено. И так далее.
Вновь недопонимание. В MSP430 периферия тактируется отдельно от ядра. Поэтому при останове ядра или переходе его в спячку периферия продолжает работать, независимо от ядра. Это одна из
основных фич MSP430, а вовсе не бага! Да, эта фича несколько осложняет отладку с помощью эмулятора. Но нужно просто помнить про нее.
Цитата(SasaVitebsk @ Jan 24 2014, 16:06)

4. Значительные несоответствия в разных документах. Например в UM на семейство, для таймера обозначаются входы как CCIxA и CCIxB. И ссылаются на документ на конкретный камень. В нём же эти входы обозначены как TAx.0/ TAx.1. В UM описано 4 типа таймеров. В UM на камень с трудом докапываешься какой именно применён. Отличаются объявления в хидерах и документации. Ошибки в целом незначительные и мне сразу понятные, но начинающему, я уверен будет непросто.
Хм. Открываю
datasheet MSP430F6736. Раздел SHORT-FORM DESCRIPTION -> Peripherals -> TA0 (1/2/3). В табличках (например, Table 18. TA0 Signal Connections) вижу те же самые наименования входных сигналов этого модуля (TimerA0/1/2/3), что и в
User's Guide (CCI1A, CCI1B, CCI2A, CCI2B и т.п.). Чем же вы недовольны?
Цитата(SasaVitebsk @ Jan 24 2014, 16:06)

5. В целом уровень периферии на порядок слабее аналогичных у других производителей, таких как ST, NXP.
Основная периферия MSP430 была разработана >15 лет назад. С тех пор в TI ее улучшают, стараясь не нарушать
совместимости. А вы наверное сравниваете с МК ARM, которые были разработаны менее 10 лет назад?