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与串口屏双向通讯》例程

相关推荐
车端域控测试工程师17 小时前
Autosar网络管理测试用例 - TC003
c语言·开发语言·学习·汽车·测试用例·capl·canoe
TDengine (老段)18 小时前
TDengine 转换函数 CAST 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
up向上up19 小时前
【普中】基于普中51开发板单片机的8_8点阵滚动显示设计
单片机·51单片机·proteus
EXtreme3519 小时前
征服 C 语言文件 I/O:透视数据流、FILE* 核心机制与高效实践全指南
c语言··文件io
Bona Sun20 小时前
单片机手搓掌上游戏机(十二)—esp8266运行gameboy模拟器之编译上传
c语言·c++·单片机·游戏机
Molesidy20 小时前
【VSCode】使用 VSCode + EIDE插件 的开发STM32的超详细教程
ide·vscode·stm32·编辑器·eide
恒锐丰小吕21 小时前
晶准 RB302B 内置MOSFET锂电池保护芯片技术解析
嵌入式硬件·硬件工程
星期天221 小时前
3.2联合体和枚举enum,还有动态内存malloc,free,calloc,realloc
c语言·开发语言·算法·联合体·动态内存·初学者入门·枚举enum
TangDuoduo000521 小时前
【电感基础与特性】
stm32·单片机·嵌入式硬件
许商21 小时前
【stm32】【SD】SDIO fatfs
stm32·单片机·嵌入式硬件