Comments 38
Ну вот только я соскочил с Ардуины на 32-х битные АРМы, так сразу же начинают снова на них заманивать печеньками)))
Спасибо за публикацию. Надеюсь mbed будет набирать обороты, так как многие уже выросли из 8-и битной мейнстримовой ардуины но к 32-х битным АРМам еще не приросли.
Спасибо за публикацию. Надеюсь mbed будет набирать обороты, так как многие уже выросли из 8-и битной мейнстримовой ардуины но к 32-х битным АРМам еще не приросли.
Хотя наверно печеньки эти надо попробовать.
Вот только один вопрос у меня — вот Вы сказали, что можно брать для реализации подключения любую плату. Но у них ведь разные процы стоят. Например на Вашей Cortex M4 стоит. На NUCLEO-F030R8 Cortex M0. Это достаточно разные процы. И код без изменений будет работать на обоих? Когда я на я Keil-е писал код для подключения дисплея — программу приходилось переделывать. Переписывать драйвер подключения и т.д.
Вот только один вопрос у меня — вот Вы сказали, что можно брать для реализации подключения любую плату. Но у них ведь разные процы стоят. Например на Вашей Cortex M4 стоит. На NUCLEO-F030R8 Cortex M0. Это достаточно разные процы. И код без изменений будет работать на обоих? Когда я на я Keil-е писал код для подключения дисплея — программу приходилось переделывать. Переписывать драйвер подключения и т.д.
По идее они так и задумывали, один код работает на разных платформах (оф. поддерживаемых), библиотека mbed содержит все необходимые порты для каждой платы. То есть мой код заработает на любой из этих плат (только естественно нужно будет подправить кусок кода отвечающий за названия пинов и правильно соеденить с lcd).
На мой взгляд mbed это такой ардуино для взрослых. STM даже линейку Nucleo сделало с разъёмом как на ардуино, плюс к этому поддержка в коде названий пинов типа A0, D13. Да и вообще, сделали функции типа AnalogIn\Out. И это всё тот же синтаксис С++, перейти с ардуино будет легко! )
Вот и хорошо бы тему эту развивать, распространять, писать статьи для новичков и не только!
На мой взгляд mbed это такой ардуино для взрослых. STM даже линейку Nucleo сделало с разъёмом как на ардуино, плюс к этому поддержка в коде названий пинов типа A0, D13. Да и вообще, сделали функции типа AnalogIn\Out. И это всё тот же синтаксис С++, перейти с ардуино будет легко! )
Вот и хорошо бы тему эту развивать, распространять, писать статьи для новичков и не только!
Ну так и давайте! Я на самом деле хоть на ардуину и ворчу но все равно переодически то там то здесь использую ее.
Тема это очень интересная.
Осталось только определится с тем какую Нуклео купить. Склоняюсь пока к L0, так как судя по некоторым описаниям это «убийца» MSP430 — в плане энергопотребления. А две обычных отладки F4 и F429(с дисплеем) уже есть.
Тема это очень интересная.
Осталось только определится с тем какую Нуклео купить. Склоняюсь пока к L0, так как судя по некоторым описаниям это «убийца» MSP430 — в плане энергопотребления. А две обычных отладки F4 и F429(с дисплеем) уже есть.
Один только минус для меня — Иногда хочется свое устройство на ардуино самому спроектировать, сделать или заказать плату и т.д. В итоге максимум компактности и аутентичности. Паяется все легко и просто. А вот STM-овские процы впаивать и платы под них делать все таки посложней. Поэтому что то попроще начинаешь или на ардуине делать или на MSP430. Но это опять же наверно ворчание)))
Тут исходя из целей зависит. Если что-то не требующее компактности и быстро, использую да хоть ту же atmega8, всё-таки dip корпус и выводные компоненты намного проще паять, да и платы в домашних условиях делать легко, да и код быстренько в Arduino написать, порой устраивает. Но есть моменты когда производительности уже не хватает, например при работе с таким дисплеем. Обновление экрана занимает целую вечность, а ведь нужно ещё помимо вывода на экран что-либо обрабатывать. Вот тут уже на помощь приходит stm32. По сути отладочные платы для того и нужны, чтобы на них используя выбранный МК или компонент какой, что-либо спроектировать, обкатать, попробовать. А дальше рисуем схему, создаём печатную плату, отправляем заказ в Китай, получаем компактную платку. Согласен, паять smd посложнее, в смысле сноровка нужна, но получается намного быстрее! Раскидал на плату smd, прошелся феном, поставил чип и быстренько его микроволной. Отмыл и готово! С выводными же тоже возня, тут согни, тут отрежь, каждый вывод припаяй.
Да не, я DIP и выводные вообще не использую больше — места они всегда больше занимают и на плате и в шкафах коробки с этим барахлом.
Купил семпл буки резисторов и керамики и всегда их использую и меги только в TQFP. Причем перешел на 0603 — все очень быстро и хорошо. Платы под них фоторезистом делаются быстрее чем ЛУТом даже. Но вот паять TQFP100 и более как то пока не очень. Сделал тут месяц назад плату под TQFP64 и впаял ее, пришлось все таки попотеть немного))
Для мелких и средних проектов — много возни.
А ведь прежде чем делать готовое устройство все равно нужно несколько прототипов сделать — а заказывать каждый прототип в Китае не выгодно. Нужна то одна плата, а платишь как за 10 да еще и жди их 3-4 недели. А Отладки — это очень здорово! Я под STM-овские даже уже свои шилды проектирую — просто кайф — одел, вот тебе GPRS модем, а рядом можно пристегнуть GPS.
Купил семпл буки резисторов и керамики и всегда их использую и меги только в TQFP. Причем перешел на 0603 — все очень быстро и хорошо. Платы под них фоторезистом делаются быстрее чем ЛУТом даже. Но вот паять TQFP100 и более как то пока не очень. Сделал тут месяц назад плату под TQFP64 и впаял ее, пришлось все таки попотеть немного))
Для мелких и средних проектов — много возни.
А ведь прежде чем делать готовое устройство все равно нужно несколько прототипов сделать — а заказывать каждый прототип в Китае не выгодно. Нужна то одна плата, а платишь как за 10 да еще и жди их 3-4 недели. А Отладки — это очень здорово! Я под STM-овские даже уже свои шилды проектирую — просто кайф — одел, вот тебе GPRS модем, а рядом можно пристегнуть GPS.
я так подключал недавно к этой же плате TFT дисплей с параллельным портом.
Единственное что мне не понравилось это дребезг резистивной тач-панели(хотя может быть я что-то не так считывал).
Пришлось делать выборку и \з большого количества данных и использовать медианный фильтр на основе QuickSelect.
Единственное что мне не понравилось это дребезг резистивной тач-панели(хотя может быть я что-то не так считывал).
Пришлось делать выборку и \з большого количества данных и использовать медианный фильтр на основе QuickSelect.
Я использовал VCC — +5v (на плате дисплея стоит стабилизатор на 3.3 вольта, если его замкнуть предусмотренной перемычкой, то можно использовать питание 3.3 вольта).
Логика дисплея работает от 3.3 вольт, как и наш микроконтроллер, поэтому использовать конвертер логических уровней, как в случае с arduino uno, нам не потребуется.
Где же вы были год назад. Я так надолбался с этими китайскими экранчиками, пытаясь понять почему ничего не работает :-) Всему виной конечно невнимательность, я далеко не сразу понял что в поставке «по умолчанию на ebay» их таки надо от +5V запитывать при логике 3.3V.
Какой ужас! Это что — эпидемия ардуйни?
От Arduino здесь лишь Arduino-compatible Headers.
А жутчайшие библиотеки?
Ē-моē, там еще и C++! Вы б еще пхытон запихали на микроконтроллер! Жуть!!!
Ē-моē, там еще и C++! Вы б еще пхытон запихали на микроконтроллер! Жуть!!!
«А мужики то и не знали». Нет серьезно, вы знаете сколько С++ работает на эмбеддедах в продакшене?
Я знаю, что извращенцев везде полно. Вон, некоторые даже жабку пытаются в МК запихать. И им пофиг, что вместо одного килобайта их код десятки килобайт занимает!
Ардуйня — такая ардуйня…
Ардуйня — такая ардуйня…
Если кому интересно серьезнее штуки с Nucleo, то есть ОС реального времени Nuttx (http://nuttx.org) и в ней уже есть готовые порты для Nucleo 401 и 411, с 411 пока не так все хорошо с частотами, но я постараюсь доделать этот порт.
PS
Nuttx это именно та ОС, на которой работает известный в узких кругах автопилот pixhawk, apm.
PS
Nuttx это именно та ОС, на которой работает известный в узких кругах автопилот pixhawk, apm.
Кстати у mbed есть RTOS (Real-time Operating System)
А у вас случайно нет примера для работы с SD картой этого дисплея в mbed?
По запросу «SD Card» довольно много примеров на самом mbed.
Вот например — developer.mbed.org/components/22-QVGA-display-with-SD-card-socket/ — такой дисплей?
Import Program и вперед, из комментариев к коду вроде все понятно
Вот например — developer.mbed.org/components/22-QVGA-display-with-SD-card-socket/ — такой дисплей?
Import Program и вперед, из комментариев к коду вроде все понятно
#include "SDFileSystem.h"
// connect a sd-card to the second spi or use the local filesystem of the LPC
SDFileSystem sd(p11, p12, p13, p14, "sd"); // mosi,miso,sck,cs
TFT.cls();
TFT.locate(10,110);
TFT.printf("Graphic from external SD-card");
int err = TFT.BMP_16(1,140,"/sd/test.bmp"); // load test.bmp from external SD-card
TFT.locate(10,120);
if (err != 1) TFT.printf(" - Err: %d",err);
В самом конце...
То самое чувство когда знаешь что старался не зря =) Респект Автору =)
Спасибо! Подключил экран от Nokia 5110 к mbed F401. До этого бился с morpho-pins, почему то не получалось ни в каких вариантах.
Проверил на ардуино нано — экран работает.
Появились следующие вопросы:
— почему на pinout диаграмме два SPI1? Это опечатка у mbed?
— можно ли к D5/D4/D3 подключить еще SPI устройство? А на уже подключенный к D13/D12/D11 выводить статус и прочее?
Проверил на ардуино нано — экран работает.
Появились следующие вопросы:
— почему на pinout диаграмме два SPI1? Это опечатка у mbed?
— можно ли к D5/D4/D3 подключить еще SPI устройство? А на уже подключенный к D13/D12/D11 выводить статус и прочее?
Sign up to leave a comment.
STM32 Nucleo. Подключаем TFT LCD на базе чипа ILI9341