DMA channel x number of data register (DMA_CNDTRx) (x = 1..7, where x = channel number)

Регистр количества передаваемых данных по каналу x DMA (x - номер канала = 1..7 / 1..5)

Смещение (Address offset): 0x0C + 0x14 * (x-1)

Reset value: 0x0000'0000

3130292827262524
Reserved
------------------------
00000000
2322212019181716
Reserved
------------------------
00000000


15141312111098
NDT[15:8]
rwrwrwrwrwrwrwrw
00000000
76543210
NDT[8:0]
rwrwrwrwrwrwrwrw
00000000


Bits 31:16
Reserved
Must be kept at reset value
Зарезервировано. Должно быть сохранено значение после сброса
Bits 15:0
NDT[15:0]
Number of data to transfer
Количество передаваемых данных (от 0 до 65535) канала DMA

Запись в этот регистр возможна только при отключенном канале. При включении канала этот регистр доступен только для чтения, указывая количество оставшихся для передачи данных.

При каждой передаче по каналу DMA значение в регистре уменьшается. По окончании передачи значение регистра остаётся или равным нулю, или автоматически загружается ранее заданным значением (для циклического режима (CIRC=1 в регистре DMA_CCRx).

Если значение регистра равно нулю, то передача данных невозможна вне зависимости от того, что канал включен или нет.



/******************  Bit definition for DMA_CNDTR1 register  ******************/
#define  DMA_CNDTR1_NDT                      ((uint16_t)0xFFFF)            /* Number of data to Transfer */

Для регистров остальных каналов (CNDTR2...CNDTR7 для DMA1, CNDTR2...CNDTR5 для DMA2) изменить цифру в имени соответствующего определения бита (..._CNDTRx_...)