新手上路
- 积分
- 25
- 金钱
- 25
- 注册时间
- 2016-2-4
- 在线时间
- 7 小时
|

楼主 |
发表于 2016-3-17 11:49:06
|
显示全部楼层
void jpeg_dcmi_rx_callback(void)
{
u16 i;
if(DMA2_Stream1->CR&(1<<19))//buf0òÑÂú,Õy3£′|àíbuf1
{
FSMC_SRAM_WriteBuffer(jpeg_buf0,rgb_565_data,5000);
rgb_565_data+=5000;
}else //buf1òÑÂú,Õy3£′|àíbuf0
{
FSMC_SRAM_WriteBuffer(jpeg_buf1,rgb_565_data,5000);
rgb_565_data+=5000;
}
}
这一段是dma中断的处理程序 jpeg_buf1,和jpeg_buf0个是5000 ,rgb_565_data这个是已在sram里面的一个绝对地址数组
void jpeg_data_process(void)
{
DCMI_Stop();
DMA_Cmd(DMA2_Stream1, DISABLE);//í£Ö1μ±Ç°′«êä
while (DMA_GetCmdStatus(DMA2_Stream1) != DISABLE){}//μè′yDMA2_Stream1¿éÅäÖÃ
jpeg_data_len=5000-DMA_GetCurrDataCounter(DMA2_Stream1);//μÃμ½′Ë′Îêy¾Y′«êäμÄ3¤¶è
rgb_565_data+=5000;
if(DMA2_Stream1->CR&(1<<19))//buf0òÑÂú,Õy3£′|àíbuf1
{
FSMC_SRAM_WriteBuffer(jpeg_buf0,rgb_565_data,jpeg_data_len);
}else //buf1òÑÂú,Õy3£′|àíbuf0
{
FSMC_SRAM_WriteBuffer(jpeg_buf0,rgb_565_data,jpeg_data_len);
}
rgb_565_data1=rgb_565_data+jpeg_data_len;
rgb_565_data=0;
uu=1;
}
这一段是帧中断里面的处理函数! |
|