summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author[email protected] <[email protected]>2011-12-01 10:00:20 +0000
committer[email protected] <[email protected]>2011-12-01 10:00:20 +0000
commitfe3b233de4b77a7fb00cd666e25d70f5b4ae97cd (patch)
treeb438ef2819c413dfd6373066b49df876a7a59a7b
parent48d4e00ee8710e095ebebbed7fe8e0f9fcbcd004 (diff)
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
-rw-r--r--bsp/stm32f10x/usart.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/bsp/stm32f10x/usart.c b/bsp/stm32f10x/usart.c
index c4b2b757a8..17d0f4c241 100644
--- a/bsp/stm32f10x/usart.c
+++ b/bsp/stm32f10x/usart.c
@@ -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);