stm23f103 usart1串口中断可进入,而stm32f205 usart1的中断进不去解决办法
调试stm32f103时串口中断配置如下:
/* ʹÄÜ USART1 ʱÖÓ*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);
中断服务函数如下:
void USART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{}
}
照葫芦画瓢配置了stm32f205的usart1串口,
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_USART1);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
但并没有如期进入中断。只能查找原因,后来终于找到
最终配置如下
/* ʹÄÜ USART1 ʱÖÓ*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_USART1);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //¸´ÓÃÍÆÍìÊä³ö
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_Init(GPIOA, &GPIO_InitStructure);
关键是GPIO10不能配置成GPIO_Mode_IN;
中断服务函数配置如下:
void USART1_IRQHandler(void)
{
uint8_t ch;
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
USART_ClearFlag(USART1,USART_FLAG_RXNE);
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
ch=USART_ReceiveData(USART1);
}
}
stm23f103 usart1串口中断可进入,而stm32f205 usart1的中断进不去解决办法相关推荐
- 冒险岛与服务器中断连接,《冒险岛手游》怎么进不去 服务器连接失败解决方法...
您可能感兴趣的话题: 冒险岛手游 核心提示:大家是不是很笔者一样都是守在闹钟旁边坐等冒险岛手游十点开测呢?哈哈,笔者我早已经"饥渴难耐"了. 冒险岛手游怎么进不去 服务器连接失败解 ...
- 哔哩哔哩看视频经常服务器连接中断,《哔哩哔哩》服务器无法正常播放解决办法...
b站是一款混二次元小伙伴都知道的视频播放app,有的小伙伴遇到服务器无法正常播放,怎么办,今天小编就为你们带来了哔哩哔哩服务器无法正常播放解决办法,想了解的小伙伴就一起来看看,希望能对你们有帮助. 具 ...
- 笔记本蓝牙崩溃、图标消失不能打开蓝牙功能-解决办法(由于蓝牙串口连接出现的问题)
学单片机遇到蓝牙崩溃的问题 解决蓝牙串口发送时,蓝牙功能突然消失如下图: 原因: 单片机发送速度太快了,串口不断向电脑发送数据,导致电脑端崩溃. 解决办法:本人前前后后这种情况出现了6次.总结方法如下 ...
- STM32 HAL库开发学习笔记: USART1串口通讯(中断方式) IDE-STM32CubeIDE
STM32串口通讯有三种方式,分别为阻塞(轮询).中断.DMA.这里将用中断的方式开发. 笔者也是刚入门STM32 HAL库开发,该笔记致希望于能帮到初学者,文中配置步骤.代码.实验现象均是笔者实践可 ...
- stm32进不去串口中断的问题
今天遇到了特别棘手的问题,程序进入串口中断 原本应该进入这段程序: void USART1_IRQHandler(void) {if(USART_GetITStatus(USART1,USART_IT ...
- STM32 串口固件库中定义的几个中断标志什么意思?
STM32 串口固件库中定义的几个中断标志位什么意思? #define USART_IT_PE ((uint16_t)0x0028) #define USA ...
- stm32f103插拔pc端的串口引起的问题及解决办法
stm32f103串口和pc端串口进行相连,打印调试信息,插拔PC端的串口后发现程序执行异常,大循环不跑了,一直不停的进入串口接收中断服务程序中.进一步调试发现是触发了中断:USART_FLAG_OR ...
- STM32F103ZE单片机在WWDG窗口看门狗的EWI中断中喂狗导致系统复位的原因及解决办法(中断函数重入问题)
版权声明:本文为博主原创文章,欢迎转载 https://blog.csdn.net/ZLK1214/article/details/78308058 程序开启了WWDG的Early wakeup ...
- hal库开启中断关中断_STM32对HAL库的定时器中断
从串口中断,到外部中断再到现在的定时器中断,越来越感觉HAL库应用比较好用,虽然一开始理解上面有点怪,但是网上查询一下就能够学会. 定时器中断分为两个重点,1.在应用CUBEMX时配置定时器的分频数以 ...
- 51单片机c语言中断嵌套,51单片机的中断优先级及中断嵌套
说最基本的,老的51单片机(80C51系列)有5个中断源,2个优先级,可以实现二级中断服务嵌套.现在很多扩展的51单片机已经有4个优先级(或更多)和更多的中断源了. 在说到中断之前,我先来定义一下优先 ...
最新文章
- [0] 各类图形的数据大小获得
- HDU- 2973 YAPTCHA(威尔逊定理)
- mysql DDL数据定义语言
- JAVA:贪吃蛇源代码
- 中国移动5G商用首批开放50城 明年扩展至全国地级以上城市
- linux url解码,js对url进行编码和解码(三种方式区别)
- 【递归】CCF201703-3 Markdown
- nginx反向代理解决跨域
- python的运行方式有哪两种_Python基础:Python运行的两种基本方式
- 李佳琦618直播清单都在这张思维导图上了
- XML非法字符的处理
- 字符串模式匹配sunday算法
- uni-app 开发微信小程序,网络断开,无网络情况,刷新检查,重新加载
- 计算机桌面软件乱跳怎么办,电脑桌面乱跳怎么办
- mac M1 安装navicat亲测有效
- element表格左对齐方法
- Unity VR:如何修改fbx动画
- sql盲注二分法注入脚本
- 汇编语言||基本传送指令MOV的用法详解
- 今日头条组图下载本地,并存入MongoDB
热门文章
- 从SVN检出项目下载到本地后出现错误
- word批量转PDF怎么转
- catia二次开发:文件视图,exe,窗口切换,隐藏罗盘复位,按名称找对象,newfrom,登录,状态栏, 类型名,显示,不弹提示,workbench,不可视,部分更新,导出展开结构树,换行,元素存在
- 数字电路基础知识——组合逻辑电路(数据选择器MUX、多路复用器)
- PyTorch中文教程 | (4) 迁移学习教程
- PostGIS 报错libcrypto
- CSS与CSS3美化页面
- 窗体最小化时隐藏窗体_delphi基础
- error: L6002U: Could not open file .\objects\startup_stm32f10x_hd.o
- 用Python网络爬虫来抓取网易云音乐歌词