亲,您用DMA都没有看说明的么?DMA传输数据的时候会占用系统总线,这时候CPU除了能够做运算之外什么事情都干不了,只有等DMA完成数据传输之后,才会把系统数据总线交给CPU,所以你接收数据的时候程序看起来好像就是停止运行的,当你接收完成之后,DMA释放了数据总线,这时候CPU才又开始执行程序...具体内容建议你还是看一下datasheet吧
STM32F10X芯片手册中写道,当CPU接到DMA请求后,会停止若干个时钟周期,等待总线仲裁,仲裁完成后DMA和CPU各分一半的数据总线,CPU不会停止工作,只是部分总线被占用,运行变慢。
总线有冲突吧
发程序看看。