Буфер данных Stm32f103c8
Re: Буфер данных Stm32f103c8
Нет не ткнет , следить за выходом за границы массива вам самим.
Причем DMA может работать не только с RAM но и с флеш, здесь естественно только чтение.
Причем DMA может работать не только с RAM но и с флеш, здесь естественно только чтение.
- Реклама
Re: Буфер данных Stm32f103c8
[uquote="dosikus",url="/forum/viewtopic.php?p=3434446#p3434446"]Нет не ткнет , следить за выходом за границы массива вам самим.[/uquote]
Хорошо, а по какому параметру DMA определяет, что надо переходит на начало массива, если сам массив ему нужен только как начало? Ведь его не интересует размер массива!
Это параметр number of data? После него начинается новый цикл записи с начала буфера?
Хорошо, а по какому параметру DMA определяет, что надо переходит на начало массива, если сам массив ему нужен только как начало? Ведь его не интересует размер массива!
Это параметр number of data? После него начинается новый цикл записи с начала буфера?
Re: Буфер данных Stm32f103c8
Отделите мух от котлет.
DMA ничего не знает о массивах, структурах и прочего это просто контроллер периферии .
И начните читать .
К примеру Circular mode
После полного завершения тансфера - счетчик транзакций равен нулю, контроллер DMA перезагружает значения из регистров управления в свои внутренние регистры. И начинается заново.
При однократном режиме - все останавливается.
DMA ничего не знает о массивах, структурах и прочего это просто контроллер периферии .
И начните читать .
К примеру Circular mode
После полного завершения тансфера - счетчик транзакций равен нулю, контроллер DMA перезагружает значения из регистров управления в свои внутренние регистры. И начинается заново.
При однократном режиме - все останавливается.
Re: Буфер данных Stm32f103c8
Хорошо.
Добавлено after 40 seconds:
Я постараюсь читать вдумчиво
Добавлено after 40 seconds:
Я постараюсь читать вдумчиво
Re: Буфер данных Stm32f103c8
Спрашивай , скоро придет осознание и все заколосится...
Вот примерный план для изучения DMA .
1 Помигать светодиодом
2 Помигать светодиодом с помощью таймера ( в прерывании)
3 Помигать светодиодом выплевывая массив из флеш в порт через DMA пинаемого таймером
4 Запустить ADC
5 Заполнить массив в RAM значениями ADC с помощью DMA .
Вот примерный план для изучения DMA .
1 Помигать светодиодом
2 Помигать светодиодом с помощью таймера ( в прерывании)
3 Помигать светодиодом выплевывая массив из флеш в порт через DMA пинаемого таймером
4 Запустить ADC
5 Заполнить массив в RAM значениями ADC с помощью DMA .
- Реклама
Re: Буфер данных Stm32f103c8
khch, посмотрите это. http://www.cyberforum.ru/blogs/204791/blog5169.html
http://www.cyberforum.ru/blogs/204791/blog5170.html
Не знаю, поймете что-то или нет.
http://www.cyberforum.ru/blogs/204791/blog5170.html
Не знаю, поймете что-то или нет.
Re: Буфер данных Stm32f103c8
[uquote="dosikus",url="/forum/viewtopic.php?p=3434462#p3434462"]
Возможно ли это со скоростью 2 МГц?
[/uquote]выплевывая массив из флеш в порт через DMA пинаемого таймером
Возможно ли это со скоростью 2 МГц?
Re: Буфер данных Stm32f103c8
Вот и испытаешь.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Буфер данных Stm32f103c8
Скорость не измеряется в Гц.
Re: Буфер данных Stm32f103c8
[uquote="dosikus",url="/forum/viewtopic.php?p=3434592#p3434592"]Вот и испытаешь.[/uquote]
Ок. Потом расскажу.
Добавлено after 1 minute 19 seconds:
[uquote="VladislavS",url="/forum/viewtopic.php?p=3434596#p3434596"]Скорость не измеряется в Гц.[/uquote]
Да, действительно, скорость измеряется в км/ч...
Я постараюсь быть точнее в определениях...
PS надо же как я сразу не заметил этой проблемы...
Добавлено after 45 minutes 25 seconds:
Я тут решил покопаться в дебаггере, понять все. Из знакомых понятий только "копаться" - я же могильщик...
Так вот обьясните пожалуйста, что такое я пометил двумя стрелками. С остальным, вроде как, разбираюсь. Распечатал вот кода асм..
И что подразумевает комментарий в первой строке?
Добавлено after 13 minutes 44 seconds:
хотя нет. Ни хрена не понимаю я кроме команды "загрузить - LDR"
Ок. Потом расскажу.
Добавлено after 1 minute 19 seconds:
[uquote="VladislavS",url="/forum/viewtopic.php?p=3434596#p3434596"]Скорость не измеряется в Гц.[/uquote]
Да, действительно, скорость измеряется в км/ч...
Я постараюсь быть точнее в определениях...
PS надо же как я сразу не заметил этой проблемы...
Добавлено after 45 minutes 25 seconds:
Я тут решил покопаться в дебаггере, понять все. Из знакомых понятий только "копаться" - я же могильщик...
Так вот обьясните пожалуйста, что такое я пометил двумя стрелками. С остальным, вроде как, разбираюсь. Распечатал вот кода асм..
И что подразумевает комментарий в первой строке?
Добавлено after 13 minutes 44 seconds:
хотя нет. Ни хрена не понимаю я кроме команды "загрузить - LDR"
- Вложения
-
- 555.jpg
- (231.12 КБ) 392 скачивания
Re: Буфер данных Stm32f103c8
левая стрелка - адрес команды в памяти, правая - опкод, грубо - представление команды в бинарном виде, как оно и есть там внутри процессора. Комментарий - что будет записано в регистр
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18592
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Буфер данных Stm32f103c8
khch, вы когда-нибудь пробовали 15-20 котят собрать в кучку? они же как ртуть - на вилку не наколешь!
ваши попытки решить сразу взятую задачу напоминают именно этот процесс: вы хватаете одного котенка - пятеро убегают. собираете этих пятерых - первый уже удрал, а еще трое бегут сразу в 4 стороны...
единственный способ справиться с этой задачей - ловить по одному и ФИКСИРОВАТЬ
то есть подступать шаг за шагом, не метаясь от заголовочников HAL к ассемблеру, от регистров DMA к скорости SPI... добрые люди вам даже наметили программу изучения - либо следуйте ей, либо откажитесь от этой затеи. ведь иначе, кроме усталости, такая работа ничего не даст - разбегутся котятки...
ваши попытки решить сразу взятую задачу напоминают именно этот процесс: вы хватаете одного котенка - пятеро убегают. собираете этих пятерых - первый уже удрал, а еще трое бегут сразу в 4 стороны...
единственный способ справиться с этой задачей - ловить по одному и ФИКСИРОВАТЬ
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Буфер данных Stm32f103c8
ARV
Есть такое... с котятами.
Но это я просто решил так отдохнуть. Поизучаю пока дебаггер - благо и там проблем не мало.
Вот например: Могу ли я в режиме дебага подавать на вход с кнопки сигнал. Ну или прерывание там... Чуть отойду, потом снова на штурм!!!!!
Есть такое... с котятами.
Но это я просто решил так отдохнуть. Поизучаю пока дебаггер - благо и там проблем не мало.
Вот например: Могу ли я в режиме дебага подавать на вход с кнопки сигнал. Ну или прерывание там... Чуть отойду, потом снова на штурм!!!!!
Re: Буфер данных Stm32f103c8
[uquote="khch",url="/forum/viewtopic.php?p=3434666#p3434666"]Вот например: Могу ли я в режиме дебага подавать на вход с кнопки сигнал. Ну или прерывание там...[/uquote]
А в чем проблема?
Если речь о ловле события - ставим бряк на обработку события , пускаем дебаггер в RUN .
Одно но , периферия не тормозится дебаггером по дефолту.
Да и многие флаги сбрасываются просто чтением в том числе и считыванием дебаггером...
А в чем проблема?
Если речь о ловле события - ставим бряк на обработку события , пускаем дебаггер в RUN .
Одно но , периферия не тормозится дебаггером по дефолту.
Да и многие флаги сбрасываются просто чтением в том числе и считыванием дебаггером...
Re: Буфер данных Stm32f103c8
Зачем начали копаться в коде загрузчика?khch писал(а):Я тут решил покопаться в дебаггере, понять все.
Как в него вообще попали?
С какой целью? Отлаживать нужно исходный код на Си, а не ассемблерный и тем более не код зашитого при производстве USART загрузчика.khch писал(а):Распечатал вот кода асм
Re: Буфер данных Stm32f103c8
Смотрите. Ведь тут же все написано понятно!!! Любой поймет!!! Кроме меня.
Вот к примеру.
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
В какой части регистра запихали условие равенства или сравнения!!!!
Вот к примеру.
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
khch писал(а):В какой части регистра запихали условие равенства или сравнения
Спойлер
Re: Буфер данных Stm32f103c8
[uquote="VladislavS",url="/forum/viewtopic.php?p=3434596#p3434596"]Скорость не измеряется в Гц.[/uquote]
Вот не надо придираться к словам. Формально вы правы, но, например, в англоязычных источниках формулировка clock speed вполне обыденна и измеряется эта speed там в Герцах. Если сделать кальку в русский, что в хайтеке происходит на каждом шагу, то скорость в мегагерцах уже и не является чем-то сильно режущим глаз. Так, издержки перевода.
Вот не надо придираться к словам. Формально вы правы, но, например, в англоязычных источниках формулировка clock speed вполне обыденна и измеряется эта speed там в Герцах. Если сделать кальку в русский, что в хайтеке происходит на каждом шагу, то скорость в мегагерцах уже и не является чем-то сильно режущим глаз. Так, издержки перевода.
Re: Буфер данных Stm32f103c8
Мурик
Поразительно!!! Вы кинули мне скан именно того места, откуда я скопировал свой вопрос.
Просто я не смог вставить таблицу....
Так где это MODE [1:0] = 00 MODE [1:0] > 00 место???
Я не имею ввиду где это написано - это я сам вижу. Где должно выполняться это условие, чтобы
абсолютно одинаковые комбинации нулей и единиц давали, тем не менее, разный метод работы
пинов: на вход и на выход.
Поразительно!!! Вы кинули мне скан именно того места, откуда я скопировал свой вопрос.
Просто я не смог вставить таблицу....
Так где это MODE [1:0] = 00 MODE [1:0] > 00 место???
Я не имею ввиду где это написано - это я сам вижу. Где должно выполняться это условие, чтобы
абсолютно одинаковые комбинации нулей и единиц давали, тем не менее, разный метод работы
пинов: на вход и на выход.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25



