本帖最后由 diweo 于 2014-7-5 11:58 编辑
拿起书本 发表于 2013-5-10 19:47
DMA只在传大块的数据时有才优势,在一般的小单片机系统里用DMA,几乎没有意义.学习中 ... 我举个例子吧,
用单片机与触摸屏通信,使用Modbus协议,数据长度 从几字节到几十字节不等。
假设波特率为9600,如果用发送完成中断 ,那要中断好多次。而且每次中断大约1ms。如果用查询方式,那么几到几十ms的时间CPU不能做别的事。
使用DMA的话,配置好后,直接发送了。必要时可以开启DMA传输完成中断,中断1次就够了。当然,代价就是要事先配置一个足够大的缓冲区,尽管这个缓冲区大多数时候都不满。 |