Tag Archives: MSP430

Когда коту делать нечего

… понятно, чем он занят. А что делает электронщиик?

IMG_1046

Ещё один кухонный таймер.

Читать далее

Практика использования mspdebug. Процесс становления джедаев

Продолжаем накачивать наши интеллектуальные мускулы.

Подведём итог проделанной работе по поиску неисправности. Мы определили, что в нашей программе неправильно инициализируется регистр P1DIR, и скорее всего не правильно проинциализирован сторожевой таймер. Оба бага предположительно находятся в функции init_system.

В каком файле находится эта функция? Где её искать?

Ну, поскольку наш проект крошечный, то из двух файлов, один из которых мы уже посмотрели и её там точно нет, остаётся одно — указать на другой. Это наверно в школе даунов отметили бы высокой оценкой. Но если проект состоит из нескольких десятков файлов (под сотню), то процесс поиска функции может оказаться весьма увлекательным занятием.

Читать далее

Практика использования mspdebug. Светодиодоморгалка

Я создал и отладил небольшой проект на базе платы MSP-EXP430G2 и установленным на неё микроконтроллером MSP430F2001.

IMG_1005

Смысл проекта — моргать двумя светодиодами: зелёным и красным с примерно одинаковой скоростью. Поскольку процесс моргания у светодиодов разный, то частоты моргания не будут точно совпадать. Моргание зелёного светодиода основано на программной задержке, а моргание красного — висит на прерывании от таймера.

После того, как я добился цели, я внес в программу несколько логических ошибок, вот их-то нам и предстоит найти в этом уроке.

Вообще логические ошибки характеризуются тем, что компиляторы их не способны обнаружить. Код компилируется на «ура!», но программа не работает.

Почему не работает? А на этот вопрос мы сейчас и будем искать ответ.

— От винта! (с) фраза из советского кинофильма «В бой идут одни старики»

Читать далее

Практика использования mspdebug. Отладка без программы

На этот раз программный код для заливки в микроконтроллер нам не понадобится. Сегодня мы потренируемся читать-писать память. А поскольку MSP430 относится к машинкам Фон-Неймановского класса и его регистры периферийных устройств размещаются в едином адресном пространстве, то доступ к этим регистрам точно такой же как и к обычным ячейкам памяти.

И в самом деле, запись байта в память RAM ничем не отличается от записи байта в порт ввода/вывода. Тоже самое касается и чтения. Фокус состоит в том, что к порту обычно что-нибудь подключается, например светодиоды, кнопочки или другие компоненты.

Говоря метафорами, порт — это некая комната в большом здании. Комната имеет двери в общий коридор и имеет окно. Ядро микропроцессора общается с «комнатой» через двери, а внешний мир «смотрит» в комнату через окно.

Продолжая аналогию, можно сказать, что ячейка памяти — это кладовка с одной единственной дверью. Что в ней лежит, внешний мир знать не может. Только ядро процессора имеет право попасть в кладовку — что-то туда положить или взять.

Читать далее

Практика использования mspdebug. Начало

mspdebug — это утилита (программа, работающая в компьютере), которая позволяет много чего полезного делать с микроконтроллером семейства MSP430. Утилита позволяет заливать код во флешь-память, считывать его обратно, записывать в файл. Утилита позволяет запускать и останавливать программу в МК, смотреть и изменять значения регистров, памяти. Устанавливать точки останова, проходить программу по шагам. И многое-многое другое.

Всего мне не охватить, но основные техники работы с утилитой, я думаю, я смогу описать. Я начну с кратного повторения того, что вы уже знаете. Если вы плохо понимаете, то вам нужно сначала пройтись по предыдущим статьям по MSP430, и только потом снова начать читать тут.

Читать далее

Приятные на ощупь MSP430F2xx

Я работаю над новым проектом, в котором используется MSP430F2274. Не плохой, надо сказать, камушек! В этом проекте нужно отправлять пакеты данных в комп, а значит, что нужно подсчитывать у них контрольную сумму (далее — КС).

Пару лет назад я уже писал на тему подсчета КС блока данных. Тогда измерения скорости вычисления КС и оценка расхода памяти (RAM и flash) были выполнены для микроконтроллера AVR.

«CRC16-CCITT — сравнение реализаций»
http://wp.me/p1H7g0-C0

Сегодня я произвел те же измерения, но для MSP430.

Я думаю, что разработчикам будет не только интересно ознакомиться с результатами сравнения, но результаты дадут им твёрдую опору при выборе типа микроконтроллера для следующих проектов.

Читать далее

КТ на службе человека

КТ — это кухонный таймер. Да-да, тот самый!

IMG_0851

http://wp.me/p1H7g0-1c1

Только на этот раз он имеет красивый винтажный корпус.

IMG_20151109_114645

— Откуда дровишки? — спросите вы.

Читать далее

Кухонный таймер

Проблема

Я остался один дома. То есть совсем один. Практически безвылазно сижу дома. Целый месяц. Работы нет, семьи нет, ничего нет.

Хочу жрать. Ставлю на газ чайник и ухожу продолжать писать прогу.

Через час в квартире становится как-то тепло и влажно… Чайник!!! Почти выкипел. И это случалось много раз.

Оставаться на кухне на 5-10 минут, чтобы караулить чайник, как-то не правильно. А при работе на компе или с паяльником, так ухожу в это дело с головой, что на долгое время забываю, что недавно хотел есть.

Я думаю, что подобные проблемы имеются не только у меня.

Читать далее

Ubuntu-15.04 и Debian-8.0.0

С разницей всего в несколько дней вышли новые выпуски легендарных дистрибутивов Ubuntu и Debian. Я скачал «оба два».

debian-8

Убунта вышла первая, её первую я и скачал, но не проинсталлировал, не поигрался — не было времени. А потом вышел Дебиан. Я его тоже скачал, причем с дуру (не иначе!) аж три CD-образа: образ обычный, образ с LXDE и образ с XFCE. Зря. Не делайте как я! Достаточно одного любого образа. Во время инсталляции все-равно будет задан вопрос — какую оболочку ставить? Можно даже не одну. Читать далее

Махальные часы MagicWatch. Часть 2

Не прошло и года с момента зарождения и старта по разработке Махальных Часов…

https://zhevak.wordpress.com/2012/12/26/махальные-часы-magicwatch-часть-1/

… и сегодня вечером поздним вечером «тихо и незаметно» (с) проект был завершен.

Читать далее