|
02.01.2015, 06:20 | #1 |
Member
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0 |
Re: Maple Mini
он уже подключен, не парься..
Ну всмысле, maple IDE цепляем libmaple.h, в Arduino IDE всегда подключаем Arduino.H Последний раз редактировалось HiddenPilot; 02.01.2015 в 06:45. |
07.01.2015, 16:10 | #2 |
Junior Member
Регистрация: 31.03.2014
Сообщений: 19
Вес репутации: 0 |
Re: Maple Mini
С Рождеством Христовым!!!
Тут у меня закрался вопрос, по даташиту должен быть подключен часовой кварц, а на моей плате его нет Может в этом все проблемы? |
07.01.2015, 17:01 | #3 |
Member
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0 |
Re: Maple Mini
может быть и поэтому... но на миньке его никогда и не было...
ТОлько как связано отсутвие кварца и ошибка связанная с тем что libmaple.h не существует |
07.01.2015, 17:03 | #4 |
Member
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0 |
Re: Maple Mini
так... внимательно посмотрел, думаю надо просто создать этот хэдер и в нем заинклудить arduino.h . ща попробую
|
07.01.2015, 17:23 | #5 |
Member
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0 |
Re: Maple Mini
не мучайся пока с часам. Библиотеку нужно немного подпиливать, точнее цепочку инклудов проверят.
Но, я так понимаю, еще понадобится цеплять батарейку. И не факт, что они нормально будут ходить без правильного кварца. Последний раз редактировалось HiddenPilot; 07.01.2015 в 17:29. |
08.01.2015, 19:08 | #6 |
Member
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0 |
Re: Maple Mini
Допилил UTFT с использованием HW_SPI. Дало 2х кратное ускорение
ДЛя начала, вот так работает ARDUINO NANO c этой бибилиотекой: MAPLE Софтовый SPI: MAPLE Хардварный SPI SW_SPI Код:
Benchmark Time (microseconds) Screen fill 4493905 Lines 1706640 Horiz/Vert Lines 316944 Rectangles (outline) 208199 Rectangles (filled) 8405974 Circles (filled) 1118416 Circles (outline) 879150 Rounded rects (outline) 217394 Rounded rects (filled) 8381421 Код:
Benchmark Time (microseconds) Screen fill 2206601 Lines 865659 Horiz/Vert Lines 157470 Rectangles (outline) 103616 Rectangles (filled) 3909310 Circles (filled) 563798 Circles (outline) 444891 Rounded rects (outline) 108461 Rounded rects (filled) 4164973 Последний раз редактировалось HiddenPilot; 08.01.2015 в 19:25. |
08.01.2015, 21:06 | #7 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821 |
Re: Maple Mini
Разница с ардуино ощутимая
|
08.01.2015, 21:51 | #8 |
Member
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0 |
Re: Maple Mini
Ага, тупит немного НАНо.
Ну предположим, что работа с экраном через последовательный интерфейс не самый лучший вариант для NANO. Вот если бы параллельный, да еще на 16 бит. Пожалуйста, параллельный 16bit интерфейс на меге: Как мне кажется, даже паралельный интерфейс и 20 проводов не смогли изменить ситуацию. ARM малышка на 4х проводах в SoftSPI режиме спокойно обходит мегу, особенно заметно на анимации и на заливке/очистке экрана.... А HW_SPI безоговорочно оставляет позади 16-bitного параллельного монстра на МЕГЕ. Что же будет, если грамотно задействовать ДМА ? И самое удобное, что не надо согласовывать уровни. Все устройства потихонечку переходят на 3.3V. Последний раз редактировалось HiddenPilot; 08.01.2015 в 22:08. |
19.01.2015, 10:12 | #9 |
Senior Member
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0 |
Re: Maple Mini
Хочу сделать тахометр с дисплеем (на мото), и при превышении оборотов должен идти сигнал на реле, которая будет размыкать искру, так сказать отсечка.
Так понимаю на Maple Mini оно по шустрее будет работать, чем на atmega328p? |
19.01.2015, 18:08 | #10 | |
Member
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0 |
Re: Maple Mini
Цитата:
Подобным образом можно определять значение шима, практически не нагружая проц. Если пойти дальше, то к таймеру, можно прикрутить DMA. Тогда модуль ДМА сам(без участия процессора), по событию будет инкриментированно складывать значения таймера прямо в память(как в массив, т.е. каждое значение в следующую ячейку массива). Таким образом мы еще больше высвобождаем ресурсы процессора. Так же ДМА можно запустить по циклу размером к примеру 16. Тогда в массиве у вас всегда будет лежать последние 16 значений периодов тактов. Тогда простым усреднением всех значений массива, мы можем получать усредненное значение оборотов(периода м/у тактами). подобным образом можно считывать инкриментный энкодер или датчик холла. Не нагружая процессор. Вот пример на вскидку практически под ваши потребности http://robocraft.ru/blog/ARM/739.html Единственное, данный пример использует SPL бибилиотеку. А она мне не нравится(много ошибок, и генерить много байтов в прошике). Нужно переписать инициализацию на CMSIS cинтаксис. По сути прямая инициализация через регистры. Вообще, с STM32 потихоньку начинаешь отвыкать от праграммирвоания в режиме простого ногодрыга, на максимальное использование всех встроенных модулей микроконтроллера. Таймеры у STM32 простоуникум, можно запрограммировать таймер на режим полумостового PUSH-PULL c заданным Dead-Time чтобы исключить сквозного пробоя ключей. Cамая моя любимая реализация максимального задействования всех прелестей ARM, это Индикация сегментнтного дисплея с использованием только таймеров и ДМА. http://kazus.ru/forums/showpost.php?...95&postcount=8 Но высший пилотаж это подключение HD44780 с использованием 2х каскадированных таймеров и одного канала ДМА! Процессор занят только тем что заполняет массив информацией которая должна попасть на экран. Все остальное делает железо, не нагружая сам процессор. http://kazus.ru/forums/showthread.ph...545#post713545 в них кстати используется CMSIS cинтаксис при инициализации. Тут небольшое обсуждение http://www.microchip.su/showthread.php?t=16822 Последний раз редактировалось HiddenPilot; 19.01.2015 в 19:11. |
|
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3) | |
|
|