set DMA_Configuration.DMA_BufferSize to 1

DMA_Init asserts DMA_BufferSize >=1.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1822 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
chaos.proton@gmail.com 2011-12-01 10:00:20 +00:00
parent 48d4e00ee8
commit fe3b233de4
1 changed files with 5 additions and 1 deletions

View File

@ -239,8 +239,12 @@ static void DMA_Configuration(void)
DMA_DeInit(UART3_TX_DMA);
DMA_InitStructure.DMA_PeripheralBaseAddr = USART3_DR_Base;
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;
/* As we will set them before DMA actually enabled, the DMA_MemoryBaseAddr
* and DMA_BufferSize are meaningless. So just set them to proper values
* which could make DMA_Init happy.
*/
DMA_InitStructure.DMA_MemoryBaseAddr = (u32)0;
DMA_InitStructure.DMA_BufferSize = 0;
DMA_InitStructure.DMA_BufferSize = 1;
DMA_Init(UART3_TX_DMA, &DMA_InitStructure);
DMA_ITConfig(UART3_TX_DMA, DMA_IT_TC | DMA_IT_TE, ENABLE);
DMA_ClearFlag(DMA1_FLAG_TC2);