Электронный компонент:Плата Xadow M0
Черновик |
Плата Xadow M0[1]
Плата Xadow M0 – это микроконтроллерная плата в форм-факторе Xadow и с поддержкой mbed. Платы Xadow – это серия электронных модулей, оснащенных датчиками, дисплеями и т.д. Их можно подключать друг к другу, создавая более функциональные проекты.
Купить плату Xadow M0 можно по этой ссылке.
Особенности
- Поддержка mbed
- Форм-фактор 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
Он занимается пробелами в пути к файлу и использует только самый первый скопированный файл.