设为首页 加入收藏

TOP

STM32(6)——USART串口的使用(三)
2019-08-29 23:53:18 】 浏览:78
Tags:STM32 USART 串口 使用
rol_None; //设置串口1 USART_Init(USART1, &USART_InitStructure); //打开串口1的中断响应函数 USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); //打开串口1 USART_Cmd(USART1, ENABLE); } //配置中断 void NVIC_cfg() { NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //选择中断分组2 NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQChannel; //选择串口1中断 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //抢占式中断优先级设置为0 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //响应式中断优先级设置为0 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能中断 NVIC_Init(&NVIC_InitStructure); } 

然后在stm32f10x_it.c文件中找到相应的中断处理函数,并填入一下内容。注意在stm32f10x_it.c中,要声明一下外部变量RX_status

 

extern FlagStatus RX_status;

void USART1_IRQHandler(void)

{

       GPIO_SetBits(GPIOB, GPIO_Pin_5);


       //确认是否接收到数据

       RX_status = USART_GetFlagStatus(USART1, USART_FLAG_RXNE);

       //接收到数据

       if(RX_status == SET)

       {

              //将数据回送至超级终端

              USART_SendData(USART1, USART_ReceiveData(USART1));

              //等待数据发送完毕

              while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);

              GPIO_ResetBits(GPIOB, GPIO_Pin_5);

       }

}

大部分参考:http://blog.sina.com.cn/s/blog_49cb42490100tc55.html(待修改.....)

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇STM32(5)——通用定时器基本定.. 下一篇树莓派3B+简单入门

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目