串口屏技术(2):虚拟设备协议与编程
(5)STCISP_虚拟屏包括好几种虚拟设备,下图是其中几种,依次是:虚拟键盘、OLED-128x64、7段数码管、LED-DIP40和LCD-128x64。(6)要通过同一个串口控制不同的虚拟设备实现不同的显示功能,就需要输出与之对应的指定的字符串序列,这个字符串序列与显示功能的关系就称为“通讯接口协议”。下图是7段数码管虚拟设备的通讯接口协议:(7)这是一个典型的设备通讯协议。通常我们把实现一个功能的完整字符串称为“一条指令”,它分为以下几个部分:命令头段。一条通讯链路上通常连接多个设备,命令头通常用来区分不同的设备。这里的命令头对应的ASCII编码正好是“7SEG”。功能选择段。通常用来指定不同的设备功能,比如这里的53H是显示字符串,4CH是显示长整数。保留段:通常跟在功能段后面的是子功能或者功能参数数据段。为了保持整条指令的完整性,对于没有子功能的指令,一般用保留段来充填。数据段:完成某个功能的数据,比如要显示的字符串,要显示的长整数等。(8)本文以跑马灯为例介绍STC-ISP虚拟设备的编程方法。下图是一段典型的用P2端口实现的硬件跑马灯程序:图中把其中第50行到第86行程序省略了。这段程序的效果就是上面视频中画面中间打狗棒显示的那样。
(9)在STC-ISP上的LED-DIP40虚拟设备上显示P2跑马灯的效果,可以根据它的通讯接口协议来编程。下图是该协议的具体内容:(10)其中示例1是控制P0口的LED发光的,可以参考它来编程,实际的程序如下图:根据协议,“TX_Buf = 0x04;”语句中的右端“0x01”代表P0,“0x02”代表P1,“0x04”代表P2,余此类推。(11)第61行程序是向串口输出一个C字符串。按照C字符串以“0”为结束符的定义,第60行的数据0就是这个结束符,让puts向串口输出到此为止。
(12)在虚拟设备LED-DIP40显示的跑马灯动态效果如上面视频中右上角那样,与硬件的LED同步。
感谢您的USB-CDC串口送电脑虚拟屏幕的资料分享,期待您的下次分享!
补上动画
学习了,感谢分享。
页:
[1]