高级会员

- 积分
- 726
- 金钱
- 726
- 注册时间
- 2014-3-6
- 在线时间
- 19 小时
|

楼主 |
发表于 2014-10-27 11:20:22
|
显示全部楼层
回复【6楼】正点原子:
---------------------------------
换基地址后要把DMA关了再打开才从0开始吧?我测试是这样的,也可能是我自己的问题,我现在每次切换基地址都要把DCMI和DMA关了再开,这样就很慢。我想用乒乓的模式,但是我这样写,切换不了数组:
DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)JpegBuffer2;
DMA_Init(DMA2_Stream1, &DMA_InitStructure);
每次都要这样写:
DMA_DeInit(DMA2_Stream1);
DMA_InitStructure.DMA_Channel = DMA_Channel_1;
DMA_InitStructure.DMA_PeripheralBaseAddr = DCMI_DR_ADDRESS;
DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)JpegBuffer2;
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;
DMA_InitStructure.DMA_BufferSize = 1024*32;
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;
DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh;
DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable;
DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full;
DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;
DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;
DMA_Init(DMA2_Stream1, &DMA_InitStructure);
每次这样初始化切换就很慢了...调了3个多星期快一个月了,DCMI的连续采集模式弄了好久,总是一个数组里的第二张图片出问题,第一张是正常输出的,之后一直有数据输出,但是没有图片,然后我用快照模式+上面乒乓的方式输出,用115200的波特率输出只有0.5帧。。。要崩溃了。。。 |
|