[STM32F4] STM32F429+无FIFO的OV7725显示问题

[复制链接]
1232|8
 楼主| huangchui 发表于 2021-7-4 09:48 | 显示全部楼层 |阅读模式
用的DCMI+DMA读OV7725的数据,行中断来一次向显示屏显示地址写一次,场中断来了,行中断清零,但是显示出现显示错位的问题
juventus9554 发表于 2021-7-4 09:50 | 显示全部楼层

什么意思?不是很明白你说的什么,能再解释一下这个现象吗
 楼主| huangchui 发表于 2021-7-4 09:52 | 显示全部楼层
heweibig 发表于 2021-7-4 09:54 | 显示全部楼层
没必要啊,直接DCMI DMA 到显存就是了,不要CPU
 楼主| huangchui 发表于 2021-7-4 09:58 | 显示全部楼层
不需要DMA中断?那怎么显示一帧图像而不会乱呢?我用的是ILI9341显示屏,需要显示170*170大小的图像
llljh 发表于 2021-7-4 10:00 | 显示全部楼层
开双缓冲  双LCD player  开一个任务while(1) 里面定期(如20ms)处理DMA和LCD显示
STM32429有三层player,最底层的背景不用管了,这里用上面两层,透明度都设置为不透明
LCD上面两层 player 地址指向这两个buffer
dcmi_buffer1 --> LCD player1
dcmi_buffer2 --> LCD Player2

设置第一个dcmi_buffer1 为DCMI DMA接收缓冲
设置 player2显示
启动一次DMA
{
  等待DMA传输完成
  设置dcmi_buffer2 为DCMI DMA接收缓冲
  关闭player2,开启player1显示
  使能DMA

  等待DMA传输完成
  设置dcmi_buffer1 为DCMI DMA接收缓冲
  关闭player1,开启player2显示
  使能DMA
}
7725数据格式和LCD格式弄一致  RGB565
dengdc 发表于 2021-7-4 10:04 | 显示全部楼层
是能DMA里面做场同步操作,场中断中加变量标志就行了
liliang9554 发表于 2021-7-4 10:06 | 显示全部楼层
没有这种必要
 楼主| huangchui 发表于 2021-7-4 10:12 | 显示全部楼层
谢谢,我试一试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

918

主题

12323

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部