15.03.2022, 22:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 26.12.2007
Сообщений: 1,198
Сказал спасибо: 70
Сказали Спасибо 80 раз(а) в 69 сообщении(ях)
|
DMA в STM32F4 из ADC в PWM.
Подскажите возможно технически передать данные из регистра результата АЦП, использовав общёю переменную в SRAM через DMA напрямую в регистр TMR3_CCR1 тот который отвечает за скважность в режиме ШИМ?
|
|
|
|
16.03.2022, 00:07
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
|
Re: DMA в STM32F4 из ADC в PWM.
Задействовать 2 потока ДМА, первый копирует с регистра ацп в общую переменную, второй из этой переменной копирует в регистр таймера.
|
|
|
|
16.03.2022, 07:21
|
|
Почётный гражданин KAZUS.RU
Регистрация: 26.12.2007
Сообщений: 1,198
Сказал спасибо: 70
Сказали Спасибо 80 раз(а) в 69 сообщении(ях)
|
Re: DMA в STM32F4 из ADC в PWM.
Вот я так и сделал но почему то когда инициализирую АЦП через DMA то TMR3 теряет связь с общей переменной.
|
|
|
|
16.03.2022, 08:19
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.02.2008
Сообщений: 1,779
Сказал спасибо: 124
Сказали Спасибо 599 раз(а) в 416 сообщении(ях)
|
Re: DMA в STM32F4 из ADC в PWM.
В StdPeriph_Examples от STM есть пример подобный. ADC работает сам по себе, а DMA просто переносит результат в таймер.
|
|
|
|
16.03.2022, 08:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 26.12.2007
Сообщений: 1,198
Сказал спасибо: 70
Сказали Спасибо 80 раз(а) в 69 сообщении(ях)
|
Re: DMA в STM32F4 из ADC в PWM.
Сообщение от andries5
|
В StdPeriph_Examples от STM есть пример подобный. ADC работает сам по себе, а DMA просто переносит результат в таймер.
|
DMA разве может работать на прямую с регистрами переферии не используя SRAM? Я только начал изучать STM32.
|
|
|
|
16.03.2022, 13:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.02.2008
Сообщений: 1,779
Сказал спасибо: 124
Сказали Спасибо 599 раз(а) в 416 сообщении(ях)
|
Re: DMA в STM32F4 из ADC в PWM.
А почему нет? В DMA_CMARx прописать адрес регистра в памяти. Это в STM32F3. В STM32F4 не смотрел.
|
|
|
|
16.03.2022, 13:47
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
|
Re: DMA в STM32F4 из ADC в PWM.
Ну вообще-то у ДМА есть 3 варианта работы, память-периферия, периферия-память и память-память. Нет режима периферия-периферия.
Последний раз редактировалось realid; 16.03.2022 в 13:51.
|
|
|
|
16.03.2022, 13:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 26.12.2007
Сообщений: 1,198
Сказал спасибо: 70
Сказали Спасибо 80 раз(а) в 69 сообщении(ях)
|
Re: DMA в STM32F4 из ADC в PWM.
Сообщение от realid
|
Ну вообще-то у ДМА есть 3 варианта работы, память-периферия, периферия-память и память-память. Нет режима периферия-периферия.
|
Вот и я про это. Правда я в кубе ковыряюсь может это в кубе нету переферии перефирия?
|
|
|
|
16.03.2022, 13:55
|
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
|
Re: DMA в STM32F4 из ADC в PWM.
Я так понял вы хотите чтобы все автоматически делалось без участия процессора?
|
|
|
|
16.03.2022, 14:05
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.02.2008
Сообщений: 1,779
Сказал спасибо: 124
Сказали Спасибо 599 раз(а) в 416 сообщении(ях)
|
Re: DMA в STM32F4 из ADC в PWM.
Сообщение от realid
|
Нет режима периферия-периферия.
|
Но ведь можно источник указать не имя регистра, а его адрес в памяти.
#define ADC1_DR_ADDRESS 0x50000040
Последний раз редактировалось andries5; 16.03.2022 в 14:07.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:07.
|
|