这几天正好参加2019年电赛国赛,为了节约io口的使用量,开始考虑使用串口屏;使用串口屏的好处不仅能够充当显示屏用,而且还内置了数字键盘,无需腾出io口给矩阵键盘。
我所使用的串口屏型号为:TJC4832K035
单片机型号为:STM32F429 (使用正点原子的HAL库)

硬件连接:
GND---->GND
TX------>PA10(USART1_RX)
RX------>PA9 (USART1_TX)

+5------->+5

串口指令:指令+0xff 0xff 0xff

串口屏学习:USART HMI软件--------->左上角工具栏---------->帮助----------->入门指南、指令集

最为重要:波特率
串口屏的波特率应和单片机波特率保持一致(串口屏的默认波特率为9600)

但是如果想要修改串口屏的波特率为115200来提高传输速度,可以使用系统变量baud来改变

修改方式可以参考如下图来修改串口屏波特率:在事件框里的“前初始化事件”里加上baud=115200就可以完成修改

单片机传输数据给串口屏

单片机方面:

  1. 因为需要用到printf(" "),所以需要使用串口通信实验,包含huart.h头文件
    注意printf只能UART1使用
  2. 要了解单片机的一些函数
    在stm32f103标准库中的发送函数:
    void USART_SendData(USART_TypeDef USARTx, uint16_t Data)*
    等待发送结束:
    while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET){};
    而在stm32f429的HAL库中的发送函数:
    HAL_UART_Transmit(*UART_HandleTypeDef *huart, uint8_t pData, uint16_t Size, uint32_t Timeout)
    等待发送结束:
    while((__HAL_UART_GET_FLAG(&UART1_Handler,UART_FLAG_TXE)==RESET)){};
  3. 向串口屏发送指令是需要以3个0xFF结束指令,这就需要编写发送十六进制数的函数
    即:void HMISend(u8 k)
    附上编写的代码(主要是f429的)
