Буквально недавно сеть облетела новость, что для LaunchPad 430 от Texas Instruments выпущена новая IDE, аналогичная Arduino. Я очень заинтересовался этим, решил сам во всем разобраться, так как являюсь обладателем сего девайсика. Приобрел его еще зимой, но вот пока он пылился на полке без дела. По разным причинам. Одна из причин — отсутствие желания изучать новую среду программирования. А тут бац — и все знакомое. Но обо всем по порядку…
Отладочную плату Launchpad 430 я приобрел на сайте Texas Instruments. Стоила она на тот момент (это в начале 2012 года было) 4.3 американских буказоида (может и сейчас столько же стоит). Доставка осуществлялась международной службой Fedex, причем за счет продавца, т.е. для меня бесплатно. Ну что ж, грамотная политика в деле продвижения своих микроконтроллеров. Отладочные средства дешевые, контроллеры дешевые, средства разработки бесплатные (вру, с некоторыми ограничениями, Code Composer, помоему ограничение на код 16 кб). Это не может не вызвать интереса у радиолюбителей.
Посылочка долетела быстро, за 3 дня после оплаты. Я даже не мог сообразить сразу, что за хрень мне курьер рассказывает о каком-то там заказе «из-за бугра», тыкая в меня большим пакетом с надписью Fedex. Но потом сообразил.
В большой коробке находилась коробочка поменьше. Прям как матрешка…
Все упаковано компактно, не болтается, не гремит.
Все детальки упакованы в отдельные антистатические пакеты.
А вот и весь комплект: сама отладочная плата, два!!! микроконтроллера, часовой кварц (какойто канолевый, я в продаже таких не видел), две панельки PBS, USB-шнур и буклет-описание (ручка в комплект не входит, лежит для оценки масштаба… 🙂 ).
Ну да ладно, это лирика. Так вот, IDE…
IDE для Лаунчпада называется Energia, и является форком от IDE Arduino. Она полностью повторяет интерфейс Ардуины (только в красно-желтых тонах). Принцип программирования тот же. Программы пишутся на Wiring (подкласс С++). Используется свободно распространяемый MSPGCC Toolchain. Компилируются все и загружаются в контроллер нажатием одной кнопки. Ну все как на Ардуине… Но есть одно но — библиотеки.
Опенсорсный проект Energia еще очень молодой проект, не все библиотеки от Ардуины адаптированы к MSP430. На данный момент официально доступны и работают три библиотеки: SPI, TimerSerial и Wire. Одна из самых популярных библиотек — LiquidCrystal — пока не адаптирована, и не работает. Но работа идет, популярность растет, и я думаю, дело не за горами…
Еще одно неудобство, это несовместимость с шилдами от Arduino. Но для Launchpad разработано много своих шилдов-модулей. Можно ознакомиться в блоге у TI и у 43Oh.
В свою очередь, я после того, как помигал светодиодиками, думал, что бы мне такое замутить. На глаза попался модуль ультразвукового сенсора HC-SR04 (он у меня по-другому называется, но не суть). Немножко погуглив, нашел Ардуиновскую библиотеку для этого модуля на Robocraft под названием Ultrasonic. Чуток ее покоцал поправил, что б работала в Энергии.
Простейший скетч для демонстрации библиотеки:
// // 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 комментариев
mmm
12 лет назадне могу понять чего она хочет
tilib: MSP430_Initialize: Could not find MSP-FET430UIF on specified COM port (error = 57)
tilib: device initialization failed
порт что ли занят ?
Chiper
12 лет назадГоворит, что на указанном порту нет устройства MSP-FET430UIF. Попробуй указать в настройках правильный порт.
sinobi
12 лет назадА можно поподробнее о том как править либы для Energia юА то вот хочу от нокии 3310 и 5110 экран прикрутить,в ардуино то есть либы ,а для ланчпада не видел
Chiper
12 лет назадНу, тут в двух словах и не описать. По разному бывает. Какие-то либы правятся простой заменой путей к дополнительным файлам и заменой пинов Ардуины на соответствующие для MSP. Некоторые приходится полностью переписывать с нуля, так как архитектура MSP и AVR отличаются.
sinobi
12 лет назадИ еще вопрос а с прерываниями вопрос решился?ибо код от ардуино с прерываниями не работает на ланчпаде в енергия
Chiper
12 лет назадНасколько я знаю — нет. Но я уже давно с MSP не ковырялся, может что и изменилось.
manson
12 лет назадА как обстоят дела с питанием сенсора? Если питать его отдельно, а триггер и эхо на прямую к пинам мк подключить работать будет? Или нужно выравнивать уровни с 3.3В до 5В ?
Chiper
12 лет назадПитание можно брать с Ардуины, можно отдельно, главное земли объедините. Специального согласования не нужно, модуль толерантен к 5V и 3V3 уровням.
manson
12 лет назадИмею ввиду, ничего с ланчпадом не случиться? ведь сенсор на эхо-пин вернёт единицу, т.е. 5В, а мк работает с напряжением до 3.6В.