初级会员

- 积分
- 178
- 金钱
- 178
- 注册时间
- 2015-8-29
- 在线时间
- 17 小时
|
1金钱
uart2_init(9600);
MYDMA_Config(DMA1_Channel7,(u32)&USART2->DR,(u32)SendBuff,(TEXT_LENTH+2)*100);//DMA1通道4,外设为串口1,存储器为SendBuff,长(TEXT_LENTH+2)*100.
while(1)
{
USART2->DR=0X55;
USART_DMACmd(USART2,USART_DMAReq_Tx,ENABLE); //????1?DMA??
MYDMA_Enable(DMA1_Channel7);//开始一次DMA传输!
}
MYDMA_Enable(DMA1_Channel7);意思是不是说可以开始一次完整的DMA传输。
但是要等到触发脉冲到来的时候才会发送数据啊,这里的触发脉冲是什么?是发送一个数据结束的标志位吗?
如将 USART_DMAReq_Tx 改为 USART_DMAReq_Rx ,是不是就是接受到一个数据,有一个触发脉冲啊
|
最佳答案
查看完整内容[请看2#楼]
不需要等待触发脉冲,触发信号来自USART,当USART->DR寄存器的数据发送完成后,会请求DMA传输新的数据过来,此过程完全硬件实现。
|