У меня есть MSP430 Launchpad. На нем была уже зашита программа мигания светодиодом и она работала нормально. После этого я попробовал зашить туда другую программу, но она почему то не работала, хотя в IAR все биты регистров устанавливались, как надо. Я попробовал подать единицу на все пины и проверил мультиметром напряжение, на некоторых оно было в норме, а на большей части пинов нет, причем иногда неработающие начинали работать, загорался светодиод. Значит ли это, что микроконтроллер вышел из строя?
Нужно проверить, та ли прошивка сейчас находится в контроллере.
Если прошивка совпадает с записанной, стоит проверить флеш-память, записав в контроллер случайные данные на весь размер памяти, а затем считав их.
После этого стоит проверить все пины контроллера, подавая на них 1 и 0 в произвольных комбинациях.
Контроллер может быть частично исправным, поэтому при наличии подозрений проще его заменить.
А как проверить, та ли прошивка там находится? Вот я прошиваю через IAR, как мне узнать, прошилась ли эта самая программа? И еще: на ланчпаде по умолчанию шла программа измерения температуры, я попробовал зашить ее, причем зашивалась она через bat файл. И эта программа работала нормально. Но она вроде не использует пины. Может у меня порты вышли из строя?
Программа заведомо рабочая? На другом таком же кристалле все ок?
Возможно, часть пинов просто неправильно сконфигурирована - не как GPIO, а как входы-выходы встроенной периферии: таймеров, USART и т.п. Вот этот зверинец вы и наблюдаете на выводах вместо своих единичек. При этом IAR будет честно показывать, что в регистрах все отлично.