新手上路
- 积分
- 24
- 金钱
- 24
- 注册时间
- 2017-3-29
- 在线时间
- 3 小时
|
1金钱
DMA2_Stream1->CR=0;
DMA2_Stream1->PAR=(u32)&DCMI->DR;
DMA2_Stream1->M0AR=DMA_Memory0BaseAddr;
DMA2_Stream1->NDTR=DMA_BufferSize;
DMA2_Stream1->CR|=0<<6;
DMA2_Stream1->CR|=1<<8;
DMA2_Stream1->CR|=0<<9;
DMA2_Stream1->CR|=DMA_MemoryInc<<10;
DMA2_Stream1->CR|=2<<11;
DMA2_Stream1->CR|=DMA_MemoryDataSize<<13;
DMA2_Stream1->CR|=2<<16;
DMA2_Stream1->CR|=0<<21;
DMA2_Stream1->CR|=0<<23;
DMA2_Stream1->CR|=1<<25;
// DMA2_Stream1->CR=0;
// DMA_InitStructure.DMA_PeripheralBaseAddr = (u32)&DCMI->DR;
// DMA_InitStructure.DMA_Memory0BaseAddr = DMA_Memory0BaseAddr;
// DMA_InitStructure.DMA_BufferSize = DMA_BufferSize;
// DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;
// DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;
// DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
// DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc;
// DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;
// DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize;
// DMA_InitStructure.DMA_Priority = DMA_Priority_High;
// DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;
// DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;
// DMA_InitStructure.DMA_Channel = DMA_Channel_1;
// DMA_Init(DMA2_Stream1, &DMA_InitStructure);
如上述代码。我想把寄存器改为库函数版本(就是用注释段程序代替非注释段)。程序运行寄存器版本时程序正常运行,TFT正常显示。但是将上述改为库函数版本时(注释段代码)。TFT屏幕上无法显示结果。
我已经把库函数运行后应该得到的寄存器状态位一一写出。和寄存器版本没有区别。但是就是没有结果。希望大神指导下
|
|