迪文串口屏与STM32的通信

博主因学习需要进行迪文串口屏与stm32F407的通讯测试实验。实验目的是实现开发板和屏上指示灯同步控制及计数显示。串口接收采用IDLE空闲中断解决问题。最后博主分享方法和程序,欢迎指正。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

迪文屏与stm32F407的通信测试

前言

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

一、实验目的

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

二、串口接收

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

总结

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

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

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值