这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【迪文串口屏开发】1、helloworld

共1条 1/1 1 跳转至

【迪文串口屏开发】1、helloworld

高工
2026-04-07 16:35:00     打赏

【前言】

翻出来了好多年前的迪文串口屏,准备从头学习一下迪文串口屏的开发。

【工程创建】

1、创建一个gui(用于存放界面设计软件)

2、创建一个app(用于存放C51的代码)

image.png

【界面设计】

1、打开DGUS软件,新建工程,基于480*272的界面软件

image.png

2、设计一张精美的图片

image.png

3、将其放到Image文目录下面,并加载到工程中:

image.png

4、添加一个数据显示的控件:

image.png

将其属性设置如下:

image.png

5、我们点击一下生成按钮来让DGUS Tool开发工具自动生成下载文件,如下图所示:

image.png

【固件下载】

1、准备一个SD卡,格式化为FAT32:

image.png

2、生成背景图片icl:

image.png

3、将DWIN_SET目录下面的bin文件全部复制到SD卡中

image.png

4、将SD卡插到迪文屏上,重新上电:

image.png

【C51程序设计】

复制官方的教程到app目录下面:

#include "sys.h"

#define START_WIN_NUM_VP		0x2000 //启动界面上的数据变量显示控件的VP地址 

//因为数据变量显示控件的变量类型设置为了"长整数(4字节)",
//所以num变量的数据类型得设为u32,即也是4字节,保持一致
xdata u32 num;

void main(void)
{   
	sys_init();//系统初始化
	
	//num变量赋予初值0,注意,对于xdata存储区域的变量,在定义的时候,不能
	//直接赋初值,即对于xdata u32 num = 0;这种定义变量的方式是有问题的,
	//这是由于T5L芯片内部自身原因造成的,因为T5L芯片内部扩展的32KB ram
	//必须得在sys_init()系统初始化之后才能够被正常的访问,
	//如果你想在定义变量的时候进行赋初值,那么你可以使用data或者idata关键字,
	//如 idata u32 num = 0;所示
	num = 0;
	while(1)
	{   
		sys_delay_ms(1000);//精确延时1秒
		num++;//加1
		sys_write_vp(START_WIN_NUM_VP,(u8*)&num,2);//把当前的数值更新到VP地址,4字节也就是2个字
	}
}

然后使用专用的C51下载工具:

image.png

【效果展示】

image.png

下载好后,串口屏就可以成功的计数了。

【总结】

迪文屏GUI设计非常简单,结合他的C51可以实现低成本的控制设计。





关键词: 迪文     串口     hello     world    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]