STM32F407与大彩串口屏的调试经验总结
博主在一次电赛训练题中使用到了广州大彩公司的F系列串口屏, 遇到了很多坑, 也学到了很多东西,在这里给大家分享一下。
1.确定固件版本号
固件版本号代表了设备烧入的程序版本,获取版本的方法如下:
1. 直接看屏背面标签。正常情况下,产品出厂前背面均有型号和标签,如图所示。
2. 如果屏背面无贴固件标签,则需连接转接板,然后打开VisualTFT软件,选择串口COM通道,点击“联机设备”,如图 1.4 所示。联机成功后,软件右下角将显示对应产品版本号。
补充一点,大彩的转接板接线方式和普通的串口接线有区别, TX-TX ,RX-RX ,GND-GND, 不需要接VCC!!!
2.RS232和TTL电平设置
这个问题很重要!!!,因为彩屏是默认为RS232电平有效,单片机的是TTL电平,所以我们要将其设置成TTL电平有效,博主当初因为这个问题,调了一周的时间都无法实现板子和彩屏通信,下面介绍设置方法:
先找到通讯接口J5附近标有白色丝印“ON= TTL, OFF=RS232”,如图 所示,然后将其短路即为TTL电平,反之断开就是232电平了。
如还有其他硬件方面问题,请参考以下链接解决:http://blog.sina.com.cn/s/blog_e360f58a0102wr1m.html
3.彩屏例程移植到F407
把彩屏例程移植到F407上,只需将官方所给例程中的cmd_queue.c, hmi_driver.c, cmd_process.h, cmd_queue.h, hmi_driver.h 复制至F407程序中, 编译后将 #include "hmi_user_uart.h" 改为自己的串口文件, 博主的是 #include "usart.h" ,再将 “hmi_user_uart.h” 中的宏定义
#define uchar unsigned char
#define uint8 unsigned char
#define uint16 unsigned short int
#define uint32 unsigned long
#define int16 short int
#define int32 long
复制至自己的 “usart.h ”文件中
并将 “hmi_user_uart.c” 文件中的
void SendChar(uchar t)
{
USART_SendData(USART1,t);
while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
while((USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET));//等待串口发送完毕
}
复制到自己的 “usart.c”中,编译后将无关的头文件去掉即可。
4.替换串口中断函数
将自己程序中的串口中断函数改为
void USART1_IRQHandler(void)
{
u8 Res;
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
Res =USART_ReceiveData(USART1);
uint8_t data = USART_ReceiveData(USART1);
queue_push(data);
}
}
这步骤很重要,如果不替换串口中断函数, 单片机将无法收到并正确响应彩屏所发信息。
5.单片机与彩屏通信问题
首先先确定波特率, 通信失败有百分之九十的可能是波特率问题, 确定波特率正确后,使用串口调试助手或者DEBUG看单片机所发的指令是否正确, 指令内容在官方提供的资料中有。 确定波特率正确,其他连接没有问题后, 在 stm32f4xx.h文件中,找 “HSE_VALUE”, 看看是否晶振和板子上一致,博主的是8M晶振。
#if !defined (HSE_VALUE)
#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
#endif /* HSE_VALUE */
6.软件仿真问题
很遗憾,F407不能软件仿真, 博主是用的F103进行软件仿真,按照官方所给的教程,编写COMDBUG文件
MODE COM4 115200,0,8,1
ASSIGN COM4 <S1IN> S1OUT
将其按照指导步骤加入工程即可实现软件仿真, 值得注意的是这里的<S1IN>和S1OUT中的1是指串口1,如需要用串口2仿真则需要将其改成<S2IN>和S2OUT后仿真才可看到现象。
以上是博主的一些总结,水平有限,如有错误,希望大家指正。
STM32F407与大彩串口屏的调试经验总结相关推荐
- 大彩串口屏与STM32G070CBT6通讯调试
大彩串口屏与STM32G070CBT6通讯调试 1 大彩串口屏 1.1 指令格式和指令集 1.2 硬件连接与程序下载 2 串口屏例程移植到STM32G070CBT6 2.1 STM32CubeMX生成 ...
- stm32cubeMX学习六、Freertos配置综合实践(移植大彩串口屏程序框架)
一节入门了stm32cubeMX SPI 0.96 OLED的配置,这节我们来学习下如何配置freertos,并驱动大彩串口屏. 本程序编写基于秉火霸道STM32F103ZET6运行环境. 一.配置时 ...
- 学习笔记——大彩串口屏“常识”
文章目录 大彩串口屏常识 关于rs232与ttl选择 配套软件VisualTFT 调试版 串口屏与单片机的连接 大彩串口屏常识 关于rs232与ttl选择 一般情况下,你会在买到手的大彩串口屏背后发现 ...
- 大彩串口屏如何实现定时和计时的操作功能
一.概述 本文主要阐述的是广州大彩串口屏如何使用lua脚本实现定时和计时的操作功能,目前这两个应用在工业上或者生活中都有广泛应用.大彩屏定时功能是设置一个具体的时间,然后时间到了用户设定的时间之后,对 ...
- DC24320M028_1000_0T. V249大彩串口屏下载出厂工程方法
1. 硬件准备:大彩串口屏 + 串口调试板一套,并连接: 2. 打开TFT软件,设备上电,刷新串口,找到串口: 3. 打开网站提供的出厂工程: 3. 点击工具栏内的"联机设备"让串 ...
- 串口屏应用案例_大彩串口屏在高拍仪上的应用方案
一.概况 高拍仪也有人称为速拍仪,或有的教育机构称之为备课王.一般来说,我们称之为高拍仪.是最新研发出来的一款超便携低碳办公用品,也是一款办公领域革新性产品,它具有折叠式的超便捷设计,能完成一秒钟高速 ...
- 大彩串口屏医用级首款圆形UI界面2.1寸串口屏新品正式发布!
一.产品介绍 大彩串口屏医用级首款圆形UI界面2.1寸串口屏新品正式发布! 型号:DC48480KM021_1001_1C 该产品是一款2.1寸分辨率为 480480的医用级工业组态串口屏.拥有2.1 ...
- 串口屏应用案例_大彩串口屏在呼吸机上的应用方案
一.产品概况 呼吸机是一种能够起到预防和治疗呼吸衰竭,减少并发症,挽救及延长病人生命的至关重要的医疗设备.在现代临床医学中,它作为一项能人工替代自主通气功能的有效手段,已普遍用于各种原因所致的呼吸衰竭 ...
- 大彩串口屏物联型EW10.1寸可配置以太网通信,实现物联网远程升级功能
大彩串口屏物联型EW10.1寸新品发布!该产品拥有10.1寸液晶屏,分辨率有1024*600,支持电容触摸.电阻触摸.拥有炫酷的动画效果,页面切换流畅.使用立体声喇叭,可以播放语音.视频:可配置以太网 ...
最新文章
- 双轮摩托车模安装测试
- 三分钟学会用SpringMVC搭建最小系统(超详细)_转载
- boost::fusion::remove_if用法的测试程序
- QT的QMessageAuthenticationCode类的使用
- 【Docker】 安装 nexus3
- Java笔记-当返回数据为Json时去除为null的字段
- 相对、绝对、固定定位,以及其层级关系和脱离文档流的影响
- django不修改数据库创外键_【实战演练】Python+Django网站开发系列03-Django初始配置与静态Index页面开发...
- [转]Pytest 基础教程
- elcipse 中利用maven创建web工程
- python excel 教程推荐_Python学习教程:从Excel到Python最常用的32个P
- Halo博客搭建及配套小程序使用教程
- 51单片机TMOD及定时器配置
- 黑客文化与介绍:黑客精英轶事
- hdfs 元数据维护机制
- layui上传图片需携带额外参数
- 2020年2月15日 考试【更新中】
- 想用QQ小程序流量主广告赚钱,你需要知道的知识!
- 计算机时代杂志好吗,计算机时代是什么级别的刊物
- 抖音html啥意思,用了这么久的抖音,你知道抖音到底是啥意思吗?