问题是这样的
我有个功能需求是这样的,正常运行状态下DMA接收串口数据,当我要进行系统设置的时候将SxCR寄存器
中的EN位失能确保串口不走DMA,这种情况下我用串口接收中断来接收命令响应,当我设置完毕后重新使能
SxCR寄存器中的EN位确保串口数据走DMA到我的目标缓存中。
这个切换的过程我预想是失能DMA再使能DMA还能保证数据是连续的,譬如失能时DMA_SxNDTR寄存器的值
是1FED,重新使能后寄存器的值仍然是1FED,因为我需要根据这个值来推算最后一个字节在我DMA缓存中的地址,
但实际上重新使能后DMA_SxNDTR寄存器的值始终是1FFF,不管失能时DMA_SxNDTR寄存器的值是多少!!!
请问我在系统设置前后的失能及使能对DMA_SxNDTR寄存器的值的这种干扰原因在哪里?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>