码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • #【软件STM32cubeIDE下F103配置uart3+uart1+DMA收发+简单数据解析-基础样例-进阶】


    #【软件STM32cubeIDE下F103配置uart3+uart1+DMA收发+简单数据解析-基础样例-进阶】

    • 前言
    • 实验器件
    • 实验步骤
      • ========================================
      • (1)==更改代码位置==
      • ========================================
      • (2)软件加入配置
        • 1)勾选中断
        • 2)加入DMA
        • 3)设置波特率
        • 4)保存并生成代码
      • ========================================
      • (3)编译看有无报错,并加入输出
      • ========================================
      • (4)加入空闲函数
        • 1)加入初始化函数
        • 2)加入数组
        • 3)加入中断
        • 4)中断加入判定
        • 5)回调函数设置功能与加入数组
        • 6)加入处理函数
        • 7)代码测试
      • ========================================
    • 代码链接
    • 细节方面
    • 总结

    前言

    继续之前的实验,我们在原先试验过uart3的基础上,加入uart1,同时也使用相同功能,也有些细节需要注意的。
    另外结合之前文章看本章,观看效果更佳。
    之前连接:【软件STM32cubeIDE下F103配置uart3+DMA收发+简单数据解析-基础样例】

    实验器件

    软件环境:STM32cubeIDE 1.8.0
    硬件环境:STM32F103xx(相关系列都可以)
    下载模块:ST-link下载器 (下载器)
    串口模块:串口转换器 (可用232模块代替)

    实验步骤

    ========================================

    (1)更改代码位置

    发现配置后,使用软件重新生成代码后,很多之前写的代码都给删除了,这是因为代码默认,放在固定块内的用户代码才不会动,所以这块以后写代码还是要注意下的,不然好容易写的代码,在软件生成后,可能就会被删除。
    如下所示,列举一处,还有while循环内,开始也没放在里边,具体看代码吧。
    在这里插入图片描述
    如下图所示,是代码生成后样子,即使用“//”注释掉了,还是会被删除。
    在这里插入图片描述

    ========================================

    (2)软件加入配置

    代码移动好后,就可以打开软件进行配置了,因为之前配置过了,这里直接展示uart1配置部分。

    1)勾选中断

    在这里插入图片描述

    2)加入DMA

    在这里插入图片描述

    3)设置波特率

    对于波特率没有什么要求,所以都默认了 115200
    在这里插入图片描述

    4)保存并生成代码

    在这里插入图片描述

    ========================================

    (3)编译看有无报错,并加入输出

    在这里插入图片描述
    需要注意的是,因为之前编写了非DMA回调函数,没有使用,在生成代码后,软件又给你写了一边,编译是有错的,咱们都是用DMA形式,直接删除就行了,如下图所示。
    在这里插入图片描述

    ========================================

    (4)加入空闲函数

    这部分只要是接收函数的空闲函数编写,虽然输出挺简单,接收还是有好几处要边下,共六步,这里直接贴图片,想要看代码,直接下载代码自己看吧。

    1)加入初始化函数

    在这里插入图片描述

    2)加入数组

    在这里插入图片描述

    3)加入中断

    在这里插入图片描述

    4)中断加入判定

    在这里插入图片描述

    5)回调函数设置功能与加入数组

    在这里插入图片描述

    6)加入处理函数

    在这里插入图片描述

    7)代码测试

    编译后下载代码,使用串口工具进行测试。
    在这里插入图片描述

    ========================================

    代码链接

    代码链接:https://download.csdn.net/download/qq_22146161/86401034

    细节方面

    (1)在代码块放入对应代码区域,这个还是要注意下的,否则重新生成代码的时候,会删除你之前写好的代码,代码多了可能根本不知道丢了哪些。

    (2)实际运行在STM32cubeIDE不同版本下,报错太多,可能无法运行,请注意我这里使用编译软件一直是1.8.0,之前升级1.9.0结果代码就无法运行了,即同版本,一般来说都可以运行,但是不同版本,不一定时代码问题,有可能软件问题。

    总结

  • 相关阅读:
    Python环境的搭建+第一个Python程序的运行
    ZYNQ之FPGA学习----UART串口实验
    第五篇 基于JSP 技术的网上购书系统——主页面和登录页面实现(网上商城、仿淘宝、当当、亚马逊)
    go-redis 使用 redis 6.0.14 版本错误: consider implementing encoding.BinaryMarshaler
    EN 13967防水用柔性薄板—CE认证
    【无标题】
    Servlet 和 JSP 中的分页
    2.1 实验:反病毒引擎扫描、编译时间、查壳、导入表查看、字符串查看--《恶意代码分析实战》
    阿里P8架构大神分享纯手写“kafka文档”看完直呼太牛!
    作业练习3:类的继承
  • 原文地址:https://blog.csdn.net/qq_22146161/article/details/126348421
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号