1 / 20
文档名称:

stm32f103多个串口配置dma程序(纯代码版详解).doc

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

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

分享

预览

stm32f103多个串口配置dma程序(纯代码版详解).doc

上传人:tswng35 2021/5/8 文件大小:79 KB

下载得到文件列表

stm32f103多个串口配置dma程序(纯代码版详解).doc

文档介绍

文档介绍:软件:KeilMDK
芯片:STM32F103/STM32F107
串口数量:4
备注:4个串口均配置为DMA读取
//串口1初始化函数
void uart1_init(u32 bound)
{
//GPIO端口设置
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE); //使能USART1,GPIOA时钟
USART_DeInit(USART1); //复位串口1
//USART1_TX
= GPIO_Pin_9; //
= GPIO_Speed_50MHz;
= GPIO_Mode_AF_PP; //复用推挽输出
GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化PA9
//USART1_RX
= GPIO_Pin_10;
= GPIO_Mode_IN_FLOATING;//浮空输入
GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化PA10
//Usart1 NVIC 配置
= USART1_IRQn;
=1 ;//抢占优先级3
= 0; //子优先级3
= ENABLE; //IRQ通道使能
NVIC_Init(&NVIC_InitStructure); //根据指定的参数初始化VIC寄存器
/*Enable DMA Channel4 Interrupt */
= DMA1_Channel4_IRQn;
= 1;
= 1;
= ENABLE;
NVIC_Init(&NVIC_InitStructure);
/*Enable DMA Channel5 Interrupt */
= DMA1_Channel5_IRQn;
= 2;
= 0;
= ENABLE;
NVIC_Init(&NVIC_InitStructure);
//USART 参数初始化设置
= bound;//一般设置为9600;
= USART_WordLength_8b;//字长为8位数据格式
= U