STM32Cube中断形式串口使用

本文介绍了在STM32CubeMX中配置STM32F103C8T6进行串口通信时遇到的问题及解决方法。在使用全局接收中断模式时,强调了时钟配置、主函数的启动语句、接收回调函数定义、中断标志的清除等关键步骤,以确保串口能够正常工作并避免只能进入一次中断回调函数的错误。
摘要由CSDN通过智能技术生成

前言:
由于一些兴趣爱好,想进行DIY,实现一些小功能,同时想试用一下强大的stm32cube和hal库,谁知道各种坑踩得郁闷得不行,特意留下一些记录给后人引以为鉴。当然,什么硬件正常,连接良好这些都是前提,请提前排除。

开发环境:KEIL 5.25.2.0
stm32cubeMX V5.2.1
Windows 10
stm32f103c8t6 核心板
ST-LINK V2

这里使用的是UASRT1,开启全局接收中断模式,处理在接收回调函数进行。串口参数为:115200、8bit、1bit stop、non-parity。

具体过程不在赘述,以下仅提出一些注意点:

1.在stm32cube中要注意clock configuration的配置,不可以选用默认配置,具体如下图所示:(PS:我在cube生成配置中project manage—coed generator—generated files中勾选了每个外设单独一个.c和.h)

时钟树配置
2.main.c的修改:
(1)初始化之后加入启动语句:
在主函数进入while循环之前,一定要加入HAL_UART_Receive_IT(&huart1,(uint8_t *)RXdata,1)语句,不然会无法进入接收回调函数。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值