Электронный компонент:Плата Xadow M0: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
Строка 61: Строка 61:
Вы можете изменить код, открыв и отредактировав '''«main.cpp»'''. К примеру, код ниже заставит светодиод мигать каждые 0.1 секунды.
Вы можете изменить код, открыв и отредактировав '''«main.cpp»'''. К примеру, код ниже заставит светодиод мигать каждые 0.1 секунды.


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
#include "mbed.h"
#include "mbed.h"


Строка 97: Строка 97:
Если диск не примонтировался, то примонтируйте его на '''{mnt_dir}''' с помощью следующей команды:
Если диск не примонтировался, то примонтируйте его на '''{mnt_dir}''' с помощью следующей команды:


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
dd if={new_firmware.bin} of={mnt_dir}/firmware.bin conv=notrunc
dd if={new_firmware.bin} of={mnt_dir}/firmware.bin conv=notrunc
</syntaxhighlight>
</syntaxhighlight>
Строка 105: Строка 105:
Для того, чтобы скопировать [[BIN-файл]] на [[Xadow M0]], воспользуйтесь программой [[Terminal]] и запустите в ней следующий скрипт:
Для того, чтобы скопировать [[BIN-файл]] на [[Xadow M0]], воспользуйтесь программой [[Terminal]] и запустите в ней следующий скрипт:


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
dd if={new_firmare.bin} of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc
dd if={new_firmare.bin} of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc
</syntaxhighlight>
</syntaxhighlight>
Строка 111: Строка 111:
По желанию можно создать приложение [[Automator]], с помощью которого прошивку на плату можно будет копировать методом '''«drag-n-drop»'''. Для этого запустите в терминале вот такой скрипт:
По желанию можно создать приложение [[Automator]], с помощью которого прошивку на плату можно будет копировать методом '''«drag-n-drop»'''. Для этого запустите в терминале вот такой скрипт:


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
dd if=$* of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc
dd if=$* of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc
</syntaxhighlight>
</syntaxhighlight>
Строка 119: Строка 119:
Вот усовершенствованная версия этого скрипта:
Вот усовершенствованная версия этого скрипта:


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
dd if=”${1}” of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc
dd if=”${1}” of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc
</syntaxhighlight>
</syntaxhighlight>

Версия от 20:05, 23 мая 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Черновик


Плата Xadow M0[1]

Плата Xadow M0 – это микроконтроллерная плата в форм-факторе Xadow и с поддержкой mbed. Платы Xadow – это серия электронных модулей, оснащенных датчиками, дисплеями и т.д. Их можно подключать друг к другу, создавая более функциональные проекты.

Купить плату Xadow M0 можно по этой ссылке.

Особенности

  • Поддержка mbed
    • Онлайн-инструменты для разработки проектов
    • Простой в использовании SDK на C/C++
    • Большое количество опубликованных проектов и библиотек
    • Запись прошивки прямо в проводнике ОС методом «drag-n-drop»
  • Форм-фактор Xadow
    • Компактность и универсальность
    • Возможность подключения к другим платам Xadow
  • Микроконтроллер NXP LPC11U35 (с ядром ARM Cortex-M0 и низким энергопотреблением)
    • Тактовая частота – 48 МГц
    • Flash-память – 64 Кб
    • Память RAM – 10 Кб
    • Память EEPROM – 4 Кб
  • Возможность работать в режиме периферийного USB-устройства
  • Интерфейсы – два SPI, один UART, один I2C
  • Встроенный акселерометр ADXL345

Характеристики

  • Рабочее напряжение – 3.3 вольта
  • Сила тока (постоянный ток) на одном I/O контакте – 20 мА
  • Цифровые I/O контакты – 16 шт.
  • Входные аналоговые каналы – 2 шт.
  • Рабочая температура – между -20˚C и +70˚C
  • Размеры – 25.43 мм х 20.35 мм

Распиновка

С чего начать

1. Кликните по этой ссылке, чтобы залогиниться или зарегистрироваться в mbed. Затем импортируйте в онлайн-компилятор mbed программу «xadow_m0_blinky».

2. Зайдя в онлайн-IDE mbed, нажмите на кнопку Compile (или на горячие клавиши  Ctrl + D ), чтобы скомпилировать код и загрузить бинарный файл.

3. Подключите плату к ПК и сделайте долгое нажатие на кнопку. В проводнике операционной системы должен появиться новый USB-диск под названием «CRP DISABLD».

4. Удалите с этого диска BIN-файл (бинарный файл) со старой прошивкой, а затем скопируйте на него BIN-файл, скомпилированный во 2 шаге.

5. Выполните быстрое нажатие на кнопку. Это запустит программу, и светодиод на плате начнет мигать. Вы можете изменить код, открыв и отредактировав «main.cpp». К примеру, код ниже заставит светодиод мигать каждые 0.1 секунды.

#include "mbed.h"

DigitalOut blue(P0_20);

int main() {
    while(1) {
        blue = 1;     // включаем светодиод
        wait(0.1);    // ждем 0.1 секунды
        blue = 0;     // выключаем светодиод
        wait(0.1);    // ждем 0.1 секунды
    }
}

Многофункциональность кнопки на плате

По умолчанию кнопка на плате Xadow M0 имеет две функции: если сделать быстрое нажатие на кнопку, это выполнит сброс платы, а если долгое – запустит режим USB ISP. Но мы можем добавить и другие функции! К примеру, программа «multifunction_for_reset_button» оснастит кнопку следующими функциями:

  • Одно нажатие – включить первый светодиод
  • Двойное нажатие – включить второй светодиод
  • Долгое нажатие – выполнить сброс
  • Нажатие и включение питания – переключить в ISP-режим

Запись прошивки (Windows, Linux и Mac)

Плата Xadow M0 не имеет интерфейса mbed, поэтому запись и обновление прошивки выполняется с помощью режима USB ISP. Чтобы войти в него, подключите Xadow M0 к ПК и выполните долгое нажатие на кнопку. В результате в проводнике ОС должен появиться диск «CRP DISABLD».

Действия для Windows

Удалите старый BIN-файл, находящийся на диске «CRP DISABLD», а затем скопируйте на него новую прошивку.

Действия для Linux

Если диск не примонтировался, то примонтируйте его на {mnt_dir} с помощью следующей команды:

dd if={new_firmware.bin} of={mnt_dir}/firmware.bin conv=notrunc

Действия для Mac

Для того, чтобы скопировать BIN-файл на Xadow M0, воспользуйтесь программой Terminal и запустите в ней следующий скрипт:

dd if={new_firmare.bin} of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc

По желанию можно создать приложение Automator, с помощью которого прошивку на плату можно будет копировать методом «drag-n-drop». Для этого запустите в терминале вот такой скрипт:

dd if=$* of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc

Кроме того, вам нужно будет изменить значение в опции Pass Input, поменяв его с «to stdin» на «as arguments». Если этого не сделать, в логах будет появляться ошибка «The action ‘Run Shell Script’ encountered an error» или «dd: no value specified for if (1)».

Вот усовершенствованная версия этого скрипта:

dd if=${1} of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc

Он занимается пробелами в пути к файлу и использует только самый первый скопированный файл.

Полезные ссылки

См.также

Внешние ссылки