реклама на сайте
подробности

 
 
> Хочу писать в 16 линеек WS2812B на макс. скорости., Хочу весь буфер без участия процессора с минимумом накладных.
-=TRO=-
сообщение Dec 13 2017, 17:25
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 24-10-07
Из: zp.ua
Пользователь №: 31 690



Сразу предупреждаю, в STM32 я полный новичек, пока знакомлюсь.
Все чего пока добился, это моргать в кейле светодиодом на двухдолларовой плате с stm32f103c8t6.
До этого частенько писал для авр на бейсике и ассемблере, так что освоение stm32 вопрос времени.

Вопрос мой будет не столько про код, а про возможность выполнения нужного мне алгоритма переферией автономно.
Не буду скрывать, хочу без участия процессора выдавать поток данных сразу в 16 длинных линеек светодиодов WS2812B.
Для выдачи одного бита нужно на отдельном выводе сначала ~ на треть периода выставить 1, потом на треть данные, и на треть 0.
В принципе при помощи DMA данная задача реализуема, но вот этот ноль в начале и еденица в конце утроят размер буфера (и добавят неудобства работы с ним).

Поэтому возник вопрос, а можно ли как то внутренними или наружными выходами таймеров переводить (или заполнить) весь 16 битный порт GPIO в высокий и низкий уровни?
Вероятно можно было бы задействовать второй DMA для цикличной выдачи двух констант (с нулями и еденицами) в тот же порт, но думаю целый ДМА для этого жирновато.
Возможно не зная завязок и возможностей переферии я узковато мыслю, и есть более красивые решения, был бы рад услышать.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- -=TRO=-   Хочу писать в 16 линеек WS2812B на макс. скорости.   Dec 13 2017, 17:25
- - DeNi   Да и с 3 каналами DMA нормальное решение от одного...   Dec 13 2017, 17:54
|- - -=TRO=-   Цитата(DeNi @ Dec 13 2017, 21:54) Да и с ...   Dec 13 2017, 19:32
|- - Огурцов   Цитата(-=TRO=- @ Dec 13 2017, 20...   Dec 14 2017, 01:50
- - jcxz   Цитата(-=TRO=- @ Dec 13 2017, 19...   Dec 13 2017, 18:05
|- - DeNi   Цитата(jcxz @ Dec 13 2017, 21:05) Можно в...   Dec 13 2017, 18:32
|- - jcxz   Цитата(DeNi @ Dec 13 2017, 20:32) И чем в...   Dec 13 2017, 19:38
|- - -=TRO=-   Цитата(jcxz @ Dec 13 2017, 23:38) Не знаю...   Dec 13 2017, 19:47
|- - jcxz   Цитата(-=TRO=- @ Dec 13 2017, 21...   Dec 13 2017, 20:08
|- - AlexandrY   Цитата(-=TRO=- @ Dec 13 2017, 21...   Dec 13 2017, 21:07
- - Огурцов   Цитата(-=TRO=- @ Dec 13 2017, 18...   Dec 13 2017, 19:15
- - Plain   А откуда задохлик STM32 будет брать такие объёмы в...   Dec 13 2017, 19:55
- - -=TRO=-   Plain, по началу с компа, потом с карточки. К том...   Dec 13 2017, 20:03
- - Plain   Отсюда и решение — все данные форматировать на сил...   Dec 13 2017, 20:07
|- - -=TRO=-   Цитата(Plain @ Dec 14 2017, 00:07) Отсюда...   Dec 13 2017, 20:41
|- - jcxz   Цитата(-=TRO=- @ Dec 13 2017, 22...   Dec 13 2017, 20:44
- - DeNi   Здесь можно почитать подробней про DMA в STM32 - A...   Dec 13 2017, 20:10
|- - jcxz   Цитата(DeNi @ Dec 13 2017, 22:10) По прио...   Dec 13 2017, 20:12
- - -=TRO=-   jcxz, в принципе я был готов, что под задачу понад...   Dec 13 2017, 21:09
|- - DeNi   Цитата(-=TRO=- @ Dec 14 2017, 00...   Dec 13 2017, 21:32
|- - jcxz   Цитата(DeNi @ Dec 13 2017, 23:32) Если хо...   Dec 13 2017, 21:46
- - x893   А можно использовать APA102 и забыть про геморрой....   Dec 13 2017, 21:50
- - -=TRO=-   x893, а я темнота и не знал что и такие бывают... ...   Dec 13 2017, 22:43
- - x893   я на 3 канала spi цеплял через dma на 1 MHz   Dec 13 2017, 23:58
- - -=TRO=-   Огурцов, вы знаете, а вам таки удалось меня пнуть ...   Dec 16 2017, 02:52


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 20:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016