Энергия для Лаунчпада

Энергия для Лаунчпада msp-exp430g2

Буквально недавно сеть облетела новость, что для LaunchPad 430 от Texas Instruments выпущена новая IDE, аналогичная Arduino. Я очень заинтересовался этим, решил сам во всем разобраться, так как являюсь обладателем сего девайсика. Приобрел его еще зимой, но вот пока он пылился на полке без дела. По разным причинам. Одна из причин — отсутствие желания изучать новую среду программирования. А тут бац — и все знакомое. Но обо всем по порядку…

Отладочную плату Launchpad 430 я приобрел на сайте Texas Instruments. Стоила она на тот момент (это в начале 2012 года было) 4.3 американских буказоида (может и сейчас столько же стоит). Доставка осуществлялась международной службой Fedex, причем за счет продавца, т.е. для меня бесплатно. Ну что ж, грамотная политика в деле продвижения своих микроконтроллеров. Отладочные средства дешевые, контроллеры дешевые, средства разработки бесплатные (вру, с некоторыми ограничениями, Code Composer, помоему ограничение на код 16 кб). Это не может не вызвать интереса у радиолюбителей.

Посылочка долетела быстро, за 3 дня после оплаты. Я даже не мог сообразить сразу, что за хрень мне курьер рассказывает о каком-то там заказе «из-за бугра», тыкая в меня большим пакетом с надписью Fedex. Но потом сообразил.

Большая коробка от Fedex (с LaunchPad 430)
Большая коробка от Fedex (с LaunchPad 430)

В большой коробке находилась коробочка поменьше. Прям как матрешка…

Коробка с LaunchPad 430
Коробка с LaunchPad 430

Все упаковано компактно, не болтается, не гремит.

Содержимое коробки с LaunchPad 430
Содержимое коробки с LaunchPad 430

Все детальки упакованы в отдельные антистатические пакеты.

Упаковка деталей LaunchPad 430
Упаковка деталей LaunchPad 430

А вот и весь комплект: сама отладочная плата, два!!! микроконтроллера, часовой кварц (какойто канолевый, я в продаже таких не видел), две панельки PBS, USB-шнур и буклет-описание (ручка в комплект не входит, лежит для оценки масштаба… 🙂 ).

Комплект LaunchPad 430
Комплект LaunchPad 430

Ну да ладно, это лирика. Так вот, IDE…

IDE Energia splash

IDE для Лаунчпада называется Energia, и является форком от IDE Arduino. Она полностью повторяет интерфейс Ардуины (только в красно-желтых тонах). Принцип программирования тот же. Программы пишутся на Wiring (подкласс С++). Используется свободно распространяемый MSPGCC Toolchain.  Компилируются все и загружаются в контроллер нажатием одной кнопки. Ну все как на Ардуине… Но есть одно но — библиотеки.

Опенсорсный проект Energia еще очень молодой проект, не все библиотеки от Ардуины адаптированы к MSP430. На данный момент официально доступны и работают три библиотеки: SPI, TimerSerial и Wire. Одна из самых популярных библиотек — LiquidCrystal — пока не адаптирована, и не работает. Но работа идет, популярность растет, и я думаю, дело не за горами…

Еще одно неудобство, это несовместимость с шилдами от Arduino. Но для Launchpad разработано много своих шилдов-модулей. Можно ознакомиться в блоге у TI и у 43Oh.

В свою очередь, я после того, как помигал светодиодиками, думал, что бы мне такое замутить. На глаза попался модуль ультразвукового сенсора HC-SR04 (он у меня по-другому называется, но не суть). Немножко погуглив, нашел Ардуиновскую библиотеку для этого модуля на Robocraft под названием Ultrasonic. Чуток ее покоцал поправил, что б работала в Энергии.

IDE Energia
IDE Energia

Простейший скетч для демонстрации библиотеки:

//
// Ultrasonic HC-SR04 sensor test
// Get distance and write to UART

#include "Ultrasonic.h"

// sensor connected to:
// Trig - 12, Echo - 13
Ultrasonic ultrasonic(12, 13);

void setup()
{
Serial.begin(9600); // start the serial port
}

void loop()
{
float dist_cm = ultrasonic.Ranging(CM); // get distance
Serial.println(dist_cm); // print the distance

delay(100); // arbitary wait time.
}

