标题:
STM32F103串口DMA程序 发送前几次会接收不到数据,多发送几次就可以
[打印本页]
作者:
awer
时间:
2019-3-6 17:11
标题:
STM32F103串口DMA程序 发送前几次会接收不到数据,多发送几次就可以
程序实现:在串口调试工具中发送数据,串口调试工具接收到相应数据,有需要的可以借鉴一下。
程序有些瑕疵,发送前几次会接收不到数据,多发送几次就可以接收到数据。
有大神愿意赐教,或者有相关资料分享,不胜感激!
#include "system.h"
#include "SysTick.h"
#include "led.h"
#include "usart.h"
#include "key.h"
#include "dma.h"
#include "DMA_RX.h"
#include <string.h>
#define send_buf_len 5
u8 send_buf[send_buf_len]="iACM";
u8 USART_RX_BUF[35];//接收缓冲
/*******************************************************************************
* 函 数 名 : Send_Data
* 函数功能 : 要发送的数据
* 输 入 : p:指针变量
* 输 出 : 无
*******************************************************************************/
void Send_Data(u8 *p)
{
u16 i;
for(i=0;i<send_buf_len;i++)
{
*p='5';
p++;
}
}
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
int main()
{
u8 i=0;
u8 key;
SysTick_Init(72);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中断优先级分组 分2组
LED_Init();
USART1_Init(9600);
KEY_Init();
DMAx_Init(DMA1_Channel4,(u32)&USART1->DR,(u32)send_buf,send_buf_len);
DMA1_4_Init(DMA1_Channel5,(u32)&USART1->DR,(u32)USART_RX_BUF,35);
//Send_Data(send_buf);
USART_DMACmd(USART1,USART_DMAReq_Tx,ENABLE); //使能串口1的DMA发送
DMAx_Enable(DMA1_Channel4,send_buf_len); //开始一次DMA传输!
while(1)
{
// key=KEY_Scan(0);
// if(key==KEY_UP)
// {
//等待DMA传输完成,此时我们来做另外一些事
//实际应用中,传输数据期间,可以执行另外的任务
// while(1)
// {
// if(DMA_GetFlagStatus(DMA1_FLAG_TC4)!=0)//判断通道4传输完成
// {
// DMA_ClearFlag(DMA1_FLAG_TC4);
// memset(send_buf,0,35);
// break;
// }
// led2=!led2;
// delay_ms(300);
// }
if(USART_RX_BUF[0])
{
send_buf[0]=USART_RX_BUF[0];
USART_DMACmd(USART1,USART_DMAReq_Tx,ENABLE); //使能串口1的DMA发送
DMAx_Enable(DMA1_Channel4,send_buf_len); //开始一次DMA传输!
delay_ms(10);
//printf("%s\r\n",USART_RX_BUF);
memset(USART_RX_BUF,0,35);
memset(send_buf,0,35);
MYDMA_Enable(DMA1_Channel5);
}
// }
i++;
if(i%20==0)
{
led1=!led1;
}
delay_ms(10);
}
}
复制代码
DMA使用实验1.7z
2019-3-7 00:06 上传
点击文件名下载附件
183.28 KB, 下载次数: 29
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1