LINUX.ORG.RU
ФорумTalks

TIMx_DIER

 


0

1

здрасьте здрасьте люди добрые.... stm32f103 помогите пожалуйста разобраться. Регист

TIMx_DIER
разрешает или запрещает генерацию запросов к DMA. скажите о каких запросах идет речь?

О! Здрасте, здрасте, добрый ТС! Всегда рад видеть твои темы тут!

TIM DIER разрешает прерывания или запросы DMA, если выставить 1 в соответствующий бит.

apt_install_lrzsz ★★★
()
Ответ на: комментарий от apt_install_lrzsz

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

update request

update request - запрос на обвновления... я так понял. и куда же этот запрос осуществляется? к чему он обращается?

Assembler
() автор топика
Ответ на: комментарий от Assembler

К соответствующему DMA Stream.

А какой это Stream – надо смотреть по документации. Для разных семейств МК он может быть разным.

Но в общем случае в STM32 два DMA на семь каналов

apt_install_lrzsz ★★★
()
Ответ на: комментарий от apt_install_lrzsz

ни че не могу понять... давайте создадим цепочку и действий. Только скажите пожалуйста для начала чтобы хоть немного вошел в понимание... у нас есть регистра TIMx_ARR. чтение и запись осуществляется из него. работой же таймера управляет теневой регистр. Независимо от АPRE. APRE=1 овтечает за буфферизацию(предзагрузку). Как только счетчик досчитает до значения в теневом регистре произойдет событие обновления и теневые регистры обновятся. Так я понял. Скажите пожалуйста что значит: обновятся теневые регистры?

Assembler
() автор топика
Ответ на: комментарий от Assembler

Это ничего для Вас не значит. Вам важно только то, что при этом произойдет событие масштаба всего таймера, которое (при наличии установленного ранее бита) сообщит DMA: «Пора передавать данные, бро».

apt_install_lrzsz ★★★
()
Ответ на: комментарий от apt_install_lrzsz

хотелось бы почуствовать как работает DMA контроллер. Скажите как с помощью DMA из одного регистра перезаписать данные в другой? например мне нужно из TIM1_CCR переместить в TIM2_CCR значение. Как задействовать для этого DMA котроллер? что нужно включить?

Assembler
() автор топика
Ответ на: комментарий от Assembler

Нужно включить передачу из периферии TIM1 в периферию TIM2. Например, из AR одного в CCR другого. А как – это уж я сейчас не скажу досконально. Эксперимент нужен.

apt_install_lrzsz ★★★
()
Ответ на: комментарий от Assembler

Легко же. Надо пойти в описание каналов DMA и включить там соответствующие настройки.

Вот уж воистену, инженеры STMicroelectronocs сделали всё чтобы даже полные овощи могли с их аппаратурой работать.

apt_install_lrzsz ★★★
()
Ответ на: комментарий от apt_install_lrzsz

чтобы даже полные овощи могли с их аппаратурой работать.

cпасибо. ну а что имено надо включить чтобы DMA контроллер из регистра в регистр переместил данные? как ему показать из какого в какой?

Assembler
() автор топика
Ответ на: комментарий от Assembler

ну а что имено надо включить чтобы DMA контроллер из регистра в регистр переместил данные? как ему показать из какого в какой?

Ну, это не сложно. А включить надо режим periph to periph и правильно указать адреса в соответствующих регистрах DMA.

apt_install_lrzsz ★★★
()

Love Linux? Чо, совсем с фантазией плохо?

Oberstserj ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.