Скетч MiniPirate будучи загруженным в Arduino позволяет осуществлять быстрое прототипирование проектов без необходимости компиляции. Чтение аналоговых величин, управление портами, манипуляции с регистрами I2C – всё это занимает считанные секунды, а не минуты. По сути, получаем этакую мини операционную систему для Arduino.

На примере некоторых базовых операций и работы с таймером реального времени DS1207 рассмотрим принцип действия такого скетча.
Шаг 1: соединение платы с DS1207
Соединить Arduino и плату с DS1207 очень просто. Ее нужно подсоединить к выводам A2-A5, оставив вывод DS болтаться в воздухе. Но пока не будем торопиться с подключением, а сначала настроим выводы.

Питание на плату будет подаваться по линиям A2/A3.
Скачайте с гитхаба и распакуйте программу.
Переименуйте папку в «MiniPirate».
Скомпилируйте и загрузите скетч в Arduino.
Откройте монитор последовательной передачи данных в Arduino IDE (Tools - Serial Monitor).
После открытия монитора появится помощь и подсказки.

Теперь мы выполним первую команду. Напечатайте «p» и нажмите «enter». Это покажет текущую конфигурацию всех портов.

Чтобы соединить A2 с землей, а A3 с питанием, выполните «\a2/a3», нажмите «enter» и проконтролируйте результат с помощью «p».

Поскольку мы не хотим повторять такой шаг снова и снова, мы сохраним его с помощью «x».

Теперь мы можем подключить модуль с DS1207 так, как описано выше.
Шаг 2: I2C – сканирование, чтение, запись
После подключения DS1207 начнем с ним работу по интерфейсу I2C.
Введите «i», чтобы проверить соединение с устройством. При этом будут показаны адреса всех устройств на шине. В данном случае у нас имеется EEPROM с адресом 0x50 и часы реального времени DS1307 с адресом 0x68. Для последующей работы автоматически выбирается последний адрес.

Введите «w0», чтобы установить указатель доступа к регистрам DS1307 в ноль в соответствии с документацией.
Введите «r10», чтобы прочитать первые 10 регистров.
Для ускорения процесса можно просто написать «iw0r10», и все команды будут выполнены.

Также можно работать и с EEPROM.
Введите «i» для повторного сканирования шины.
Введите «0», чтобы переключиться на EEPROM.
Введите «r20», чтобы прочитать первые 20 байт.
Введите «w 0 0 0xff 0xee 0xab 0x12», чтобы записать некоторые значения.
Введите «w 0 0 r 20», чтобы проверить эти значения.
Для ускорения процесса можно просто написать «i0w00r20w0 0 0xff 0xee 0xee 0xab 0x12w0 0r20», и все команды будут выполнены.

Шаг 3: записываем дату и время в DS1307 по I2C
Теперь попробуем запрограммировать часы реального времени. Запишем время 13:45:56 и дату 30.12.2014 в соответствии с документацией.

1: 0x56
2: 0x45
3: 0x13
4: 30
5: 0x12
6: 0x14
Содержимое командной строки: «w 0 0x56 0x45 0x13 30 0x12 0x14».
Как видите, всё просто!
Перевод © digitrode.ru