LINUX.ORG.RU

MDMA_stm32h7xx

 


0

1

здрасьте здрасьте люди добрые. ну талантливые люди талантливы во всем. поэтому я решил обратиться к вам(к талантливым) и спросить а как правильно использовать MDMA? ну линукс тут наверное при том ,что благодаря познаниям в stm я смогу лучше узнать Linux. суть в том что пытаюсь из одного регистра TIM1 в другой регистр TIM1 записать(передать) 64bit разово. тактирование включил и на MDMA и у TIM1. в регистр

DMA_CxSAR
0x40010034-это адрес источника, то есть откуда буду читать
в регистр
DMACxDAR
положил адрес
0x40010038
то есть куда буду перемещать или  писать 64bit, двойное слово.
в MDMA_CxCR бит EN ==0. то есть выключен. это для того чтобы можно было изменять следующие регистры, которые
This bit is protected and can be written only if EN is 0.
и так как я пытаюсь разово записать без участия буфера, то в регистре
 MDMA_CxTCR бит BWM==0.
бит SWRM=1 // чтобы можно было программно тригернуть 
биты TRGM[1:0]==00  для того чтобы 
Each MDMA request (software or hardware) triggers a buffer transfer
в регистре MDMA_CxBNDTR в бите

BNDT[15:0]

я указал 100-это четыре в 2 системе, СОРИ, ТУПАНУЛ. 1000- надо 8 байт. я же не слово, а двойное слово пытаюсь. то есть тут надо было указать количество байт. 8байт==64bit. если этот регистр оставить в значении 0x00000000 то любая транзакция, то есть передача не будет осуществлена. Дальше я в регистре

MDMA_CxCR установил бит SWRQ==1 чтобы программно сгенерировать запрос  и также включил бит TCIE==1 и бит EN. 
что я забыл сделать? и что я сделал неправильно чтобы записать из одного регистра таймера1 в другой регистр таймера 1? уверен что вы знаете. подскажите



Последнее исправление: Assembler (всего исправлений: 2)

ну и биты SBURST[2:0] и DBURST[2:1] я также устанавливал в значение 2^N N==6 потому как 2в шестой это 64. 6 в двоичной это 110.

Assembler
() автор топика

а как правильно использовать MDMA?

Преорально, в расчете 1.7mg * массу тела, можно небольшой назальный бустер, лучше не чаще одного раза в три месяца. Короче PiHKAL все сказано, особо нечего добавить

nikolnik ★★★
()
Последнее исправление: nikolnik (всего исправлений: 1)

Всегда говорил, что от микроконтроллеров до наркотиков один шаг

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