打印
[应用相关]

迪文串口屏与STM32的通信

[复制链接]
351|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
哈根达斯uz|  楼主 | 2022-7-27 20:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前言
最近由于学习需要,需要使用迪文串口屏与stm32做一个通讯测试实验。因为是刚接触这两种设备,在一开始的时候遇到了很多困难。好在网上资源十分丰富,CSDN的大佬们写的博客内容也十分给力,通过一段时间的学习摸索,最终完成了这个实验。在此将这个过程和程序分享给大家,希望能对将来有需要的人提供多一个参考。

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

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

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

附上我的程序,还是有一些问题在里面的,欢迎各位大佬指正。

使用特权

评论回复
评论
哈根达斯uz 2022-7-27 20:28 回复TA
———————————————— 版权声明:本文为CSDN博主「东陈西酒」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/jiangsir12/article/details/111731534 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

325

帖子

0

粉丝