void HMISend(u8 k)           //字节发送函数
{   u8 i;for(i=0;i<3;i++){if(k!=0){  HAL_UART_Transmit(&UART1_Handler,&k,1,1000);     //stm32f103:USART_SendData(USART1,k);  //发送一个字节   delay_ms(10);while((__HAL_UART_GET_FLAG(&UART1_Handler,UART_FLAG_TXE)==RESET)){};                //stm32f103:while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET){};//等待发送结束delay_ms(10);} }
}

串口屏方面

选用陶晶驰的串口屏需要用USART HMI来编写,界面如图1所示

  1. 这里我所选用的是数字控件和虚拟浮点数控件(数字:n0 ;虚拟浮点数:x0)
    如图2所示
  2. 先介绍数字控件,我们只需要看其属性列表的val那栏如图2所示
    val:初始值最小-2147483648,最大2147483647
    发送指令的书写格式可参考指令集(例:n0.val=1000
  3. 对于虚拟浮点数,实际上就是小数,我们需要看val,vvs0,vvs1这三栏,如图3所示
    val:初始值最小-2147483648,最大2147483647
    vvs0:整数位数(0为自动,最大10位)
    vvs1:小数位数(0为无小数,最大8位)
    显示小数(例:2.555)的方法:
    假如vvs0设置为:1;
    vvs1设置为:3;
    发送指令:x0.val=2555
    其中:2存放在整数位,555存放在小数位

附上我的代码:

#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
void HMISend(u8 k);
int main(void)
{HAL_Init();                     //初始化HAL库   Stm32_Clock_Init(360,25,2,8);   //设置时钟,180Mhzdelay_init(180);                //初始化延时函数uart_init(9600);              //初始化USARTLED_Init();while(1){LED0=!LED0;   //检验程序是否被卡住printf("x0.val=%d",5233); //5.233HMISend(0xff);printf("n0.val=%d",265); //265HMISend(0xff);  delay_ms(500);}
}
void HMISend(u8 k)           //字节发送函数
{   u8 i;for(i=0;i<3;i++){if(k!=0){  HAL_UART_Transmit(&UART1_Handler,&k,1,1000);    //发送一个字节   delay_ms(10);while((__HAL_UART_GET_FLAG(&UART1_Handler,UART_FLAG_TXE)==RESET)){};   //等待发送结束delay_ms(10);} }
}

附上陶晶驰USART HMI资料链接

串口屏资料

STM32F429与陶晶驰串口屏数据传输(1)相关推荐

  1. STM32F429与陶晶驰串口屏数据传输(2)

    串口屏发送数据单片机 波特率要改为9600 数据的传输并非二进制数,而是 ASCII 值 stm32f429单片机:UART-串口接收 1. 串口接收中断程序的配置(HAL库) (1)首先要去配置串口 ...

  2. cubemx stm32 陶晶驰 串口屏 基于YXY通信原理的串口屏驱动代码

    陶晶驰串口屏 资料 陶晶驰串口屏是本质是一个MCU,屏幕是MCU的模块,一般是一块TFT屏幕.在串口屏厂商提供的软件上面编写界面,然后通过串口直接烧到串口屏的MCU上,然后在屏幕上展示出来. 串口屏资 ...

  3. 【陶晶驰串口屏】stm32h743驱动cubeide配置

    [陶晶驰串口屏]stm32h743驱动cubeide配置 陶晶驰串口屏简介 串口屏使用思路 单片机控制串口屏 成功显示! 陶晶驰串口屏简介 首先介绍串口: 串口正常情况下包括至少两根信号线,作为像是U ...

  4. 陶晶驰串口屏使用总结

    屏幕型号:TJC1060X570_011 FLASH:128M RAM:32KB Frequency:200M 1.关于图层显示问题,陶晶驰的page界面是最底层的,控件是第二层的,图片是最上层的,新 ...

  5. STM32CUBEMX学习笔记——陶晶驰串口屏中断接收数据

    网上很多串口屏的开发都是基于标准库开发的,我本人接触到的开发模式是CUBEMX,两种开发环境导致很多资料之间有点割裂,因此我将自己之前学习标准库的开发方式利用CUBEMX实现的方法写在这,防止自己忘记 ...

  6. STM32F103—有关陶晶驰串口屏的串口使用代码

    串口HMI的基本指令集(官网链接) [USART HMI 资料中心] 注:设备接收指令结束符为"0XFF 0XFF 0XFF"三个字节(HEX数据,不是字符串数据). 适用于STM ...

  7. 陶晶驰串口屏与香橙派linux开发板踩坑记录

    一开始我是这么接线的,想着反正香橙派能对外输出5V,这样就不用外部电源了,但是发现指令执行异常,非常诡异,只有第一条指令能执行,后面的不行,重启后,还是这么个轮回. 直到我发现 外部供电接法 - 淘晶 ...

  8. 陶晶驰串口屏学习3之get和prints

    1.两个都是串口发送函数,也就是从串口屏发送数据给单片机.串口调试助手等其他设备,二者的区别见 2.get prints printh发送数据命令一般要在页面刷新命令之前,不然数据就没了.

  9. 陶晶驰stm32_陶晶驰串口屏学习日记(1)

    关于文本控件的key属性和按钮控件的注意事项: 1 一定加入的是文本控件,把vscope设置成全局才能使用key属性里的键盘.我刚开始用了文本控件设置了key为keybdB,然后又自己弄了个按钮控件, ...

最新文章

  1. 著名ERP厂商的SSO单点登录解决方案介绍一
  2. 倾斜模型精细化处理_广州智迅诚单体化实景三维模型为智慧城市提供了平台数据基础...
  3. 积木赛尔号机器人_《赛尔号大电影7》定档2019年暑期 十年陪伴升级归来
  4. 面向全球用户的Teams app之Culture数字篇
  5. [react] React中getInitialState方法的作用是什么
  6. 计算机应用基础文字处理测试题,国家开放大学《计算机应用基础》考试与答案形考任务模块2Word2010文字处理系统—客观题测验答案.docx...
  7. java 传xml js_JavaScript实现的XML与JSON互转功能详解
  8. 计算机网络—基础概念
  9. 价值过亿的架构师面试试题大全和答案、架构大全、代码大全
  10. Xmind模板文档分享——商务模板(2)
  11. 编译原理(龙书):第七章部分题目参考答案
  12. 迅雷7核心技术Bolt界面引擎正式开放
  13. 教你如何制作网页木马
  14. 神仙工具!百度网盘资源一键转存阿里云盘,YYDS
  15. Y460安装桌面导航
  16. 非对称加密技术中,iFace人脸密钥技术排名第三
  17. 移动硬盘计算机管理无法显示,移动硬盘不显示怎么办
  18. WPS-系统右键:开启后无法显示
  19. MySQL--数据库基础知识点(一)
  20. 推荐一款最好用的windows文件管理器

热门文章

  1. palacehoder的自定义样式【输入框input /文本域textarea】
  2. 004_Photoshop CS5 文件的置入、导出和单文件保存方式
  3. hdu 6681 2019 杭电多校九1002 Rikka with Cake(扫描线+树状数组)
  4. python必须用电脑吗_Python 初学者请注意!别这样直接运行 Python 命令,否则电脑等于“裸奔”...
  5. 图像的线性分类器(感知机、SVM、Softmax)
  6. CentOS 7上安装和保护 MQTT 的 mosquito
  7. C#发现之旅 --- WinForm.NET中开发具有固定背景图片的可滚动控件
  8. KTV主机服务器系统,ktv总服务器主机
  9. 作业2:智能网联汽车基础
  10. RPA之家手把手带你入门Blue Prism教程系列5_认识Process Studio Object Studio