DMA channel x peripheral address register (DMA_CPARx) (x = 1..7, where x = channel number)
Регистр адреса периферии канала x DMA (x - номер канала = 1..7 / 1..5)
Смещение (Address offset): 0x10 + 0x14 * (x-1)
Reset value: 0x0000'0000
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
PA[31:24] | |||||||
rw | rw | rw | rw | rw | rw | rw | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
PA[23:16] | |||||||
rw | rw | rw | rw | rw | rw | rw | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
PA[15:8] | |||||||
rw | rw | rw | rw | rw | rw | rw | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PA[8:0] | |||||||
rw | rw | rw | rw | rw | rw | rw | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bits 31:0
PA[31:0]
Peripheral address
Базовый адрес периферии с которым будет производиться обмен данными по каналу в режиме DMA
Запись в этот регистр возможна только при отключенном канале.
Если размер данных со стороны периферии 16 бит (PSIZE[1:0] = 01), бит PA[0] игнорируется, доступ автоматически выравнивается по адресу полуслова.
Если размер данных со стороны периферии 32 бит (PSIZE[1:0] = 10), биты PA[1:0] игнорируются, доступ автоматически выравнивается по адресу слова.
/****************** Bit definition for DMA_CPAR1 register *******************/
#define DMA_CPAR1_PA ((uint32_t)0xFFFFFFFF) /* Peripheral Address */
Для регистров остальных каналов (CPAR2...CPAR7 для DMA1, CPAR2...CPAR5 для DMA2) изменить цифру в имени соответствующего определения бита (..._CPARx_...)