OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4131|回复: 1

关于F767中的RGB屏回调函数问题

[复制链接]

3

主题

6

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2019-5-11
在线时间
7 小时
发表于 2019-7-25 21:37:08 | 显示全部楼层 |阅读模式
1金钱
  1. //RGB屏数据接收回调函数
  2. void rgblcd_dcmi_rx_callback(void)
  3. {  
  4.         u16 i;
  5.         u16 *pbuf;
  6. //        u16 *pbuf2;
  7. //        u8 gm_red,gm_green,gm_blue,gray;
  8.         if(DMA2_Stream1->CR&(1<<19))//DMA使用buf1,读取buf0
  9.         {
  10.                 pbuf=(u16*)dcmi_line_buf[0];
  11.         }else                                                 //DMA使用buf0,读取buf1
  12.         {
  13.                 pbuf=(u16*)dcmi_line_buf[1];
  14.         }         
  15.         if(rgb_ok==1&frame_ok==1)for(i=0;i<400;i++)jpeg_data_buf[curline][i]=pbuf[i];
  16.         LTDC_Color_Fill(0,curline,399,curline,pbuf);//DM2D填充
  17.         if(curline<400)curline++;
  18. }
复制代码

按道理 如果LTDC_Color_Fill正常使用的话 curline应该是正常的在不断增加的
但是我使用
for(i=0;i<400;i++)jpg_data_buf[curline]=pbuf;
是为了复制这一行的所有像素到外部内存的一个大数组中
在调试里看到每一行的像素数据都是一样的。我把它显示出来,就是这样了。
上面是正常的视频,下面是复制出来的数组的遍历输出。
IMG_20190725_211930.jpg
5JMF4GJCUH{_O4MD7DSKX@8.png
是不是因为中断速度很快,这个数组复制太慢了?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2019-7-26 02:46:39 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-6 22:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表