Подключил пины, откомпилировал и прошил контроллер. Заработало все сразу же. Доволен… 🙂 🙂 🙂 Потом, может быть, напишу про это.

Кстати, в заголовочном файле pins_energia.h определяется соответствие пинов MSP430 и Ардуины. Вот кусочек из него:


//                +-\/-+
//         VCC   1|    |20  GND
//   (A0)  P1.0  2|    |19  XIN
//   (A1)  P1.1  3|    |18  XOUT
//   (A2)  P1.2  4|    |17  TEST
//   (A3)  P1.3  5|    |16  RST#
//   (A4)  P1.4  6|    |15  P1.7 (A7)(SCL)"(MISO/MOSI) depends on chip"
//   (A5)  P1.5  7|    |14  P1.6 (A6)(SDA)"(MOSI/MISO) depends on chip"
//         P2.0  8|    |13  P2.5
//         P2.1  9|    |12  P2.4
//         P2.2 10|    |11  P2.3
//                +----+
//
Полезные ссылки

Energia на GitHub — начинать отсюда
Форум поддержки — все вопросы сюда
Wiki — полезно почитать
MSP430 LaunchPad (MSP-EXP430G2) — обзор LaunchPad MSP430 на сайте TI

Скачать

Ultrasonic — библиотека сенсора HC-SR04
(распаковать в hardware\msp430\libraries\)

Обсуждение

9 комментариев

Присоединиться к обсуждению

Отправляя комментарий, вы принимаете .

Мы ценим аргументированное и конструктивное общение. Пожалуйста, соблюдайте эти простые правила:

  • Уважение к другим. Общайтесь вежливо. Оскорбления, нецензурная лексика, угрозы и разжигание розни недопустимы.
  • Тематика. Пишите по теме статьи. Спам, реклама и ссылки на сторонние ресурсы без согласования будут удалены.
  • Законность. Запрещены призывы к нарушению законов РФ, обсуждение наркотических веществ и любые формы экстремизма.
  • Оформление. Не используйте Caps Lock (ЗАГЛАВНЫЕ БУКВЫ) для написания всего текста комментария.
  • Профиль. В качестве имени (никнейма) запрещено использовать ключевые слова, рекламу и адреса сайтов.

Все комментарии проходят проверку. При нарушении правил или рассылке спама аккаунт блокируется без права восстановления.

  • mmm

    14 лет назад

    не могу понять чего она хочет 
    tilib: MSP430_Initialize: Could not find MSP-FET430UIF on specified COM port (error = 57)
    tilib: device initialization failed

    порт что ли занят ? 

    • Chiper

      14 лет назад

      Говорит, что на указанном порту нет устройства MSP-FET430UIF. Попробуй указать в настройках правильный порт.

  • sinobi

    14 лет назад

    А можно поподробнее о том как править либы для Energia юА то вот хочу от нокии 3310 и 5110 экран прикрутить,в ардуино то есть либы ,а для ланчпада не видел
     

    • Chiper

      14 лет назад

      Ну, тут в двух словах и не описать. По разному бывает. Какие-то либы правятся простой заменой путей к дополнительным файлам и заменой пинов Ардуины на соответствующие для MSP. Некоторые приходится полностью переписывать с нуля, так как архитектура MSP и AVR отличаются.

  • sinobi

    14 лет назад

    И еще вопрос а с прерываниями вопрос решился?ибо код от ардуино с прерываниями не работает на ланчпаде в енергия

    • Chiper

      14 лет назад

      Насколько я знаю — нет. Но я уже давно с MSP не ковырялся, может что и изменилось.

  • manson

    14 лет назад

    А как обстоят дела с питанием сенсора? Если питать его отдельно, а триггер и эхо на прямую к пинам мк подключить работать будет? Или нужно выравнивать уровни с 3.3В до 5В ?

    • Chiper

      14 лет назад

      Питание можно брать с Ардуины, можно отдельно, главное земли объедините. Специального согласования не нужно, модуль толерантен к 5V и 3V3 уровням.

      • manson

        14 лет назад

        Имею ввиду, ничего с ланчпадом не случиться? ведь сенсор на эхо-пин вернёт единицу, т.е. 5В, а мк работает с напряжением до 3.6В.