基于STM32CUBEMX的淘晶驰串口屏通讯入门

文件名称为HMI CODE,包含两个字库和一个工程

双击test打开工程并照教程载入字库

如图所示为工程模板

如何串口通讯改变屏幕参数

首先点击上方的调试界面进入调试

点击左下角键盘输入,在指令区域输入x1.val=1点击执行所有代码

可以看到此时绿灯旁边示数为0.01这是因为采用了虚拟浮点数,因此想要显示小数就必须乘以100来显示。比如要显示3.14,输入就是314

以串口3为例,单片机执行指令

HAL_UART_Transmit(&huart3,"x1.val=1000\xff\xff\xff", 14, 0xffff);

注意14为长度是要算好的,其他指令根据长度是要变换的,三个\xff为截止符一定要加。

此时选择用户MCU输入,选择好波特率和串口并点击开始可以看到

Vci示数为10,我们输入的指令是1000,虚拟浮点数减少两位为10

如何关机保存数据

写入一个变量到用户存储区(EEPROM)

(支持X3、X5、K0系列)

wepo att,add

att:变量/常量

add: 用户存储区位置(从0开始,到1023结束,总共1024个)

实例1:wepo t0.txt,10 (将t0.txt的内容写入用户存储区的第10位置,在储存区中的占用空间为t0.txt的最大设置值+1,即t0的txt-maxl属性表示的大小+1,假如txt-maxl=20,那么最多可以放下10个汉字或者20个英文字母,实际占用的控件为10-30,共21个位置,下个存储地址应从31开始)

实例2:wepo “abcd”,20   (将字符串“abcd”写入用户存储区的第20位置,在储存区中占用大小为5字节,一个英文字母1个字节,共四个字节,因为是字符串,多加1个字节,最后为5个字节,实际存储地址为20-24,注意:由双引号括起来的或者xx.txt的就是字符串)

实例3:wepo 125,10   (将数值125写入用户存储区的第10位置, 在储存区中占用大小为4字节,即10-13位置)

实例4:wepo “一二三四五”,100 (将”一二三四五”字符串写入用户存储区的第100位置,每个汉字占用2字节,5个汉字共10字节,因为是字符串,加1字节,共11字节,实际存储地址100-110,下个存储地址应该从111开始)

备注:

1.写入内容为变量字符串的时候,在储存区中的占用空间为此变量的最大字符数+1;写入内容为常量字符串的时候,在储存区中的占用空间为此常量字符串的实际字符数+1。

2.写入内容为变量数值或常量数值的时候,在储存区中的占用空间统一为4字节。

3.使用用户存储区读写操作过程中请切记规划好数据区位置,以免位置交错引起数据覆盖错乱。

从用户存储区(EEPRO)读数据到一个变量

repo att,add

att:目标变量

add: 用户存储区位置(从0开始)

实例1:repo t0.txt,10   (从用户存储区的10位置读数据到t0.txt变量中,在储存区中的读取数据量为t0.txt的最大设置值+1,即t0的txt-maxl属性表示的大小+1)

实例2.repo n0.val,10   (从用户存储区的10位置读数据到n0.val,在存储区中的读取数据量为4字节)

备注:

1.读入内容为变量字符串的时候,在储存区中的读取数据量为此变量的最大字符数+1。

2.读入内容为变量数值时候,在储存区中的读取数据量统一为4字节。

3.使用用户存储区读写操作过程中请切记规划好数据区位置,以免位置交错引起数据覆盖错乱。

如何实现按键长按功能

1.新建一个定时器tm0,en属性设置为0,其他属性不用管;此时定时器处于默认关闭状态。

2.在按钮的按下事件中写上如下代码:

tm0.tim=2000     2秒后进入长按功能

tm0.en=1         打开定时器

3.在按钮的弹起事件中写上如下代码:

tm0.en=0        已经松手了,所以定时器立即停止工作

4.在定时器tm0的定时事件中写上如下代码:

tm0.tim=100      按钮刚按下的时候,定时时间是2秒,这里修改为100ms,就意味着如果不松手,每100ms会来执行一次后面的代码

此处写上您想操作的长按事件代码,比如:n0.val++

如何实现单片机读取数据

如图选择滑块来实现频率的改变

在弹起事件和滑动事件中输入

n1.val=h1.val      使用n1显示示数

printh AA         起始标识符,可以自己更改,主要作用是让单片机识别串口数据是谁的

prints h1.val,1     将h1的数据发送出去,长度为1

printh BB         结束标识符,可以自己更改,作用同上

