高级会员

- 积分
- 606
- 金钱
- 606
- 注册时间
- 2013-12-14
- 在线时间
- 125 小时
|
5金钱
串口DMA发送,DMA初始化时设置成正常模式,一直没有数据输出,而且不进中断,如果设置成循环模式,但是就一直有数据输出,不知道为啥?
初始化完使能
/* Enable DMA Channel4 Transfer Complete interrupt */
DMA_ITConfig(DMA1_Channel4,DMA_IT_TC, ENABLE);
/* Enable USART1 DMA TX request */
USART_DMACmd(USART1, USART_DMAReq_Tx, ENABLE);
DMA_Cmd(DMA1_Channel4, DISABLE);
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
USART_Cmd(USART1, ENABLE);
发送函数
DMA_SetCurrDataCounter(DMA1_Channel4, s_UART_SendInfo[0].sendLen);
DMA_Cmd(DMA1_Channel4, ENABLE);
中断
void DMA1_Channel4_IRQHandler(void)
{
DMA_ClearFlag(DMA1_FLAG_TC4);
DMA_Cmd(DMA1_Channel4,DISABLE);
}
|
最佳答案
查看完整内容[请看2#楼]
回复【4楼】ricefat:
---------------------------------
谢谢,不进中断的问题找到了。
发送函数
DMA_Cmd(DMA1_Channel4, DISABLE);
DMA_SetCurrDataCounter(DMA1_Channel4, s_UART_SendInfo[0].sendLen);
DMA_Cmd(DMA1_Channel4, ENABLE);
|