📄 外设数据控制器pdc说明.txt
字号:
外设数据控制器PDC:
1.多数片上外设(DBGU,USART,SSC,SPI,MCI,ADC)配备有一对PDC(Peripheral DMA Controller)通道。
2.PDC接口地址在其相关外设接口地址的偏移0X100处
以ADC的DMA传送为例进行说明:
1.设置DMA一次接收的数据个数和数据传入memory的地址,
2.由ADC_CR和PERIPH_PTCR控制转换并接收的开始
3.采样电压经AD转换后经DMA直接写入指定的地址,不经过处理器,
地址由PERIPH_RPR设置,每次传输的数据个数由PERIPH_RCR设置,
每传输一个数据,PERIPH_RCR减一,当等于0时,ADC中的ADC_SR中的ENDRX置位,可触发处理器中断
当RCR==0时,若RNCR不为0,则传输继续进行,以RNPR为缓存的首地址,RNCR为数据的传输个数进行传输
当RNCR减为0时,RXBUFF置位,可触发中断(注意:RCR与RNCR都为0时RXBUFF才置位)
当RCR或RCR和RNCR为0时,PDC传输停止,需重新开始进行下一次传输
4.传输的数据类型包括字节、半字、字类型,对应的存储器指针每次递增1、2、4
对于ADC,若设置分辨率为8位,传输的数据类型默认就是字节
若为10位,默认的就是半字
5.在数据块未传输完成时,改变RPR或者RCR的值,则新值立即生效
6.等到数据传输完成(查询RCR==0或者中断),即可读取缓存中的数据
对于本程序实现的功能:同ADC实验
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -