中级会员
 
- 积分
- 251
- 金钱
- 251
- 注册时间
- 2019-8-7
- 在线时间
- 51 小时
|
10金钱
//RGB屏数据接收回调函数
void rgblcd_dcmi_rx_callback(void)
{
u16 *pbuf;
if(DMA2_Stream1->CR & (1 << 19)) //DMA使用buf1,读取buf0
{
pbuf = (u16*)dcmi_line_buf[0];
USART1->TDR='1';
}
else //DMA使用buf0,读取buf1
{
pbuf = (u16*)dcmi_line_buf[1];
USART1->TDR='0';
}
LTDC_Color_Fill(xoffset, curline,912, curline, pbuf); //DM2D填充
if(curline < lcddev.height)curline++;
}
ov5640用的双缓存,但是在双缓存切换的时候我分别打印0和1,按道理会010101切换打印的,但是现在只用到了一个,用到了else那一个,而且
pbuf = (u16*)dcmi_line_buf[1]和 pbuf = (u16*)dcmi_line_buf[0]竟然可以正常显示到rgb屏幕中,没有出现抖动,所以不知道现在是有没有双缓存。
|
|