迪文智能屏是一款有别于常规串口屏的产品,多数的串口屏只是解决了精致界面的设计与显示问题,而迪文智能屏则可以通过转换板来提供硬件方面的使用资源,如GPIO、UART、ADC等,并支持以C语言来编程对这些引脚资源加以使用。从而使中、小型的应用直接使用该智能屏就可解决问题,而无需另外购置开发板。 在实际测试中,应用转接板所提供的电源引脚只有一组,不能满足多组电源引脚的需求,故在使用时以一块接口扩展板来辅助连接。 1.GPIO口及使用 转接板的所提供的硬件资源如图1所示,为测试GPIO口的使用外部连接如图2所示,其中所用的蜂鸣器为无源蜂鸣器。
图1转接板及硬件资源
图2扩展连接
图3界面设计
经编程测试,以程序控制LED模块的效果如图4所示,以触摸模块控制LED的效果如图5所示.
图4程序控制LED
图5触摸控制LED 此外,还可以利用延时函数来模拟RTC计时,其测试主程序为:
- ***it LED1=P1^0;
- ***it LED2=P1^1;
- ***it beep =P1^2;
- ***it KEY1=P1^3;
复制代码
在使用软按键的情况下,还可以通过
控件来直观地指示操控状态,该控件的设置如图6所示。
图6控件参数设置 在运行时,按下不同的键会点亮界面上不同的指示灯,将图7所示。
图7触摸控制LED 2.UART及使用 转接板提供了多个通讯串口,其中最常使用的是UART2,用它不但能直接使用printf语句来输出信息,还可以使用UART2_Sendbyte()函数来发送字节数据,这便为串口设备的使用和控制提供了极大的便利。 仍以MP3语音模块播放的使用为例,若在界面上使用3个
控件,且变量地址分别为0x1000、0x1002和0x1004,并设定其键值分别为1、2和3,则可通过变量值的判别来播放指定的内容。 其程序如下:
- u=Read_Dgus(0x1000);
- if(u==1)
- {
- play(1);
- }
- u=Read_Dgus(0x1002);
- if(u==2)
- {
- play(2);
- }
- u=Read_Dgus(0x1004);
- if(u==3)
- {
- play(3);
- }
复制代码
经测试,其运行结果见图8所示。
图8 测试结果 3.数模转换器的使用 转接板还提供了数个数模转换输入引脚,通过它可检测外部的模拟信号值,其检测效果如图9所示。
图9 模拟检测
图10 控件设置
在进行数据检测时,其实并不需要对硬件有过多的连接,你只需可把它视为对指定单元的读取即可。 执行数据采集的主程序为:
- void main(void)
- {
- u16 ad;
- float ad_v;
- InitCPU();
- Starttimer(1,500);
- while(1)
- {
- ad = (u32) Read_Dgus(CHANNEL1)/2;
- write_dgus_vp(0x2000,(u8*)&ad,1);
- ad_v = ad*3.3f/(4096.0f);
- write_dgus_vp(0x2001,(u8*)& ad_v,4);
- delay_ms(1000);
- }
- }
复制代码
至此,就对转接板所提供的硬件资源进行较完整的测试。相较于常规的串口屏,迪文智能屏以双核的芯片架构为我们提供了2个设计空间,即界面设计空间和编程设计空间,若掌握了它们的设计方法,就如同掌握了在2个空间进行穿越的本领,迪文智能屏实在是魅力无穷! 感谢社区及厂家为我们提供了这样好的产品和体验机会,对此再次表示深深的感谢!
|