找回密码
 立即注册
楼主: 神***

STC32示波器按照STC开源老梁示波器资料 重新设计了一个

[复制链接]

该用户从未签到

0

主题

2

回帖

30

积分

新手上路

积分
30
发表于 2024-2-20 22:05:55 | 显示全部楼层
你好,虚拟示波器是通过ISP下载软件上的虚拟示波器,进行显示和操作的;
请问:自己如何编写电脑上的显示虚拟示波器程序,从哪下手?
回复 支持 反对 送花

使用道具 举报

该用户从未签到

550

主题

9234

回帖

1万

积分

管理员

积分
13942
 楼主| 发表于 2024-2-20 22:16:55 | 显示全部楼层
截图202402202215067557.jpg

截图202402202216124920.jpg


截图202402202216486429.jpg


截图202402202217366344.jpg

截图202402202218009207.jpg

回复 支持 反对 送花

使用道具 举报

该用户从未签到

550

主题

9234

回帖

1万

积分

管理员

积分
13942
 楼主| 发表于 2024-2-20 22:18:34 | 显示全部楼层
数字示波器接口
 
480x320的示波器波形分辨率为:水平400点,垂直250点
网格每5个点显示一点,每25点一排点
数据意义:
  0(00H)~250(FAH)为数据。
  251(FBH)为帧数据头,后面是400个字节的Y轴数据。
  252(FCH)为点数据头,之后是点X、Y的数据。
  253(FDH)为转义符,如果收到这个字符,则之后的一个字节要加上0x80。
  254(FEH)为命令头,表示后面是命令。
  255(FFH)为数据结束标志。
 
数据传输协议:
功能FB:
单片机上传数据(400个点的数据)
命令格式:
FBH DAT0 DAT1 ..... DAT399 FFH
命令说明:
1字节:
命令头(帧数据)
2~401字节:
400个Y轴数据(数值为0~250),字节序号0~399就是X轴
402字节:
命令结束(固定为FFH)
示例:

功能FC:
单片机上传数据(1个点的数据)
命令格式:
FCH DAT0 DAT1 DAT2 FFH
命令说明:
1字节:
命令头(点数据)
2~3字节:
X轴位置(0~399),DAT0为位置高字节,DAT1为位置低字节
4字节:
Y轴数值(0~250)
5字节:
命令结束(固定为FFH)
示例:

功能FE:
上传设置参数(时基参数02)
命令格式:
FEH 02H DAT0 DAT1 DAT2 FFH
命令说明:
1字节:
命令头(设置参数命令)
2字节:
参数类型(02: 时基参数)
3~4字节:
时基值,高字节在前,低字节在后
5字节:
时基单位。0:ns,1:us,2:ms,3:s
6字节:
命令结束(固定为FFH)
示例:
FEH 02H 01H F4H 01H FFH
01F4H十进制为500,01为us,则为500us/DIV。DIV是水平一个大格

功能FE:
上传设置参数(垂直幅度参数03)
命令格式:
FEH 03H DAT0 DAT1 DAT2 FFH
命令说明:
1字节:
命令头(设置参数命令)
2字节:
参数类型(03: 垂直幅度参数)
3~4字节:
垂直幅度值,高字节在前,低字节在后
5字节:
幅度单位。0:uV,1:mV,2:V
6字节:
命令结束(固定为FFH)
示例:
FEH 03H 01H F4H 01H FFH
01F4H十进制为500,01为mV,则为500mV/DIV。DIV是垂直一个大格

功能FE:
上传设置参数(运行模式参数04)
命令格式:
FEH 04H DAT0 FFH
命令说明:
1字节:
命令头(设置参数命令)
2字节:
参数类型(04: 运行模式参数)
3字节:
运行模式。0:停止,1:运行
4字节:
命令结束(固定为FFH)
示例:
FEH 04H 01H FFH
当前状态为运行

功能FE:
上传设置参数(触发模式参数05)
命令格式:
FEH 05H DAT0 FFH
命令说明:
1字节:
命令头(设置参数命令)
2字节:
参数类型(05: 触发模式参数)
3字节:
触发模式。0:上升沿,1:下降沿
4字节:
命令结束(固定为FFH)
示例:
FEH 04H 00H FFH
当前触发模式为上升沿触发

功能FE:
上传设置参数(触发方式参数06)
命令格式:
FEH 06H DAT0 FFH
命令说明:
1字节:
命令头(设置参数命令)
2字节:
参数类型(06: 触发方式参数)
3字节:
触发方式。0:自动,1:普通(标准),2:单次
4字节:
命令结束(固定为FFH)
示例:
FEH 04H 00H FFH
当前触发方式为自动触发

功能FE:
上传设置参数(自动侦测的频率参数07)
命令格式:
FEH 07H DAT0 DAT1 DAT2 DAT3 FFH
命令说明:
1字节:
命令头(设置参数命令)
2字节:
参数类型(07: 频率参数)
3~6字节:
频率值,高字节在前,低字节在后
7字节:
命令结束(固定为FFH)
示例:
FEH 07H 00H 00H 27H 10H FFH
00002710H十进制为10000,则当前自动侦测到的频率为10000Hz

功能FE:
上传设置参数(波形左移时间参数08)
命令格式:
FEH 08H DAT0 DAT1 DAT2 FFH
命令说明:
1字节:
命令头(设置参数命令)
2字节:
参数类型(08: 时间偏移参数)
3~4字节:
时间偏移/左移时间值,高字节在前,低字节在后
5字节:
时间单位。0:1ns,1:10ns, 2:100ns, 3:1us,4:10us, 5:100us, 6:1ms,7:10ms, 8:100ms, 9:1s
6字节:
命令结束(固定为FFH)
示例:
FEH 08H 01H F4H 03H FFH
01F4H十进制为500,03为1us,则波形左移了500us

