最近,托朋友用STM32F103评估板和迪文屏做了交互(@田),没写多少代码,就实现了一些简单常用的功能,还是很简单的!今天跟大家分享一下:
一、评估板使用说明
1.功能

图1:整体效果图
图2:MCU_KEY_LED
图3:MCU-STM32F103开发板
图4:按键及LED
注:可实现的功能:
a.通过屏上的图标来控制5路LED灯的状态(LED灯的开和关来表示状态),上电5路LED熄灭状态。
b. 通过评估板上的物理按键1,来控制亮屏和息屏,上电状态为亮屏状态。
c. 通过评估板上的物理按键2&3,来调节屏幕上的温度指数,上电初始值25度,以1为步长递增递减,最小0,最大255。
d. 通过评估板上的物理按键4,来控制音乐的播放和停止,上电音乐不播放。
e. 通过评估板上的物理按键5&6来调节音量的大小,上电音量值50,以10为步长递增递减,最小0,最大250。
2、需使用的工具
a.硬件:正点原子Mini STM32开发板(MCU为STM32F103RCT6,串口TTL电平)+面包板手工焊接5路LED和6路按键扩展。
b. 软件:STM32CubeMX+KEIL MDK5。
c.原理图:详见“硬件原理图”文件夹。
d.程序:工程文件在DGUS II工程文件夹中,下载DWIN_SET导入屏中即可。 STM32程序在“MCU_STM32F103RCT6程序”文件夹。(文件过大,感兴趣的可以给我留言)
二、硬件及软件介绍
1、硬件原理图:详见“硬件原理图”文件夹
(1)硬件接口定义:

(2)硬件原理图
图5:STM32F103原理图
图6:LED及KEY原理图
2.软件程序
界面工程文件在“DGUS_II工程”文件夹中。STM32程序在“MCU_STM32F103RCT6程序”文件夹中。
(1)界面工程
LED1图标:0X1000
LED1按键:0X1200
LED2图标:0X1001
LED2按键:0X1201
LED3图标:0X1002
LED3按键:0X1202
LED4图标:0X1003
LED4按键:0X1203
LED5图标:0X1004
LED5按键:0X1204
音量显示框地址:0X1210
温度显示框地址:0X1110
(2)MCU程序
1).main():硬件初始化,触摸屏初始化,按键扫描,接收触摸屏数据处理
int main(void)
{
uint8_t i;
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_USART1_UART_Init();
while (1)
{
HAL_UART_Receive_IT(&huart1,&usart1_data,1);
if(UP_POWER_FLAG == 0)//上电初始化触摸屏
{
UP_POWER_FLAG = 1;
HMI_SEND_BUF[0] = TEMP;
PLC_Data_Wr2HMI(0X1110,0,1);
delay_ms(100);
HMI_SEND_BUF[0] = VOLUME;
PLC_Data_Wr2HMI(0X1210,0,1);//ÒôÁ¿ÏÔʾ
delay_ms(100);
WRITE_HMI(0X00A1,VOLUME,0x00,0,0,2);//ĬÈÏÒôÁ¿50
delay_ms(100);
for(i=0;i<5;i++)
{
HMI_SEND_BUF[i] = 0;
}
for(i=0;i<20;i++)
{
usart1_rxBuf[i] = 0x00;
}
HMI_HANDLEFLAG = 0;
}
if(PLAY ==1)//监测是否播放完音乐
{
READ_HMI(0x00a1,1);
delay_ms(100);
if(HMI_HANDLEFLAG)
{
if(usart1_rxBuf[8] == 0)
{
PLAY = 0;
for(i=0;i<50<

本文分享了使用STM32F103评估板和迪文屏进行交互,实现包括LED控制、亮屏息屏、温度调整、音乐播放控制和音量调节等功能。详细介绍了所需硬件、软件工具,以及程序设计和接口定义,提供相关工程文件和程序下载。
最低0.47元/天 解锁文章
2870





