文章标题

本文记录了作者在STM32F103C8T6芯片上实现USART1中断接收时遇到的问题及解决过程。作者通过串口下载器发送测试程序,期望实现数据的中断接收并反向发送,但发现无法进入中断。在检查官方示例程序后,发现问题在于未连接BT0跳线帽。作者提醒读者注意细节,并分享了简化后的串口中断程序代码。
摘要由CSDN通过智能技术生成

STM32F103C8T6学习笔记之USART中断

2015.10.12 晚
今天一天都在搞这个STM32的USART1中断接收问题,本以为很容易,当然确实不难,但是上网看了一下还是有很多人遇到串口中断问题的。
在这写一下我遇到的问题和解决方法!
我通过串口下载器下载程序到STM32的芯片内,写的是一个简单的串口测试程序,就和网上大部分源程序一样,就是通过串口USART1中断方式接收数据然后把收到的数据通过串口发回来。
在PB0引脚连接一个LED,进入USART1中断函数时将引脚电平反相改变LED的亮灭状态。
遇到的问题是这样的:发送数据的功能完美实现,也可以通过查询的方式接收数据,但是不能通过中断的方式接收数据,因为根本进不了中断。今天一整天我都纠结在这个问题上,也上网查了各种各样的程序,看了别人遇到的各种问题和解决方法,但都没有什么用。
最后我查看了一下V3.5官方函数库里的示例程序,参考着简化了一下,最后终于成功了。
不过我并不是因为官方的程序才成功的,我是因为使用了官方程序才发现了问题。问题就是我在运行程序时忘了插上BT0的跳线帽!>_<
因为网上的程序都很简单,一些参考书上的程序也都是一些简单的测试程序,所以我发现不接BT0跳线帽的时候,可以通过串口接收到单片机发过来的数据,我就没有考虑那个跳线帽的问题,以为是程序初始化错误,或者什么时钟,中断之类的配置错误。而官方的程序可能比较规范,它用的是队列收发数据,设置了接收缓冲区和发送缓冲区,还有两个串口的数据校验,这个时候如果不接上BT0的跳线帽ÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值