迪文串口屏与STM32的通信

迪文屏与stm32F407的通信测试

前言

最近由于学习需要,需要使用迪文串口屏与stm32做一个通讯测试实验。因为是刚接触这两种设备,在一开始的时候遇到了很多困难。好在网上资源十分丰富,CSDN的大佬们写的博客内容也十分给力,通过一段时间的学习摸索,最终完成了这个实验。在此将这个过程和程序分享给大家,希望能对将来有需要的人提供多一个参考。

一、实验目的

实验的目的很简单,就是通过开发板上的KEY0控制指示灯LED0的亮灭,同时迪文屏上也有一个指示灯和开关。两边开关对灯的控制是同步的,即无论哪边按下开或关,开发板和屏上的灯都会做出相同的反应,并且可以对打开的次数进行计数,并显示在屏上,可以对这个计数进行重置。

二、串口接收

串口接收使用的是IDLE空闲中断,可以在接收完一帧数据后产生这个中断,对于不定长度的接收十分管用。最初我是打算改写正点原子例程中的串口接收程序,他那里面有个对回车换行的判断,还有个接收完成标志位,不是那么好理解,花了几天看懂了,改写后是去掉了回车换行,但是只能实现对固定长度数据帧的判断,且代码逻辑上比较繁琐,因为我还很菜改的不好。后来想到这个IDLE中断,参考了网上一位先生的代码,移植到了我的程序中,完美的解决了这个问题。
原代码:[link](https://blog.csdn.net/phker/article/details/51925668).

总结

我用的方法比较原始,就是直接在接收到屏上按键的返回值后对其进行判断,然后发送相应的控制指令给屏,但是越简单的系统出错的几率也就越小,这样也是一种稳妥之举。

附上我的程序,还是有一些问题在里面的,欢迎各位大佬指正。
[link]( https://download.csdn.net/download/jiangsir12/13795460)

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
STM32迪文串口屏是两个常用的电子元器件,在实际应用中它们通常需要进行通信。本篇文章将简要介绍如何通过串口通信控制STM32来实现点灯和温度显示的功能。 首先,我们需要了解一下串口通信的相关知识。串口通信是一种数据传输方式,在单片机中通常使用USART或UART模块实现。串口通信的特点是传输速率比较慢,但可靠性较高。串口通信需要发送和接收两个端口分别连接到发送和接收设备上。 在使用STM32迪文串口屏进行通信之前,我们需要先准备好相关的硬件设备和软件环境。硬件方面,我们需要一块基于STM32的开发板和一块迪文串口屏。软件方面,我们需要安装Keil MDK软件和相应的程序库,并进行相应的程序编写和调试。 具体实现的步骤如下: 1、在Keil MDK中创建工程,并添加相应的程序库和头文件。 2、编写程序代码,实现串口通信功能,包括串口初始化、发送和接收数据等操作。 3、连接迪文串口屏,通过串口发送相应的命令,控制迪文串口屏进行相应的操作,如点灯和温度显示等。 4、调试程序,并进行相应的优化和改进。 通过以上步骤,就可以实现STM32迪文串口屏通信,从而实现点灯和温度显示的功能。需要注意的是,在实际应用中,需要根据具体的需求对通信协议进行相应的设计和实现。同时,由于串口通信有一定的延迟和传输误差,需要进行相应的优化和调试,以保证通信的稳定性和可靠性。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值