Убрал Arduino Nano, заменил его на Arduino Maple mini на ARM Cortex-M3 STM32F103.
Причины замены:
- невозможность параллельного исполнения кода. Посылки идут в зависимости от получения корректных данных с GPS.
- 1 UART, который подключен к преобразователю USB-UART. На софтверном UARTе GPS временами гонит фигню.
- стоит отдельная микросхема преобразователя USB-UART.
Плюса замены:
- цена как у нано
- возможность использования OS
- 12 PWM каналов
- 2 SPI
- 2 I2C
- 3 USART
- RTC
- 72МГц против 16.
- 17 КБ доступной оперативки
- 128КБ флеша (32 битные команды жрут нехило флеша)
Недостатки:
- нет EEPROM
В результате поставил операционку CoCox. Разделил задачи на дрыгание светодиода, получение координат с GPS, получение температуры салона, передача данных на кубик, управление шимом, получение команд от кубика.
Хочу перекинуть задачу работы с дисплеем на армуину, кубик убивает 40% производительности на вывод данных в дисплей 1602. STM спокойно возьмет эту задачу на себя.
|