功能FE:
上传设置参数(清屏指令09)
命令格式:
FEH 09H FFH
命令说明:
1字节:
命令头(设置参数命令)
2字节:
参数类型(09: 清屏指令)
3字节:
命令结束(固定为FFH)
示例:
FEH 09H FFH
PC收到后,清除波形显示

功能FE:
PC下传按键值(下传指令01)
命令格式:
FEH 01H DAT0 FFH
命令说明:
1字节:
命令头(设置参数命令)
2字节:
参数类型(01: 下传按键指令)
3字节:
按键类型。01:时基+,02:时基-,03:垂直幅度+,04:垂直幅度-,05:运行/停止,06:触发模式,07:触发方式,08:波形左移,09:波形右移,0A:波形上移,0B:波形下移, 0C:上传参数
4字节:
命令结束(固定为FFH)
示例:
FEH 01H 05H FFH
PC下传05键值到单片机



串口绘图工具协议
 
数据流格式:
  串口绘图工具可支持同时绘制1~8通道的数据,
  当使能显示通道后,相应通道的数据需要按通道顺序上传到串口助手。
  例如:如果使能了通道1和通道2,则数据流的格式必须如下:
     通道1的第1个点的数据、通道2的第1个点的数据、
     通道1的第2个点的数据、通道2的第2个点的数据、
     ...
     通道1的第n个点的数据、通道2的第n个点的数据

  每个数据点数据位宽可以是8bit或者16bit,
  16bit的数据支持LE(低字节在前)和BE(高字节在前)格式。
  使能通道和数据格式可在画图界面的右键菜单的“设置”界面进行设置。
  注意:数据格式修改、通道使能设置以及加载/保存数据操作必须在
     串口助手处于关闭状态时(即画图工具处于空闲状态时)才能进行。

绘图界面键盘/鼠标操作:
目的
操作方法
整体波形上/下/左/右移动
在波形绘制区域按住鼠标左键上/下/左/右移动
整体波形仅在水平方向
左/右慢速移动
在波形绘制区域上/下滚动鼠标滚轮
按键盘左/右方向键
整体波形仅在垂直方向
上/下慢速移动
在左边的垂直刻度区域上/下滚动鼠标滚轮
按键盘PageUp/PageDown键
整体波形仅在水平方向
左/右快速移动
在下方的进度条区域用鼠标左键按住进度块左/右移动
单通道波形上/下移动
在左边的垂直刻度区域用鼠标左键按住相应通道的指示器上/下移动
整体波形水平放大/缩小
在波形绘制区域按住鼠标左键,然后上/下滚动鼠标滚轮
按键盘上/下方向键
整体波形垂直放大/缩小
在左边的垂直刻度区域按住鼠标左键,然后上/下滚动鼠标滚轮
移动到波形的头部
在下方的进度条区域用鼠标左键将进度块拖到最左边
按键盘Home键
移动到波形的尾部
在下方的进度条区域用鼠标左键将进度块拖到最右边
按键盘End键
如何动态绘制波形并实时显示最新数据:
  在下方的进度条区域用鼠标左键将进度块拖到最右边或按键盘End键
 




FFT(快速傅立叶)绘图接口
 
数据意义:
  0(00H)~250(FAH)为数据。
  251(FBH)为帧数据头,后面是128/64/32个字节的Y轴数据。
  255(FFH)为数据结束标志。
 
数据传输协议:
功能FB:
单片机上传数据(128个点的数据)
命令格式:
FBH DAT0 DAT1 ..... DAT127 FFH
命令说明:
1字节:
命令头(帧数据)
2~129字节:
128个Y轴数据(数值为0~250),字节序号0~127就是X轴
130字节:
命令结束(固定为FFH)
示例:
FBH xxH xxH ... xxH FFH

功能FB:
单片机上传数据(64个点的数据)
命令格式:
FBH DAT0 DAT1 ..... DAT63 FFH
命令说明:
1字节:
命令头(帧数据)
2~129字节:
128个Y轴数据(数值为0~250),字节序号0~63就是X轴
130字节:
命令结束(固定为FFH)
示例:
FBH xxH xxH ... xxH FFH

功能FB:
单片机上传数据(32个点的数据)
命令格式:
FBH DAT0 DAT1 ..... DAT31 FFH
命令说明:
1字节:
命令头(帧数据)
2~129字节:
128个Y轴数据(数值为0~250),字节序号0~31就是X轴
130字节:
命令结束(固定为FFH)
示例:
FBH xxH xxH ... xxH FFH

回复 支持 反对 送花

使用道具 举报

该用户从未签到

550

主题

9234

回帖

1万

积分

管理员

积分
13942
 楼主| 发表于 2024-2-20 22:22:22 | 显示全部楼层
电脑端的程序已经写好了,直接使用,电脑端的程序不开源/不提供指导,
通信协议是开源的/你可以根据这自行开发电脑端的软件,但我们不参与。
示波器程序@
单片机,是开源的,C语言 源代码 开源

截图202402202222048070.jpg
www.stcai.com/hxgnsyb


回复 支持 反对 送花

使用道具 举报

该用户从未签到

0

主题

2

回帖

30

积分

新手上路

积分
30
发表于 2024-2-21 13:15:31 | 显示全部楼层
谢谢
回复 送花

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 19:34 , Processed in 0.062662 second(s), 45 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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