Плата оснащена Microchip SAMD21 Arm Cortex-M0+. Все основные компоненты размещены под металлической пластиной. Эта плата совместима с Arduino Zero, программировать можно при помощи Arduino IDE или Arduino Create.
Технические характеристики Seeeduino XIAO:
Микроконтроллер: Microchip SAMD21G18 ARM Cortex-M0+ с тактовой частотой 48 МГц с 256 Кб флэш-памяти, 32 Кб SRAM
USB – 1x порт USB type C для питания и программирования
Расширение ввода / вывода
Два 7-контактных разъема с 11x аналоговыми входами, 11x цифровыми входами и выходами, 1x DAC, SPI, UART и I2C
Напряжение ввода / вывода 3,3 В (не толерантный к напряжению 5 В)
Разное – 1x пользовательский светодиод, светодиод питания, 2x светодиода для последовательного порта, контакты сброса, контакты SWD, кварцевый генератор 32.768 кГц
Питание – 5 В через порт USB-C, контакты питания (VIN / GND) для батарейки
Размеры – 23.5×17.5×3.5 мм
Seeeduino XIAO samd21 полностью совместим с Arduino IDE .
Чтобы запрограммировать Seeeduino XIAO с помощью Arduino IDE , вам необходимо установить плату Seeeduino XIAO samd21 в среду Arduino IDE .
Давайте это сделаем.
Откройте Arduino IDE .
Нажмите на меню «Файл», а затем нажмите на настройки.
Откроется окно Настройки
Скопируйте URL-ссылку, указанную ниже.
https://files.seeedstudio.com/arduino/package_seeduino_boards_index.json
(вставить можно комбинацией двух клавиш Ctrl+V, предварительно скопировав текст).
в окно: Дополнительные ссылки для Менеджера плат.
Вы можете напрямую вставить этот URL-адрес или, если вы уже добавили несколько URL-адресов, все, что вам нужно, это просто поставить запятую, а затем вставить URL-адрес. Наконец, нажмите кнопку «ОК»
Нажмите на меню «Инструменты», перейдите к платам, а затем нажмите на менеджер плат.
Наберите в поисковой строке слово: Seeeduino
и установите из выбранных плат, последнюю версию.
Нажмите: Установка.
Это может занять несколько минут в зависимости от скорости вашего интернет-соединения.
Откроем Инструменты- Платы, выберем Seeed SAM0 (32-bits ARM Cortex+ and Cortex-M4) Boards, выбрать плату Seeeduino XIAO.
Выбранный контроллер должен появится в разделе плат.
Как видите, плата XIAO доступна. Теперь все готово. С левой стороны вы можете видеть, что порт отключен, так как Seeeduino все еще не подключен к компьютеру. Поскольку мы закончили установку платы и теперь можем приступить к программированию, давайте продолжим и подключим плату Seeeduino к компьютеу
Подключаем контроллер и выбираем определившийся порт. Теперь мы готовы работать с этим контроллером.
Описание контроллера Seeeduino XIAO SAMD21 в программе FLProg
Чтобы описать новый контроллер, необходимо собрать информацию о контроллере и о назначении пинов этого контроллера.
Открываем программу FLProg. В меню «Инструменты» выбираем пункт «Редактор пользовательских описаний контроллеров».
Открывается окно редактора описаний.
Пользовательские описания можно объединять в библиотеке с любой глубиной вложенности. Поэтому сначала создадим библиотеку описаний.
Зададим имя библиотеки. По сути мы создаем папку.
После чего создадим в библиотеке описание контроллера.
В имени контроллера пишем Seeeduino XIAO SAMD21 Cortex M0.
Сохраняем. И у нас в папке появляется вновь создаваемый контроллер
При создании описания контроллера мы открываем ветку настоек параметров.
Выберем ветку общих параметров.
Здесь мы можем изменить имя, задать тип центрального процессора, задать размер EEPROM, изменить номер версии описания.
В настройках
Центральный процессор выберем: Другой
Размер EEPROM: 0
Номер версии: 1
В описание добавим:
Seeeduino XIAO является самой маленькой Arduino-совместимой платой из семейства Seeeduino компании SeeedStudio. Ее размер всего 23,5 × 17,5 мм.
Плата оснащена микроконтроллером Microchip SAMD21 Arm Cortex-M0+, а также она имеет различные цифровые и аналоговые входы / выходы.
Микроконтроллер: Microchip SAMD21G18 ARM Cortex-M0+ с тактовой частотой 48 МГц с 256 Кб флэш-памяти, 32 Кб SRAM
USB – 1x порт USB type C для питания и программирования
Расширение ввода / вывода
Два 7-контактных разъема с 11x аналоговыми входами, 11x цифровыми входами и выходами, 1x DAC, SPI, UART и I2C
Напряжение ввода / вывода 3,3 В (не толерантный к напряжению 5 В)
Разное – 1x пользовательский светодиод, светодиод питания, 2x светодиода для последовательного порта, контакты сброса, контакты SWD, кварцевый генератор 32.768 кГц
Питание – 5 В через порт USB-C, контакты питания (VIN / GND) для батарейки
Размеры – 23.5×17.5×3.5 мм
Нажимаем: Применить.
Идем в настройки Выводы контроллера.
Назначаем 11 выводов.
Нажимаем Применить.
Программа сформирует необходимое количество выводов.
В ветке Выводы контроллера появляется возможность настроить каждый вывод.
Переходим на первый из них.
На этой ветке, можно прописать альтернативное имя вывода, которое будет выводится в программе.
В случае его отсутствия, в программе будет выводится надпись PinN где N номер вывода в списке выводов. Я рекомендую записывать в поле альтернативного имени надпись к нему на плате. Это облегчит понимание, к какому выводу производится обращение.
Для описываемой платы занесём туда значение А0 в соответствие с описанием к контроллеру. Так в этой ветке можно прописать индивидуальное описание вывода, например для указания особенностей его применения.
При необходимости, так же можно задать псевдоним вывода, который будет выводится в программе в скобках после названия вывода.
После внесения изменений не забываем нажать кнопку «Применить». По такому же принципу поименуем остальные выводы.
Зайдем в настройки Добавить функцию.
Выберем соответствующие функции присущие этому выводу. Отметив нужные «галочкой»
При назначении выводу новой функции (ещё не настроенной) в дереве контроллера появится ветка «Ошибки» и весь путь до ветки некорректной функции окрасится красным.
На ветке «Ошибки» можно посмотреть список ошибок найденных в описании контроллера.
Исправим ошибки. Номер Аналогового входа обозначим как: 0
Нажмём: Применить.
Тот же номер применим для Аналогового выхода (DAC)
В этой настройки Цифрового входа/выхода. Не выяснил, если подтяжка пинов, оставил без изменений.
Сохраним.
Настроим второй пин.
И настроить функции 2 пина.
Настройки 3 пина
И функции 3 пина
4 пин.
Функции 4 пина
5 пин.
Функции 5 пина
6 пин
Функции 6 пина
7 пин
Функции 7 пина
8 пин
Функции 8 пина
9 пин
Функции 9 пина
10 пин
Функции 10 пина.
Ну и последний 11 пин.
Функции 11 пина
Нужно добавить функцию SPI (SS) в пин А3
Возвращаемся к пину А3
Выбираем: Добавить функцию. Выбираем SPI
Выбираем SS и номер SPI: 0. Не забываем всегда сохранять данные.
Перейдем в раздел: Изображения
Выберем и загрузим изображение.
При необходимости загрузим несколько картинок.
В подразделе Стандартные блоки, выбираем всю библиотеку и нажимаем Применить.
На этой ветке показаны блоки, которые могут быть представлены в библиотеке стандартных блоков программы в соответствии с текущими настройками программы.
Что это значит. Часть стандартных блоков программы предназначены только для определённых видов ЦП.
И их наличие зависит от выбранного процессора. Так же блоки, рассчитанные на работу с SPI, I2C, UART появятся в этом списке, только если на выводах контроллера будут добавлены соответствующие функции.
Блоки, рассчитанные на работу с EEPROM, появятся, только если размер EEPROM заданный на ветке общих параметров контроллера будет больше нуля, или на выводах контроллера будет добавлена функция I2C.
По умолчанию, все блоки в библиотеке запрещены к использованию (отмечены оранжевым цветом).
Разрешить к использованию можно как отдельный блок, так и целиком папку блоков, выделив необходимую ветку и нажав кнопку «Разрешить», или из контекстного меню.
В папке, в которой разрешены к показу не все блоки, отмечаются тремя звездочками перед именем и после.
Все остальное пропускаем и сохраняем. И закрываем настройки.
В программе. Откроем: Файл- Новый- Новый проект для контроллера
Выбираем папку: Описание пользовательских контроллеров
В папке находится подпапка:Seeeduino xia, а в ней наш контроллер Seeeduino XIAO SAMD21 Cortex M0
При наведении на файл контроллера появятся все наши настройки
А при двойном щелчке мыши по файлу откроется стандартное окно выбора языка программирования.
Выбираем язык программирования, и программа готова работать с нашим контроллером.
При первой компиляции в FLProg при открытии Arduino IDE, необходимо указать в качестве платы Seeeduino XIAO и порт, на каком определилась эта плата.
В дальнейшей работе, эта плата будет определяться по умолчанию (если вы не закроете Arduino IDE или не измените на другой контроллер).