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