简介
此串口驱动由接收和发送两个部分组成,适用于需要大量发送数据场合。
接收使用了传统的接收缓冲区非空中断+循环队列模式,轻便、实时,消耗RAM小。发送使用了DMA+双缓冲区设置。发送数据时,数据首先会被复制到空闲缓冲区中,拷贝完成后即可退出,无需等待DMA发送完成。因为是双缓冲区设计,两个缓冲区只能有一个被DMA使用,写入时总能匹配到空闲缓冲区,所以就不需要等待DMA发送完成,如此一来便可极大的节省CPU资源。
发送和接收都采用了开关中断来创建临界段,确保数传能够安全传输。
此串口驱动由接收和发送两个部分组成,适用于需要大量发送数据场合。
接收使用了传统的接收缓冲区非空中断+循环队列模式,轻便、实时,消耗RAM小。发送使用了DMA+双缓冲区设置。发送数据时,数据首先会被复制到空闲缓冲区中,拷贝完成后即可退出,无需等待DMA发送完成。因为是双缓冲区设计,两个缓冲区只能有一个被DMA使用,写入时总能匹配到空闲缓冲区,所以就不需要等待DMA发送完成,如此一来便可极大的节省CPU资源。
发送和接收都采用了开关中断来创建临界段,确保数传能够安全传输。