stm32与串口屏双向通讯官方例程

本案例stm32与淘晶驰串口屏双向通讯例程,包含了stm32cube mx生成的keil MDK工程(HAL库),STM32F103C8T6,STM32F103ZET6单片机都能正常向串口屏发送数据和接收来自串口屏数据,电脑的串口助手能收到打印的数据。注意,以下代码仅为演示代码,用于测试显示屏能实现最基本的通信功能,如果您需要在正式产品中进行使用,请根据自己的需求对代码进行相应的优化和修改,或以自己的方式实现相应的功能。

一、开发环境

单片机:STM32F103C8T6

Keil版本:5.32

STM32CubeMX版本:6.12.0

STM32Cube MCU Packges版本:STM32F1xx_DFP.2.3.0

串口:USART2(PA2,PA3).一定要注意,例程是用的是串口2的,不要接到串口1上去了。

单片机、串口屏与 PC 的联合调试:

接线方式如图所示

⚠️ 注意:单片机 UART2_RX ← USB转TTL的 TXD不接,悬空(原用于接收电脑发来的指令)

USB转TTL的 TX 和 串口屏的 TX 同时接到单片机的 RX 引脚,会造成信号冲突,会造成接受异常,所以,只接USB转TTL的 RX,USB转TTL的 TX不接。

二、配置STM32CubeMX, 使用keil5(MDK)开发

0、启动STM32CubeMX,新建STM32CubeMX项目

选择MCU:在软件中选择你的STM32型号-STM32F103C8T6,如果你的单片机是STM32F103ZET6就选择对应的型号。

**USART2配置:**选择异步模式。注意是串口2,USART2(PA2,PA3).

使能Debug功能:Serial Wire,HAL库时基选择:SysTick,生成代码

1、切换到Project Manager界面,设置Project Name(工程名称)和Project Location(工程路径),最后点击GENERATE CODE来生成代码。

2、点击打开文件夹

3、将淘晶驰串口屏头文件复制到这个目录下

4、将官方提供的tjc_usart_hmi.c复制到Src文件夹,将tjc_usart_hmi.h复制到Inc文件夹(这两个文件会在后面的工程里提供,需要自行从工程里找到然后导入自己的工程中)。

5、打开工程

6、将刚刚的文件添加到工程文件中

7、添加include和define定义

8、添加初始化和变量定义

9、在while里添加串口发送和解析的代码

10、点击魔法棒的图标,配置一下调试器

11、选择你的调试器,我这里使用的是st-link,选择完毕后点击Settings

12、切换到Flash Download标签,勾选 Reset and Run

13、点击Pack,取消勾选Enable,所有设置就完毕了

14、主界面的两个按钮分别是编译和下载

三、测试结果

1、串口助手打印:

单片机定时发送指令,

n0.val=107,t0.txt="107", click b0,1,n0.val=108,t0.txt="108", click b0,1

按下屏幕的按键的灯时候,灯会点亮,串口打印

收←msg.txt="led 1 is off"

收←msg.txt="led 2 is on"

2、可以看实物串口屏的数值,一直在增长,按键不断地按下弹起.实物串口屏与串口打印的数据一致。

参考:下载《stm32与串口屏双向通讯》例程

相关推荐
Zw-awa20 分钟前
标准输入输出与 MicroLIB:C 语言的终端去了哪里
stm32
Logic1011 小时前
C语言/数据动态规划题解:翻转一次子数组后的最大子数组和——四状态DP(O(n)时间O(1)空间)
c语言·数据结构·动态规划·时间复杂度·算法题·状态机dp·最大子数组和
糖糖单片机设计1 小时前
基于 STM32 的公交车定位与报站系统
stm32·单片机·嵌入式硬件
祖力551 小时前
快速学会51单片机基础
单片机·嵌入式硬件·51单片机
H_oRIZoN_2 小时前
Linux入门DAY41(51 单片机 串口与通信协议)
linux·运维·单片机
jianqiang.xue3 小时前
ESP-IDF保姆级入门41|产品级故障排查与稳定性优化全解:死机复位排查/内存泄漏定位/性能瓶颈分析/长期稳定性测试,掌握量产运维问题定位方法论
单片机·mcu·物联网·esp32
Logic1013 小时前
C语言/数据结构字符串题解:找出DNA序列中未配对的独特序列——排序+遍历(O(nlogn))
c语言·数据结构·字符串·数组·排序·时间复杂度·算法题
Navigator_Z3 小时前
LeetCode //C - 1248. Count Number of Nice Subarrays
c语言·算法·leetcode
是隼人4 小时前
buuctf-pwn picoctf_2018_shellcode(ret2shellcode)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
单片机仿真设计4 小时前
【proteus仿真】基于 STM32 的林区环境监控系统设计
stm32·单片机·proteus