adc采用DMA通道循环模式传输到内存变量空间。如果其他函数不停的读取存储到内存空间的ADC值,而DMA不停的搬运转换后的ADC到内存空间,在不断读出和不断写入过程不会发生冲突吗?
关于DMA,在RM0008手册上是这么描述的。见下图:
来个中文版的。
可以说明问题了吗?
就是说DMA的写和CPU的读不会冲突。由于有了总线仲裁器执行循环调度,CPU至少会有一半的时间可以占用系统总线。
CPU有占用系统总线的时间,那么就可以访问SRAM,因为SRAM也是挂在系统总线上的。
评分
查看全部评分
评分
查看全部评分
没设置DMA中断呢
评分
查看全部评分
没设置DMA中断时ADC转换后的数据在ADC数据寄存器中,需要不断的去读取
评分
查看全部评分
评分
查看全部评分
谢谢你的回答。
你好,我的问题是不开设中断的情况
请问当读与写入冲突时候比如都读缓冲期的的某个位置数据,CPU占用时间是多长?
评分
查看全部评分
是的。