找回密码
 立即注册
查看: 1433|回复: 3

串口屏技术(2):虚拟设备协议与编程

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-06-13 00:05:49

115

主题

1223

回帖

1万

积分

荣誉版主

积分
13004
发表于 2022-11-23 22:16:41 | 显示全部楼层 |阅读模式
(5)STCISP_虚拟屏包括好几种虚拟设备,下图是其中几种,依次是:虚拟键盘、OLED-128x647段数码管、LED-DIP40LCD-128x64
6)要通过同一个串口控制不同的虚拟设备实现不同的显示功能,就需要输出与之对应的指定的字符串序列,这个字符串序列与显示功能的关系就称为“通讯接口协议”。下图是7段数码管虚拟设备的通讯接口协议:
Fig02_虚拟设备协议.jpg
7)这是一个典型的设备通讯协议。通常我们把实现一个功能的完整字符串称为“一条指令”,它分为以下几个部分:
命令头段。一条通讯链路上通常连接多个设备,命令头通常用来区分不同的设备。这里的命令头对应的ASCII编码正好是“7SEG”。
功能选择段。通常用来指定不同的设备功能,比如这里的53H是显示字符串,4CH是显示长整数。
保留段:通常跟在功能段后面的是子功能或者功能参数数据段。为了保持整条指令的完整性,对于没有子功能的指令,一般用保留段来充填。
数据段:完成某个功能的数据,比如要显示的字符串,要显示的长整数等。

8)本文以跑马灯为例介绍STC-ISP虚拟设备的编程方法。下图是一段典型的用P2端口实现的硬件跑马灯程序:
Fig03_硬件跑马灯程序.jpg
图中把其中第50行到第86行程序省略了。
这段程序的效果就是上面视频中画面中间打狗棒显示的那样。

9)在STC-ISP上的LED-DIP40虚拟设备上显示P2跑马灯的效果,可以根据它的通讯接口协议来编程。下图是该协议的具体内容:
Fig04_DIP40协议.jpg
10)其中示例1是控制P0口的LED发光的,可以参考它来编程,实际的程序如下图:
Fig05_DIP40程序.jpg
根据协议,“TX_Buf[5] = 0x04;”语句中的右端“0x01”代表P0,“0x02”代表P1,“0x04”代表P2,余此类推。
11)第61行程序是向串口输出一个C字符串。按照C字符串以“0”为结束符的定义,第60行的数据0就是这个结束符,让puts向串口输出到此为止。

12)在虚拟设备LED-DIP40显示的跑马灯动态效果如上面视频中右上角那样,与硬件的LED同步。



回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:40
  • 最近打卡:2025-06-14 12:40:19

25

主题

407

回帖

2527

积分

超级版主

积分
2527
发表于 2022-11-24 11:37:06 | 显示全部楼层
感谢您的USB-CDC串口送电脑虚拟屏幕的资料分享,期待您的下次分享! u=4071536912,2962163358&fm=253&fmt=auto&app=120&f=JPEG.webp.jpg
电话:0513-55012946 QQ:2195591714  微信:  19952583740
  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-06-13 00:05:49

115

主题

1223

回帖

1万

积分

荣誉版主

积分
13004
发表于 2022-11-27 20:41:55 | 显示全部楼层
111.gif

补上动画
  • 打卡等级:以坛为家I
  • 打卡总天数:235
  • 最近打卡:2025-05-26 23:18:18

83

主题

695

回帖

1315

积分

金牌会员

积分
1315
发表于 2025-1-12 12:55:35 | 显示全部楼层
学习了,感谢分享。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-17 03:21 , Processed in 0.306962 second(s), 68 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表