Настройка ПДП

Сконфигурируем блок ПДП в соответствии с поставленной задачей:

. Подаем тактирование на ПДП. Для этого устанавливаем бит DMA1EN регистра AHBENR в «1».

>AHBENR |= RCC_AHBENR_DMA1EN;

. Задаем адрес периферии, откуда будем считывать данные. Для этого в регистр CPAR записываем адрес регистра DR, в котором хранятся значения оцифрованного сигнала после преобразования.

_Channel1->CPAR = (uint32_t) &ADC1->DR;

. Задаем адрес памяти, куда будем записывать данные. Для этого в регистр CMAR записываем адрес первого бита буфера, в который будут собираться данные для отправки.

_Channel1->CMAR = (uint32_t) &BuffRxd[0];

. Задаем направление работы ПДП, в нашем случае из периферии в память. Для этого устанавливаем бит DIR регистра CCR4 в «0».

_Channel1->CCR &= ~DMA_CCR4_DIR;

. Задаем размер передаваемых данных из периферии, в нашем случае 16 бит. Для этого устанавливаем бит PSIZE_0 регистра CCR4 в «1».

_Channel1->CCR |= DMA_CCR4_PSIZE_0;

. Указываем, нужно ли инкрементировать указатель адреса в периферии, в нашем случае этого делать не нужно. Для этого устанавливаем бит PINC регистра CCR4 в «1».

_Channel1->CCR = ~DMA_CCR4_PINC;

. Задаем размер передаваемых данных в память, в нашем случае 16 бит. Для этого устанавливаем бит MSIZE_0 регистра CCR4 в «1».

_Channel4->CCR |= DMA_CCR4_MSIZE_0;

. Указываем, нужно ли инкрементировать указатель адреса в памяти, в нашем случае это нужно для заполнения буфера приема данных. Для этого устанавливаем бит MINC регистра CCR4 в «1»._Channel4->CCR |= DMA_CCR4_MINC;

. Указываем, что нужно включить режим циклической передачи. Для этого устанавливаем бит CIRC регистра CCR1 в «1».

_Channel1->CCR |= DMA_CCR1_CIRC;

. Включаем ПДП. Для этого устанавливаем бит EN регистра CCR1 в «1».

_Channel1->CCR |= DMA_CCR1_EN;

Еще статьи по теме

Предоставление мультисервисных услуг в квартале Новое созвездие города Санкт-Петербурга
Современный мир не представляется без услуг передачи данных, телефонии и телевидения. Возрастающая конкуренция среди операторов связи на фоне роста российского рынка широкополосного доступа в Интернет, востребованность качес ...

Разработка системы связи и автоматизированной системы оперативного управления гарнизона пожарной охраны
Эффективность борьбы с пожарами зависит от надежно организованной системы связи. Связь в пожарной охране служит для приема сообщений о пожарах; управления подразделениями в пути следования и при работе на пожаре; вызова с ...

Главное меню

© 2019 / www.techsolid.ru