芯查查logo
  • 物料选型
  • 数据服务
    1. 新产品
    2. 查替代
    3. 丝印反查
    4. 查品牌
    5. PCN/PDN
    6. 查方案
    7. 查代理
    8. 数据合作
  • SaaS/方案
      SaaS产品
    1. 供应链波动监测预警
    2. 半导体产业链地图
    3. BOM管理
    4. 解决方案
    5. 汽车电子
    6. 政府机构
    7. 数据API
  • 商城
  • 行业资讯
    1. 资讯
    2. 直播
  • 论坛社区
    1. 论坛
    2. 学习
    3. 测评中心
    4. 活动中心
    5. 积分商城
  • 查一下
留胡子的钢笔
STM32开发板学习记录(4)USART异步通信

实验四  USART异步通信

 

一、简介:

  • 实验目的:学习串口的使用(接收与发送)
  • 硬件资源及引脚分配:串口1 (PA9/PA10连接在板载USB转串口芯片CH340上面)
  • 实验现象:STM32通过串口1和上位机对话,STM32在收到串口助手发过来的字符串(以回车换行结束)后,会返回给串口助手。
        同时每隔一定时间,通过串口1输出一段信息,可以通过串口助手显示接收。

 

二、工程搭建:

1.新建工程,选择芯片型号,配置时钟系统,配置LED的GPIO

2.配置USART1:

USART 是 "Universal Synchronous/Asynchronous Receiver/Transmitter" (通用同步/异步接收发射器)的缩写。它是一种串行通信接口,用于在MCU和其他外设之间传输数据。

USART有两种工作模式:A.同步模式:发送方和接收方共享一个时钟信号,确保数据的同步传输;B.异步模式:发送方和接收方通过起始位和停止位来同步数据传输,而不需要共享时钟信号。

这里选择异步模式。

USART通信中需要设置波特率、数据字长、校验位和停止位四个参数,一般采用默认即可,但要确保接收端设置与发送端一致。

 

3.外设中断配置:勾选USART1全局中断,并设置合适的中断优先级。

4. 生成工程源码。

 

三、编写代码:

1.串口printf重新定向:在usart.c中添加以下代码,通过printf的重定向 ,可以实现在打印printf内容时,通过串口将内容输出来,以方便调试。

2. 回调函数:其实没搞明白,只是单纯的复制、粘贴,以后再慢慢体会。

3. main.c:

 

四、实验视频:

(P.S.:使用串口助手时,因为忽略了某个细节,导致开始实验一直不成功:MCU发送的信息,串口助手能接收并显示;但串口助手发送到MCU的信息,没有任何反应。原来不知什么时候把“发送新行”这个选项没勾上,这也就导致MCU一直接收不到回车和换行键,一直以为数据没有传输完……)

 

开源社区
版块: 开源项目
2025/01/01 17:31
  • 举报
😁😂😃😄😅😆😉😊😋😌😍😏😒😓😔😖😘😚😜😝😞😠😡😢😣😤😥😨😩😪😫😭😰😱😲😳😵😷😸😹😺😻😼😽😾😿🙀🙅🙆🙇🙈🙉🙊🙋🙌🙍🙎🙏✂✅✈✉✊✋✌✏✒✔✖✨✳✴❄❇❌❎❓❔❕❗❤➕➖➗➡➰🚀🚃🚄🚅🚇🚉🚌🚏🚑🚒🚓🚕🚗🚙🚚🚢🚤🚥🚧🚨🚩🚪🚫🚬🚭🚲🚶🚹🚺🚻🚼🚽🚾🛀Ⓜ🅰🅱🅾🅿🆎🆑🆒🆓🆔🆕
@好友

全部评论

加载中
游客登录通知
已选择 0 人
自定义圈子
移动
发布帖子
发布动态
发布问答
最新帖子
2025年无人机行业概览报告芯片丝印反查全攻略:从基础识别到高阶应用技巧解析UC3843脉冲发生器zvs大功率零电压开关反激电源参数计算与器件选型,反激变压器计算与绕制教程
热门版块
查看更多
问型号
问技术
问行情
汽车电子工程师论坛
工业电子专区
新手入门指南
专家问答
单片机/MCU论坛
PCB设计
开源项目

143

收藏

分享

微信扫码
分享给好友

评论