1 / 4
文档名称:

DMA串口应用.doc

格式:doc   大小:30KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

DMA串口应用.doc

上传人:cjc201601 2019/2/18 文件大小:30 KB

下载得到文件列表

DMA串口应用.doc

相关文档

文档介绍

文档介绍:Stm32通过DMA方式向串口发数据在向串口发送数据时cpu点灯主函数#include<>#include""#include""#include""externuint8_tSendBuff[3];uint16_ti; intmain(){ DMA_Config(); USART1_Config(); GPIOinit(); while(1) {// for(i=0;i<SENDBUFF_SIZE-4998;i++)// {//SendBuff[i]=0xdd;//} SendBuff[0]=1; SendBuff[1]=2; SendBuff[2]=3; USART_DMACmd(USART1,USART_DMAReq_Tx,ENABLE); GPIO_Write(GPIOB,0xffff);//将GPIOB16个端口全部置为高电 while(1); }//GPIO函数#include""voidGPIOinit(void){ GPIO_InitTypeDefGPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); =GPIO_Pin_All;//所有GPIO为同一类型端口 =GPIO_Mode_Out_PP; //推挽输出 =GPIO_Speed_50MHz; //输出的最大频率为50HZ GPIO_Init(GPIOB,&GPIO_InitStructure);//初始化GPIOB端口 GPIO_Write(GPIOB,0xffff);//将GPIOB16个端口全部置为高电}#include""/*其他函数里USART_DMACmd(USART1,USART_DMAReq_Tx,ENABLE); */uint8_tSendBuff[3];//描述:DMA串口的初始化配置voidDMA_Config(void){ //初始化结构体DMA_InitTypeDefDMA_InitStructure; //开启DMA时钟 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE); //配置DMA中断 //NVIC_Config(); //设置DMA源:内存地址&串口数据寄存器地址//=USART1_DR_Base; =(u32)&USART1->DR; //*内存地址(要传输的变量的指针)=(u32)SendBuff; //*方向:从内存到外设 =DMA_DIR_PeripheralDST; //*传输大小DMA_BufferSize=SENDBUFF_SIZE DMA_InitStructure.