wepo h1.val,10    如前面介绍将数字保存起来

此时单片机内使用字符串接收,黄色部分不能去掉,会报错

#define RXBUFFERSIZE  6    //最大接受字节数

uint8_t RxBuffer[RXBUFFERSIZE];   //接收数据

在主函数写入

HAL_UART_Receive(&huart3, (uint8_t *)&RxBuffer,4,0xff);

此时做逻辑判断

if (RxBuffer[0]==0xAA&&RxBuffer[2]==0xBB) //起始位0是0XAA结束位是0XBB

{

       fre_fenpin=RxBuffer[1];     //fenpin等于第二个数组,也就是我们发送的数据

       fre_val = (fre_fenpin)*10;  //乘以10,因为我分频采用了71,需要计算

       TIM8->ARR=fre_val;//更改频率,不做解释

             HAL_Delay(1);

}

  • 9
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: STM32CubeMX是一种集成开发环境(IDE),专为STM32微控制器系列设计的软件。它可以帮助开发人员快速而方便地生成包含配置和初始化代码的完整项目。以下是描述STM32CubeMX教案的详细内容: 教案目标: 1. 了解STM32CubeMX的基本概念和功能。 2. 学习如何使用STM32CubeMX生成项目代码。 3. 学习如何配置STM32微控制器的引脚、时钟和外设。 4. 掌握如何添加中断和配置外设的参数。 5. 学会使用STM32CubeMX生成的代码进行应用开发。 教案内容: 1. 简介部分: - 介绍STM32CubeMX的作用和优势。 - 介绍STM32系列微控制器的特点和应用领域。 - 引导学生了解STM32CubeMX的界面和基本操作。 2. 使用STM32CubeMX生成项目代码: - 讲解如何创建一个新项目。 - 引导学生选择适当的微控制器型号。 - 演示如何配置引脚、时钟和外设。 - 解释每个配置选项的作用和影响。 - 演示如何生成项目代码。 3. 配置外设和中断: - 解释不同外设的功能和使用场景。 - 演示如何配置外设参数,如UART、SPI和I2C。 - 介绍中断的概念和作用。 - 演示如何添加中断处理函数和配置中断优先级。 4. 在生成的代码上进行应用开发: - 引导学生了解生成的代码结构和功能文件。 - 解释主要函数的作用和流程。 - 演示如何在生成的代码上添加应用逻辑。 - 引导学生进行基本的应用开发练习。 教案总结: 通过本教案,学生将了解并掌握如何使用STM32CubeMX生成项目代码,并配置和初始化STM32微控制器的引脚、时钟和外设。他们还将学会添加中断和配置外设的参数,以及在生成的代码上进行应用开发。这将为学生将来的STM32微控制器开发奠定坚实的基础,提高他们的开发效率和质量。 ### 回答2: STM32CubeMX是一种基于STM32微控制器的软件配置工具,它的教案主要涵盖以下内容: 首先,教案会介绍STM32CubeMX的基本概念和使用方法。学生将学习如何下载和安装STM32CubeMX软件,并了解其主要功能和特点。教案还会演示如何创建一个新的STM32项目,并通过图形化界面来配置STM32微控制器的各种外设,如GPIO、定时器、串口等。 其次,教案会详细介绍STM32CubeMX的配置选项和参数设置。学生将学习如何选择适合自己的STM32系列微控制器,并根据项目的需求配置相应的时钟源、时序参数和电源管理选项。教案还会讲解如何配置外设的工作模式、引脚分配和中断设置,以及如何通过STM32CubeMX自动生成初始化代码。 然后,教案会介绍STM32CubeMX的代码生成和项目管理功能。学生将学习如何生成用于不同开发环境(如Keil、IAR等)的初始化代码,并将其集成到自己的项目中。教案还会演示如何使用STM32CubeMX的项目管理功能,包括添加和删除文件、导出和导入工程等。 最后,教案会引导学生进行实际的STM32开发实践。学生将通过实验来探索STM32CubeMX的各种功能和优势,例如通过GPIO控制LED灯、通过UART与PC进行通信等。教案还会提供一些常见问题的解答和调试技巧,帮助学生更好地理解和应用STM32CubeMX。 总的来说,STM32CubeMX教案旨在帮助学生快速入门STM32微控制器的开发,并通过图形化配置工具和自动生成代码的功能提高开发效率,并培养学生的问题解决和调试能力。它是STM32微控制器开发过程中的重要工具,对于初学者和有经验的开发者都具有很大的帮助作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值