Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 08:03:31

Нет не ткнет , следить за выходом за границы массива вам самим.
Причем DMA может работать не только с RAM но и с флеш, здесь естественно только чтение.

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 08:10:07

Нет не ткнет , следить за выходом за границы массива вам самим.

Хорошо, а по какому параметру DMA определяет, что надо переходит на начало массива, если сам массив ему нужен только как начало? Ведь его не интересует размер массива!
Это параметр number of data? После него начинается новый цикл записи с начала буфера?

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 08:24:50

Отделите мух от котлет.

DMA ничего не знает о массивах, структурах и прочего это просто контроллер периферии .
И начните читать .

К примеру Circular mode

После полного завершения тансфера - счетчик транзакций равен нулю, контроллер DMA перезагружает значения из регистров управления в свои внутренние регистры. И начинается заново.

При однократном режиме - все останавливается.

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 08:27:49

Хорошо.

Добавлено after 40 seconds:
Я постараюсь читать вдумчиво

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 08:28:55

Спрашивай , скоро придет осознание и все заколосится...

Вот примерный план для изучения DMA .
1 Помигать светодиодом
2 Помигать светодиодом с помощью таймера ( в прерывании)
3 Помигать светодиодом выплевывая массив из флеш в порт через DMA пинаемого таймером
4 Запустить ADC
5 Заполнить массив в RAM значениями ADC с помощью DMA .

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 09:38:09

khch, посмотрите это. http://www.cyberforum.ru/blogs/204791/blog5169.html
http://www.cyberforum.ru/blogs/204791/blog5170.html

Не знаю, поймете что-то или нет.

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 12:38:18

выплевывая массив из флеш в порт через DMA пинаемого таймером


Возможно ли это со скоростью 2 МГц?

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 12:45:15

Вот и испытаешь.

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 12:47:07

Скорость не измеряется в Гц.

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 14:27:02

Вот и испытаешь.


Ок. Потом расскажу.

Добавлено after 1 minute 19 seconds:
Скорость не измеряется в Гц.

Да, действительно, скорость измеряется в км/ч...
Я постараюсь быть точнее в определениях...
PS надо же как я сразу не заметил этой проблемы...

Добавлено after 45 minutes 25 seconds:
Я тут решил покопаться в дебаггере, понять все. Из знакомых понятий только "копаться" - я же могильщик...
Так вот обьясните пожалуйста, что такое я пометил двумя стрелками. С остальным, вроде как, разбираюсь. Распечатал вот кода асм..
И что подразумевает комментарий в первой строке?

Добавлено after 13 minutes 44 seconds:
хотя нет. Ни хрена не понимаю я кроме команды "загрузить - LDR"
Вложения
555.jpg
(231.12 KiB) Скачиваний: 235

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 14:30:05

левая стрелка - адрес команды в памяти, правая - опкод, грубо - представление команды в бинарном виде, как оно и есть там внутри процессора. Комментарий - что будет записано в регистр

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 14:34:29

khch, вы когда-нибудь пробовали 15-20 котят собрать в кучку? они же как ртуть - на вилку не наколешь!
ваши попытки решить сразу взятую задачу напоминают именно этот процесс: вы хватаете одного котенка - пятеро убегают. собираете этих пятерых - первый уже удрал, а еще трое бегут сразу в 4 стороны...
единственный способ справиться с этой задачей - ловить по одному и ФИКСИРОВАТЬ :))) то есть подступать шаг за шагом, не метаясь от заголовочников HAL к ассемблеру, от регистров DMA к скорости SPI... добрые люди вам даже наметили программу изучения - либо следуйте ей, либо откажитесь от этой затеи. ведь иначе, кроме усталости, такая работа ничего не даст - разбегутся котятки...

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 14:44:40

ARV
Есть такое... с котятами.
Но это я просто решил так отдохнуть. Поизучаю пока дебаггер - благо и там проблем не мало.
Вот например: Могу ли я в режиме дебага подавать на вход с кнопки сигнал. Ну или прерывание там... Чуть отойду, потом снова на штурм!!!!!

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 15:49:32

Вот например: Могу ли я в режиме дебага подавать на вход с кнопки сигнал. Ну или прерывание там...


А в чем проблема?
Если речь о ловле события - ставим бряк на обработку события , пускаем дебаггер в RUN .
Одно но , периферия не тормозится дебаггером по дефолту.
Да и многие флаги сбрасываются просто чтением в том числе и считыванием дебаггером...

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 18:17:29

khch писал(а):Я тут решил покопаться в дебаггере, понять все.
Зачем начали копаться в коде загрузчика?
Как в него вообще попали?

khch писал(а):Распечатал вот кода асм
С какой целью? Отлаживать нужно исходный код на Си, а не ассемблерный и тем более не код зашитого при производстве USART загрузчика.

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 18:44:09

Смотрите. Ведь тут же все написано понятно!!! Любой поймет!!! Кроме меня.

Вот к примеру.
In input mode (MODE[1:0]=00):
00: Analog mode
01: Floating input (reset state)
10: Input with pull-up / pull-down
11: Reserved
In output mode (MODE[1:0] > 00):
00: General purpose output push-pull
01: General purpose output Open-drain
10: Alternate function output Push-pull
11: Alternate function output Open-drain
Вот что это все значит??
MODE[1:0]=00
MODE[1:0] > 00
В какой части регистра запихали условие равенства или сравнения!!!!

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 19:03:08

khch писал(а):В какой части регистра запихали условие равенства или сравнения

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 19:24:25

Скорость не измеряется в Гц.

Вот не надо придираться к словам. Формально вы правы, но, например, в англоязычных источниках формулировка clock speed вполне обыденна и измеряется эта speed там в Герцах. Если сделать кальку в русский, что в хайтеке происходит на каждом шагу, то скорость в мегагерцах уже и не является чем-то сильно режущим глаз. Так, издержки перевода.

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 19:25:03

Мурик
Поразительно!!! Вы кинули мне скан именно того места, откуда я скопировал свой вопрос.
Просто я не смог вставить таблицу....
Так где это MODE [1:0] = 00 MODE [1:0] > 00 место???
Я не имею ввиду где это написано - это я сам вижу. Где должно выполняться это условие, чтобы
абсолютно одинаковые комбинации нулей и единиц давали, тем не менее, разный метод работы
пинов: на вход и на выход.

Re: Буфер данных Stm32f103c8

Чт авг 09, 2018 19:35:37

может так понятнее:
Изображение
https://hubstub.ru/stm32/65-stm32-gpio- ... yvoda.html
Ответить