Программируем EV3 на C++ в BricxCC

Имеем:

  • EV3
  • Windows XP или 7 (на 8 еще не пробовал)
  • USB кабель
  • MiniSD

Хотим: Написать код на С, который будет хоть что-то (для начала) делать с EV3. Делал как написано тут: http://www.rjmcnamara.com/lego-mindstorms-ev3/programming-ev3-c-bricxcc/

Этапы.

1.  Идём на страничку http://bricxcc.sourceforge.net/  и далее по ссылке test releases. Там скачиваем файлы (можно и прямыми ссылками чуть ниже — те же файлы, но файлы достаточно часто обновляются и ссылки могут вскоре на заработать (поменяются версии файлов):

2. Ставим bricxcc (файл bricxcc_setup_xxx.exe) в корень диска — легче потом писать пути. Я ставлю на диск C:\ в папку BricxCC. То есть путь установки C:\BricxCC\. Во избежании проблем с вообщем-то линуксовой программой соблюдаю заглавные/прописные буквы.

3. Распаковываем архив  test_release20131007.zip (или более новый) в папку C:\BricxCC\ — заменится ряд файлов. Система спросит — переписать ли, а мы ей разрешим.

4. Распаковываем архив linux_tools.zip в папку C:\BricxCC\linux_tools\ (такой папки нет — надо её будет сделать).

5. Распаковываем  lms_api.zip в папку C:\BricxCC\API\

6. Скачиваем здесь CodeSourcery Lite:  https://sourcery.mentor.com/GNUToolchain/package4574/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi.exe

7. Запускаем скачанный файл. В процессе установки назначаем папку установки опять же на C:\CSLite\ и на следующем шаге установки отмечаем пункт «Modify PATH for current (или all) user», а на следующей страничке можно отказаться от создания ярлыков (Don’t create icons)

8. Идём в свойства системы. Нам нужно попасть в Панель_управления -> Система и безопасность -> Система -> Дополнительные параметры компьютера -> Переменные среды. Здесь в  окошке «Системные переменные» находим параметр Path и добавляем в него строку C:\CSLite\bin;C:\BricxCC;C:\BricxCC\linux_tools;
Здесь же в окошке Переменные среды для пользователя Имя добавляем в параметр PATH строку C:\BricxCC;C:\BricxCC\linux_tools;

Всё.

Тестируем.

Подключаем и включаем EV3. Запускаем BricxCC.  В окошке Find Brick выбираем порт USB, brick type — ev3 и Firmware — Linux (О! мы будем программировать для Linux!)

Создаём новый файл и пишем такой текст. Ну конечно, не пишем, а берём здесь:

#include <stdio.h>
#include <unistd.h>
#include "C:\BricxCC\API\ev3_lcd.h"
#include "C:\BricxCC\API\ev3_command.h"
int main() { 
int i; 
LcdInit(); 
LcdText(1, 0, 0, "Hello, world! It's Work!"); 
Wait(SEC_1); 
LcdExit(); }

Сохраняем.

Я сохранил в C:\ev3\ (предварительно создав эту папку), назвав файл test. Расширение .c добавилось, конечно, автоматически.

Далее идём в меню View -> Project Manager, на белом поле щелкаем правой кнопкой мыши, Add… идём в папку C:\BricxCC\API\ и через Contrl выбираем файлы  ev3_command.c, ev3_lcd.c и ev3_timer.c В папке c:\ev3 появился файл test.prj. Открываем его в блокноте или непосредственно в BricxCC и добавляем в начале строк путь к папке API:

C:\BricxCC\API\ev3_command.c
C:\BricxCC\API\ev3_lcd.c
C:\BricxCC\API\ev3_timer.c

Возвращаемся в BricxCC и нажимаем Ctrl+F5. Удивлённо смотрим на экран EV3 и видим нашу надпись.

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

Не знаю как Вас, а меня сразу потянуло поменять выводимую фразу, параметры оператора LcdText, заглянуть в ev3_lcd.c Интересно и классно. Но об этом в следующий раз.

Реклама

1 комментарий (+add yours?)

  1. Антон
    Мар 17, 2014 @ 06:03:11

    Спасибо! Попробовал, но как на счет датчиков?

    Ответить

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: