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 分钟前
51单片机入门(八)
单片机·嵌入式硬件·51单片机
Once_day25 分钟前
C++之《程序员自我修养》读书总结(1)
c语言·开发语言·c++·程序员自我修养
国产化创客29 分钟前
ESP32平台web服务器开发框架选型与分析
物联网·智能家居·智能硬件
羽获飞43 分钟前
从零开始学嵌入式之STM32——9.STM32的时钟系统
stm32·单片机·嵌入式硬件
坚果派·白晓明1 小时前
在鸿蒙设备上快速验证由lycium工具快速交叉编译的C/C++三方库
c语言·c++·harmonyos·鸿蒙·编程语言·openharmony·三方库
飞睿科技1 小时前
乐鑫智能开关方案解析:基于ESP32-C系列的低功耗、高集成设计
嵌入式硬件·物联网·esp32·智能家居·乐鑫科技
风指引着方向2 小时前
图编译优化全链路:CANN graph-engine 仓库技术拆解
c语言
ESBK20252 小时前
第四届移动互联网、云计算与信息安全国际会议(MICCIS 2026)二轮征稿启动,诚邀全球学者共赴学术盛宴
大数据·网络·物联网·网络安全·云计算·密码学·信息与通信
C++ 老炮儿的技术栈2 小时前
VS2015 + Qt 实现图形化Hello World(详细步骤)
c语言·开发语言·c++·windows·qt