![]() |
![]() |
#81 | |
Member
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0 ![]() |
![]() Цитата:
Подобным образом можно определять значение шима, практически не нагружая проц. Если пойти дальше, то к таймеру, можно прикрутить 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. |
|
![]() |
![]() |
![]() |
#82 |
Member
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0 ![]() |
![]()
судя по этому сайту, в ближайшем обозримом будущем нас ждет засилие копеечных китаеклонов STM32
http://www.gigadevice.com/product-category/11.html Есть даже варианты в корпусе TSSOP20 с кучей железа на борту, в том числе и DAC А так же 3Мб флэша в корпусе LQFP64 ADD: А я то думаю, почему в последнее время появилось так много недорогих плат на базе STM32F103C8T6 , а оно оказывается оно чЁ: http://www.aliexpress.com/item/GD32F...045341751.html Маркировку стереть, так от "папы" и не отличить ![]() Последний раз редактировалось HiddenPilot; 19.01.2015 в 21:11. |
![]() |
![]() |
![]() |
#83 |
Member
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0 ![]() |
![]()
И еще к слову о переходе от ногодрыга к максимальному использованию потенциала железа
вот тут подключили мой экранчик к SPI с использованием ДМА(правда на Due SPI может работать на 84мгц, против 18 у STM32) для контраста все та же Арду |
![]() |
![]() |
![]() |
#84 | |
Senior Member
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#85 |
Junior Member
Регистрация: 31.03.2014
Сообщений: 19
Вес репутации: 0 ![]() |
![]()
Нашел может и не ошибку, но нигде не описано.
Под MapleIDE analogWrite() - 16 битный, а на ArduinoIDE analogWrite() - 8 битный. А вот pwmWrite(), работает нормально. Под MapleIDE pwmWrite() - 16 битный и на ArduinoIDE pwmWrite() - 16 битный. Последний раз редактировалось Mastar; 20.01.2015 в 21:18. |
![]() |
![]() |
![]() |
#86 | |
Senior Member
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Кто объяснит что это всё означает, и что нужно выбрать для мапл мини 3?
![]() Цитата:
Последний раз редактировалось Sirocco; 28.02.2015 в 10:36. |
|
![]() |
![]() |
![]() |
#87 | ||
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#88 |
Senior Member
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
А как узнать ревизию? Я тут покупал: http://www.ebay.com/itm/141404280807...%3AMEBIDX%3AIT
Если выбираю Rev3 to RAM - работает. Если выбираю Rev 3 to Flash - не работает скеч, хотя успешно грузится. Если выбираю любой вариант Rev 2 - работает. |
![]() |
![]() |
![]() |
#89 |
Senior Member
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
А где искать ваши труды? И куда их нужно положить, чтоб оно работало?
|
![]() |
![]() |
![]() |
#90 |
Junior Member
Регистрация: 23.12.2014
Сообщений: 1
Вес репутации: 0 ![]() |
![]()
IDE Arduino конечно весело и просто, а главное работает в 80% случаях. И ногодрыг рабтает и PWM. Но кто-нибудь пробовал прикрутить MAPLE MINI (stm32f103cbt6) к COOCOX 1.7 с закачкой через dfu-util.exe? У кого есть положительные наработки?
Последний раз редактировалось fieldman; 10.03.2015 в 11:55. |
![]() |
![]() |
![]() |
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3) | |
|
|