![247c76409e538604f8423c38cf12a5f1.png](https://i-blog.csdnimg.cn/blog_migrate/86ff4c59675598ce6ea332e406b3e367.jpeg)
前言
大概半个月之前捣鼓了下利用STM32实现实时曲线显示,中间又做了一点小改进和扩充,在这里更新一下:
- 利用DMA进行缓冲区到LCD GRAM的像素数据搬运
- 效果更好的曲线绘制策略
代码可以在这里找到:<写得比较乱,望谅解( ´・ω・)ノ(._.`)
curve_chart.cgithub.com使用DMA进行像素搬运
利用STM32 DMA的M2M(Memory to Memory)模式,实现像素数据从外置SRAM的双缓冲区到LCD GRAM的搬移。只需要把数据源(SRAM)和终点(LCD-GRAM)的虚拟地址交给DMA,DMA控制器即可自动通知FSMC控制两个外设进行数据交换。
DMA初始化:
DMA_HandleTypeDef
双缓冲区像素更新:
void
注意到DMA一次最多搬运65535个数据,这里我们分多次发出DMA请求,一次搬运65535个WOR