通讯接口说明:
1、若使用HID设备进行通讯,通过HID的中断端点发送或接收数据
2、若使用串口进行通讯,则直接通过串口发送或接收数据
3、发送和接收数据参考每个功能的命令格式
STC32G-调试接口示例代码(USB-HID-版本) |
STC32G-调试接口示例代码(普通串口版本) |
STC32G示波器USB-CDC送电脑显示 |
7段数码管接口 | DIP40封装LED接口 | DIP64封装LED接口 | LCD12864接口 |
OLED12864接口 | OLED320240接口 | OLED480320接口 | OLED640480接口 |
虚拟键盘接口 | 数字示波器接口 | 串口绘图接口 | FFT绘图接口 |
功能1: | 在数码管上显示字符串 |
命令格式: | 37H 53H 45H 47H 53H 00H 00H 00H s1 s2 s3 s4 ... |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 功能选择(53H显示字符串) |
6~8字节: | 保留 |
9~n字节: | 字符的ASCII码,字符串必须以‘\0’结尾 |
示例: |
发送37H 53H 45H 47H 53H 00H 00H 00H 31H 32H 2EH 33H 00H |
在数码管上会显示“12.3” | |
库函数声明: | int SEG7_ShowString(const char *fmt, ...); |
库函数调用: |
SEG7_ShowString("%08lx", 0x1234abcdL); |
功能2: | 在数码管上显示4字节长整型数 |
命令格式: | 37H 53H 45H 47H 4CH x1 x2 00H d1 d2 d3 d4 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 功能选择(4CH显示长整型数) |
6字节: | 数据存储格式(0:LE, 1:BE) |
7字节: | 显示进制(02H:二进制, 0AH:十进制, 10H:十六进制) |
8字节: | 保留 |
9~12字节: | 长整型数的存储数据 |
示例1: |
发送37H 53H 45H 47H 4CH 00H 10H 00H 12H 34H 56H 78H |
在数码管上会显示78564312 | |
示例2: | 发送37H 53H 45H 47H 4CH 01H 10H 00H 12H 34H 56H 78H |
在数码管上会显示12345678 | |
库函数声明: | void SEG7_ShowLong(long n, char radix);//n:长整型数 radix:进制 |
库函数调用: |
SEG7_ShowLong(0x98765432, 16); |
注: |
当超出显示范围时自动转为科学计数法进行显示 |
功能3: | 在数码管上显示IEEE754格式单精度浮点数 |
命令格式: | 37H 53H 45H 47H 44H x1 00H 00H d1 d2 d3 d4 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 功能选择(44H显示单精度浮点数) |
6字节: | 数据存储格式(0:LE, 1:BE) |
7~8字节: | 保留 |
9~12字节: | 单精度浮点数的存储数据 |
示例1: | 发送37H 53H 45H 47H 44H 00H 00H 00H D0H 0FH 49H 40H |
在数码管上会显示3.14159 | |
示例2: | 发送37H 53H 45H 47H 44H 01H 00H 00H 40H 49H 0FH D0H |
在数码管上会显示3.14159 | |
库函数声明: | void SEG7_ShowFloat(float f);//f:浮点数 |
库函数调用: | SEG7_ShowFloat(3.14159); |
注: |
当超出显示范围时自动转为科学计数法进行显示 |
功能4: | 在数码管上直接显示所给的段码 | ||||||||||||||||||||||||||||||||||||||||||||||||
命令格式: | 37H 53H 45H 47H 43H 00H 00H 00H d1 d2 d3 d4 d5 d6 d7 d8 | ||||||||||||||||||||||||||||||||||||||||||||||||
命令说明: | |||||||||||||||||||||||||||||||||||||||||||||||||
1~4字节: | 命令头 | ||||||||||||||||||||||||||||||||||||||||||||||||
5字节: | 功能选择(43H显示段码) | ||||||||||||||||||||||||||||||||||||||||||||||||
6~8字节: | 保留 | ||||||||||||||||||||||||||||||||||||||||||||||||
9~16字节: | 8个数码管的段码 | ||||||||||||||||||||||||||||||||||||||||||||||||
示例: | 发送37H 53H 45H 47H 43H 00H 00H 00H 3FH 06H 5BH 4FH 66H 6DH 7DH 27H | ||||||||||||||||||||||||||||||||||||||||||||||||
在数码管上会显示01234567 | |||||||||||||||||||||||||||||||||||||||||||||||||
库函数声明: | void SEG7_ShowCode(BYTE *cod);//cod:段码 | ||||||||||||||||||||||||||||||||||||||||||||||||
库函数调用: | BYTE cod[8]; cod[0] = 0x3f; cod[1] = 0x06; cod[2] = 0x5b; cod[3] = 0x4f; cod[4] = 0x66; cod[5] = 0x6d; cod[6] = 0x7d; cod[7] = 0x27; SEG7_ShowCode(cod); |
||||||||||||||||||||||||||||||||||||||||||||||||
常用段码表: |
|
功能: | 控制DIP40的各个管脚上LED的状态 |
命令格式: | 4CH 45H 44H 28H x1 x2 px ... |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | P0~P5端口的屏蔽位(bit0:P0, bit1:P1, ...) |
7~字节: | P0~P5端口的状态 |
示例1: | 发送4CH 45H 44H 28H 02H 01H 55H |
修改P0口的状态为55H | |
示例2: | 发送4CH 45H 44H 28H 03H 09H 55H AAH |
修改P0口的状态为55H,P3口为AAH | |
示例3: | 发送4CH 45H 44H 28H 05H 0FH 11H 22H 33H 44H |
修改P0口的状态为11H,P1口为22H,P2口为33H, P3口为44H,P4口为55H,P5口为66H |
|
库函数声明: | void LED40_SendData(BYTE *dat, BYTE size); |
库函数调用: | BYTE cod[8]; cod[0] = 0x0f; cod[1] = 0x12; cod[2] = 0x34; cod[3] = 0x56; cod[4] = 0x78; LED40_SendData(cod, 5); |
功能: | 控制DIP64的各个管脚上LED的状态 |
命令格式: | 4CH 45H 44H 40H x1 x2 px ... |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | P0~P7端口的屏蔽位(bit0:P0, bit1:P1, ...) |
7~字节: | P0~P7端口的状态 |
示例1: | 发送4CH 45H 44H 40H 02H 01H 55H |
修改P0口的状态为55H | |
示例2: | 发送4CH 45H 44H 40H 03H 09H 55H AAH |
修改P0口的状态为55H,P3口为AAH | |
示例3: | 发送4CH 45H 44H 40H 09H FFH 11H 22H 33H 44H 55H 66H 77H 88H |
修改P0口的状态为11H,P1口为22H,P2口为33H, P3口为44H,P4口为55H,P5口为66H,P6口为77H,P7口为88H |
|
库函数声明: | void LED64_SendData(BYTE *dat, BYTE size); |
库函数调用: | BYTE cod[8]; cod[0] = 0x0f; cod[1] = 0x12; cod[2] = 0x34; cod[3] = 0x56; cod[4] = 0x78; LED64_SendData(cod, 5); |
LCD12864接口
本接口模拟的是以ST7920为控制芯片的LCD12864,器件本身自带字库,
所以本接口也相应的加入了字库的支持
功能1: | 关闭LCD12864的显示 |
命令格式: | 4CH 43H 44H 80H 02H A0H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A0H显示功能) |
7字节: | 固定为00 |
示例: | 发送4CH 43H 44H 80H 02H A0H 00H |
关闭LCD12864的显示 | |
库函数声明: | void LCD12864_DisplayOff(); |
库函数调用: | LCD12864_DisplayOff(); |
功能2: | 打开LCD12864的显示 |
命令格式: | 4CH 43H 44H 80H 02H A0H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A0H显示功能) |
7字节: | 固定为01 |
示例: | 发送4CH 43H 44H 80H 02H A0H 01H |
打开LCD12864的显示 | |
库函数声明: | void LCD12864_DisplayOn(); |
库函数调用: | LCD12864_DisplayOn(); |
功能3: | 隐藏LCD12864的光标 |
命令格式: | 4CH 43H 44H 80H 02H A1H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A1H光标功能) |
7字节: | 固定为00 |
示例: | 发送4CH 43H 44H 80H 02H A1H 00H |
隐藏LCD12864的光标 | |
库函数声明: | void LCD12864_CursorOff(); |
库函数调用: | LCD12864_CursorOff(); |
功能4: | 显示LCD12864的光标 |
命令格式: | 4CH 43H 44H 80H 02H A1H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A1H光标功能) |
7字节: | 固定为01 |
示例: | 发送4CH 43H 44H 80H 02H A1H 01H |
显示LCD12864的光标 | |
库函数声明: | void LCD12864_CursorOn(); |
库函数调用: | LCD12864_CursorOn(); |
功能5: | 光标向左移动一个单位(16个像素) |
命令格式: | 4CH 43H 44H 80H 02H A2H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A2H光标移动功能) |
7字节: | 固定为00 |
示例: | 发送4CH 43H 44H 80H 02H A2H 00H |
LCD12864的光标向左移动一个单位 | |
库函数声明: | void LCD12864_CursorMoveLeft(); |
库函数调用: | LCD12864_CursorMoveLeft(); |
功能6: | 光标向右移动一个单位(16个像素) |
命令格式: | 4CH 43H 44H 80H 02H A2H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A2H光标移动功能) |
7字节: | 固定为01 |
示例: | 发送4CH 43H 44H 80H 02H A2H 01H |
LCD12864的光标向右移动一个单位 | |
库函数声明: | void LCD12864_CursorMoveRight(); |
库函数调用: | LCD12864_CursorMoveRight(); |
功能7: | 光标回到左上角初始位置 |
命令格式: | 4CH 43H 44H 80H 02H A2H 02H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A2H光标移动功能) |
7字节: | 固定为02 |
示例: | 发送4CH 43H 44H 80H 02H A2H 02H |
LCD12864的光标回到左上角初始位置 | |
库函数声明: | void LCD12864_CursorReturnHome(); |
库函数调用: | LCD12864_CursorReturnHome(); |
功能8: | LCD12864向左滚动一个单位(16个像素) |
命令格式: | 4CH 43H 44H 80H 02H A3H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A3H滚屏功能) |
7字节: | 固定为00 |
示例: | 发送4CH 43H 44H 80H 02H A3H 00H |
LCD12864的屏幕向左滚动一个单位 | |
库函数声明: | void LCD12864_ScrollLeft(); |
库函数调用: | LCD12864_ScrollLeft(); |
功能9: | LCD12864向右滚动一个单位(16个像素) |
命令格式: | CH 43H 44H 80H 02H A3H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A3H滚屏功能) |
7字节: | 固定为01 |
示例: | 发送4CH 43H 44H 80H 02H A3H 01H |
LCD12864的屏幕向右滚动一个单位 | |
库函数声明: | void LCD12864_ScrollRight(); |
库函数调用: | LCD12864_ScrollRight(); |
功能10: | LCD12864向上滚动 |
命令格式: | 4CH 43H 44H 80H 03H A3H 02H x1 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A3H滚屏功能) |
7字节: | 固定为02 |
8字节: | 滚动像素个数 |
示例: | 发送4CH 43H 44H 80H 03H A3H 02H 10H |
LCD12864的屏幕向上滚动16个像素 | |
库函数声明: | void LCD12864_ScrollUp(BYTE line);//line:滚动像素个数 |
库函数调用: | LCD12864_ScrollUp(0x10); |
功能11: | LCD12864显示字符串超出一行时自动丢弃 |
命令格式: | 4CH 43H 44H 80H 02H A4H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A4H换行功能) |
7字节: | 固定为00 |
示例: | 发送4CH 43H 44H 80H 02H A4H 00H |
关闭自动换行 | |
库函数声明: | void LCD12864_AutoWrapOff(); |
库函数调用: | LCD12864_AutoWrapOff(); |
功能12: | LCD12864显示字符串超出一行时自动换行 |
命令格式: | 4CH 43H 44H 80H 02H A4H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A4H换行功能) |
7字节: | 固定为01 |
示例: | 发送4CH 43H 44H 80H 02H A4H 01H |
开启自动换行功能 | |
库函数声明: | void LCD12864_AutoWrapOn(); |
库函数调用: | LCD12864_AutoWrapOn(); |
功能13: | 反白显示指定的行 |
命令格式: | 4CH 43H 44H 80H 02H A5H x1 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A5H反白显示) |
7字节: | 指定行(范围0~3) |
示例: | 发送4CH 43H 44H 80H 02H A5H 02H |
第2行反白显示 | |
库函数声明: | void LCD12864_ReverseLine(BYTE line);//line:行数 |
库函数调用: | LCD12864_ReverseLine(2); |
功能14: | 清除显示 |
命令格式: | 4CH 43H 44H 80H 01H A6H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A6H清除显示) |
示例: | 发送4CH 43H 44H 80H 01H A6H |
清除显示 | |
库函数声明: | void LCD12864_DisplayClear(); |
库函数调用: | LCD12864_DisplayClear(); |
功能15: | 在LCD12864上显示ASCII码和简体中文字符 |
命令格式: | 4CH 43H 44H 80H 03H A7H x y |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A7H显示字符串) |
7字节: | 开始显示字符串的X坐标(列号,范围0~7) |
8字节: | 开始显示字符串的Y坐标(行号,范围0~3) |
示例: | 发送4CH 43H 44H 80H 03H A7H 01H 02H |
从(1,2)的坐标位置开始显示字符串 | |
库函数声明: | void LCD12864_ShowString(BYTE x, BYTE y, char *str); |
库函数调用: | LCD12864_ShowString(0, 0, "深圳国芯人工智能"); |
注意: | 发送显示命令前,需要先使用AFH命令将需要显示的内容发送到缓冲区。 若调用库函数则库函数会自动处理。 |
功能16: | 在LCD12864屏幕上显示图片 |
命令格式: | 4CH 43H 44H 80H 05H A8H x y cx cy |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(A8H显示图片) |
7字节: | 开始显示图片的X坐标(列号,范围0~7) |
8字节: | 开始显示图片的Y坐标(行号,范围0~3) |
9字节: | 图片的宽度(列数,范围1~8) |
10字节: | 图片的高度(行数,范围1~64) |
示例: | 发送4CH 43H 44H 80H 05H A8H 01H 02H 02H 02H |
从(1,2)的坐标位置开始显示2个单位宽、2个单位高的图片 | |
库函数声明: | void LCD12864_ShowPicture( BYTE x, BYTE y, BYTE cx, BYTE cy, BYTE *dat); |
库函数调用: | LCD12864_ShowPicture(0, 0, 8, 64, (BYTE *)&LCD12864_IMG); |
注意: | 发送显示命令前,需要先使用AFH命令将需要显示的内容发送到缓冲区。 若调用库函数则库函数会自动处理。 |
功能17: | 上传数据到缓冲区 |
命令格式: | 4CH 43H 44H 80H x1 AFH ah al xx ... |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(AFH缓存数据) |
7字节: | 目标缓冲区地址高字节 |
8字节: | 目标缓冲区地址低字节 |
9~字节: | 需缓存的数据 |
示例: | 发送4CH 43H 44H 80H 07H AFH 01H 00H 12H 34H 56H 78H |
数据12H、34H、56H、78H缓存到缓冲区地址的0100H~0103H | |
库函数声明: | 无(使用库函数时,库函数会自动使用AFH命令缓存数据) |
库函数调用: | 无 |
注1: | 数据发送到缓冲区,并没有发送到LCD12864 |
注2: | 缓冲区大小1024字节 |
注3: | 每个数据包最多可缓存56个字节,若数据大于56,则需分多次缓存 |
OLED12864接口
目前流行的OLED12864基本没有字库支持,本接口暂不支持字库
功能1: | 关闭OLED12864的显示 |
命令格式: | 4FH 4CH 45H 80H 02H C0H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C0H显示功能) |
7字节: | 固定为00 |
示例: | 发送4FH 4CH 45H 80H 02H C0H 00H |
关闭OLED12864的显示 | |
库函数声明: | void OLED12864_DisplayOff(); |
库函数调用: | OLED12864_DisplayOff(); |
功能2: | 打开OLED12864的显示 |
命令格式: | 4FH 4CH 45H 80H 02H C0H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C0H显示功能) |
7字节: | 固定为01 |
示例: | 发送4FH 4CH 45H 80H 02H C0H 01H |
打开OLED12864的显示 | |
库函数声明: | void OLED12864_DisplayOn(); |
库函数调用: | OLED12864_DisplayOn(); |
功能3: | OLED12864显示图片内容 |
命令格式: | 4FH 4CH 45H 80H 02H C1H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C1H显示内容) |
7字节: | 固定为00 |
示例: | 发送4FH 4CH 45H 80H 02H C1H 00H |
OLED12864显示图片内容 | |
库函数声明: | void OLED12864_DisplayContent(); |
库函数调用: | OLED12864_DisplayContent(); |
功能4: | OLED12864全屏点亮(用于测试) |
命令格式: | 4FH 4CH 45H 80H 02H C1H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C1H显示内容) |
7字节: | 固定为01 |
示例: | 发送4FH 4CH 45H 80H 02H C1H 01H |
OLED12864全屏点亮 | |
库函数声明: | void OLED12864_DisplayEntire(); |
库函数调用: | OLED12864_DisplayEntire(); |
功能5: | OLED12864水平镜像显示 |
命令格式: | 4FH 4CH 45H 80H 02H C2H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C2H镜像显示) |
7字节: | 固定为00 |
示例: | 发送4FH 4CH 45H 80H 02H C2H 00H |
OLED12864水平镜像显示 | |
库函数声明: | void OLED12864_HorizontalMirror(); |
库函数调用: | OLED12864_HorizontalMirror(); |
功能6: | OLED12864垂直镜像显示 |
命令格式: | 4FH 4CH 45H 80H 02H C2H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C2H镜像显示) |
7字节: | 固定为01 |
示例: | 发送4FH 4CH 45H 80H 02H C2H 01H |
OLED12864垂直镜像显示 | |
库函数声明: | void OLED12864_VerticalMirror(); |
库函数调用: | OLED12864_VerticalMirror(); |
功能7: | OLED12864反白显示 |
命令格式: | 4FH 4CH 45H 80H 01H C3H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C3H反白显示) |
示例: | 发送4FH 4CH 45H 80H 01H C3H |
OLED12864反白显示 | |
库函数声明: | void OLED12864_DisplayReverse(); |
库函数调用: | OLED12864_DisplayReverse(); |
功能8: | 设置OLED12864的显示亮度 |
命令格式: | 4FH 4CH 45H 80H 02H C4H xx |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C4H显示亮度) |
7字节: | 亮度值(范围0~255) |
示例: | 发送4FH 4CH 45H 80H 02H C4H FFH |
OLED12864显示亮度为最亮 | |
库函数声明: | void OLED12864_SetContrast(BYTE bContrast);//bContrast:亮度 |
库函数调用: | OLED12864_SetContrast(0x7f); |
功能9: | 设置OLED12864连续写数据的寻址模式 |
命令格式: | 4FH 4CH 45H 80H 02H C5H xx |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C5H寻址模式) |
7字节: | 寻址模式(0:水平寻址; 1:垂直寻址; 2:页寻址) |
示例: | 发送4FH 4CH 45H 80H 02H C5H 00H |
OLED12864的数据模式为水平寻址模式 | |
库函数声明: | void OLED12864_SetAddressMode(BYTE bMode);//bMode:模式 |
库函数调用: | OLED12864_SetAddressMode(0x00); |
功能10: | OLED12864显示向左连续滚屏 |
命令格式: | 4FH 4CH 45H 80H 06H C6H 00 x1 x2 x3 x4 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C6H滚屏控制) |
7字节: | 固定为0 |
8字节: | 参与滚屏的起始页(范围0~7) |
9字节: | 参与滚屏的结束页(范围0~7) |
10字节: | 滚屏周期值的高字节(周期单位为毫秒) |
11字节: | 滚屏周期值的低字节 |
示例: | 发送4FH 4CH 45H 80H 06H C6H 00H 00H 07H 00H 64H |
每100毫秒OLED12864全屏向左滚动一列 | |
库函数声明: | void OLED12864_ScrollLeft( BYTE bPageStart, BYTE bPageEnd, WORD nInterval);//nInterval:周期 |
库函数调用: | OLED12864_ScrollLeft(0, 7, 100); |
注: | 发送完C6命令后,必须再发送一次C7H 01H命令才会开始滚屏 |
功能11: | OLED12864显示向右连续滚屏 |
命令格式: | 4FH 4CH 45H 80H 06H C6H 01 x1 x2 x3 x4 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C6H滚屏控制) |
7字节: | 固定为1 |
8字节: | 参与滚屏的起始页(范围0~7) |
9字节: | 参与滚屏的结束页(范围0~7) |
10字节: | 滚屏周期值的高字节(周期单位为毫秒) |
11字节: | 滚屏周期值的低字节 |
示例: | 发送4FH 4CH 45H 80H 06H C6H 01H 00H 07H 00H 64H |
每100毫秒OLED12864全屏向右滚动一列 | |
库函数声明: | void OLED12864_ScrollRight( BYTE bPageStart, BYTE bPageEnd, WORD nInterval);//nInterval:周期 |
库函数调用: | OLED12864_ScrollRight(0, 7, 100); |
注: | 发送完C6命令后,必须再发送一次C7H 01H命令才会开始滚屏 |
功能12: | OLED12864显示向上连续滚屏 |
命令格式: | 4FH 4CH 45H 80H 06H C6H 02 x1 x2 x3 x4 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C6H滚屏控制) |
7字节: | 固定为2 |
8字节: | 参与滚屏的起始页(范围0~7) |
9字节: | 参与滚屏的结束页(范围0~7) |
10字节: | 滚屏周期值的高字节(周期单位为毫秒) |
11字节: | 滚屏周期值的低字节 |
示例: | 发送4FH 4CH 45H 80H 06H C6H 02H 00H 07H 00H 64H |
每100毫秒OLED12864全屏向上滚动一页(8行) | |
库函数声明: | void OLED12864_ScrollUp( BYTE bPageStart, BYTE bPageEnd, WORD nInterval);//nInterval:周期 |
库函数调用: | OLED12864_ScrollUp(0, 7, 100); |
注: | 发送完C6命令后,必须再发送一次C7H 01H命令才会开始滚屏 |
功能13: | OLED12864停止连续滚屏 |
命令格式: | 4FH 4CH 45H 80H 02H C7H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C7H滚屏控制) |
7字节: | 固定为0 |
示例: | 发送4FH 4CH 45H 80H 02H C7H 00H |
停止滚屏 | |
库函数声明: | void OLED12864_ScrollStop(); |
库函数调用: | OLED12864_ScrollStop(); |
功能14: | OLED12864开始连续滚屏 |
命令格式: | 4FH 4CH 45H 80H 02H C7H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C7H滚屏控制) |
7字节: | 固定为1 |
示例: | 发送4FH 4CH 45H 80H 02H C7H 01H |
开始滚屏 | |
库函数声明: | void OLED12864_ScrollStart(); |
库函数调用: | OLED12864_ScrollStart(); |
功能15: | 在OLED12864屏幕上显示图片 |
命令格式: | 4FH 4CH 45H 80H 05H C8H x y cx cy |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C8H显示图片) |
7字节: | 开始显示图片的X坐标(列号,范围0~127) |
8字节: | 开始显示图片的Y坐标(页号,范围0~7) |
9字节: | 图片的宽度(列数,范围1~128) |
10字节: | 图片的高度(页数,范围1~8) |
示例: | 发送4FH 4CH 45H 80H 05H C8H 01H 02H 02H 02H |
从(1,2)的坐标位置开始显示2个单位宽、2个单位高的图片 | |
库函数声明: | void OLED12864_ShowPicture( BYTE x, BYTE y, BYTE cx, BYTE cy, BYTE *dat); |
库函数调用: | OLED12864_ShowPicture(0, 0, 128, 8, (BYTE *)&OLED12864_IMG); |
注意: | 发送显示命令前,需要先使用CFH命令将需要显示的内容发送到缓冲区。 若调用库函数则库函数会自动处理。 |
功能16: | 上传数据到缓冲区 |
命令格式: | 4FH 4CH 45H 80H x1 CFH ah al xx ... |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(CFH缓存数据) |
7字节: | 目标缓冲区地址高字节 |
8字节: | 目标缓冲区地址低字节 |
9~字节: | 需缓存的数据 |
示例: | 发送4FH 4CH 45H 80H 07H CFH 01H 00H 12H 34H 56H 78H |
数据12H、34H、56H、78H缓存到存储器地址的0100H~0103H | |
库函数声明: | 无(使用库函数时,库函数会自动使用CFH命令缓存数据) |
库函数调用: | 无 |
注1: | 数据发送到缓冲区,并没有发送到OLED12864 |
注2: | 缓冲区大小1024字节 |
注3: | 每个数据包最多可缓存56个字节,若数据大于56,则需分多次缓存 |
功能1: | 关闭OLED320240的显示 |
命令格式: | 4FH 4CH 45H 20H 02H C0H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C0H显示功能) |
7字节: | 固定为00 |
示例: | 发送4FH 4CH 45H 20H 02H C0H 00H |
关闭OLED320240的显示 | |
库函数声明: | void OLED320240_DisplayOff(); |
库函数调用: | OLED320240_DisplayOff(); |
功能2: | 打开OLED320240的显示 |
命令格式: | 4FH 4CH 45H 20H 02H C0H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C0H显示功能) |
7字节: | 固定为01 |
示例: | 发送4FH 4CH 45H 20H 02H C0H 01H |
打开OLED320240的显示 | |
库函数声明: | void OLED320240_DisplayOn(); |
库函数调用: | OLED320240_DisplayOn(); |
功能3: | OLED320240显示图片内容 |
命令格式: | 4FH 4CH 45H 20H 02H C1H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C1H显示内容) |
7字节: | 固定为00 |
示例: | 发送4FH 4CH 45H 20H 02H C1H 00H |
OLED320240显示图片内容 | |
库函数声明: | void OLED320240_DisplayContent(); |
库函数调用: | OLED320240_DisplayContent(); |
功能4: | OLED320240全屏点亮(用于测试) |
命令格式: | 4FH 4CH 45H 20H 02H C1H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C1H显示内容) |
7字节: | 固定为01 |
示例: | 发送4FH 4CH 45H 20H 02H C1H 01H |
OLED320240全屏点亮 | |
库函数声明: | void OLED320240_DisplayEntire(); |
库函数调用: | OLED320240_DisplayEntire(); |
功能5: | OLED320240水平镜像显示 |
命令格式: | 4FH 4CH 45H 20H 02H C2H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C2H镜像显示) |
7字节: | 固定为00 |
示例: | 发送4FH 4CH 45H 20H 02H C2H 00H |
OLED320240水平镜像显示 | |
库函数声明: | void OLED320240_HorizontalMirror(); |
库函数调用: | OLED320240_HorizontalMirror(); |
功能6: | OLED320240垂直镜像显示 |
命令格式: | 4FH 4CH 45H 20H 02H C2H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C2H镜像显示) |
7字节: | 固定为01 |
示例: | 发送4FH 4CH 45H 20H 02H C2H 01H |
OLED320240垂直镜像显示 | |
库函数声明: | void OLED320240_VerticalMirror(); |
库函数调用: | OLED320240_VerticalMirror(); |
功能7: | OLED320240反白显示 |
命令格式: | 4FH 4CH 45H 20H 01H C3H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C3H反白显示) |
示例: | 发送4FH 4CH 45H 20H 01H C3H |
OLED320240反白显示 | |
库函数声明: | void OLED320240_DisplayReverse(); |
库函数调用: | OLED320240_DisplayReverse(); |
功能8: | 设置OLED320240的显示亮度 |
命令格式: | 4FH 4CH 45H 20H 02H C4H xx |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C4H显示亮度) |
7字节: | 亮度值(范围0~255) |
示例: | 发送4FH 4CH 45H 20H 02H C4H FFH |
OLED320240显示亮度为最亮 | |
库函数声明: | void OLED320240_SetContrast(BYTE bContrast);//bContrast:亮度 |
库函数调用: | OLED320240_SetContrast(0x7f); |
功能9: | 设置OLED320240连续写数据的寻址模式 |
命令格式: | 4FH 4CH 45H 20H 02H C5H xx |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C5H寻址模式) |
7字节: | 寻址模式(0:水平寻址; 1:垂直寻址; 2:页寻址) |
示例: | 发送4FH 4CH 45H 20H 02H C5H 00H |
OLED320240的数据模式为水平寻址模式 | |
库函数声明: | void OLED320240_SetAddressMode(BYTE bMode);//bMode:模式 |
库函数调用: | OLED320240_SetAddressMode(0x00); |
功能10: | OLED320240显示向左连续滚屏 |
命令格式: | 4FH 4CH 45H 20H 06H C6H 00 x1 x2 x3 x4 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C6H滚屏控制) |
7字节: | 固定为0 |
8字节: | 参与滚屏的起始页(范围0~29) |
9字节: | 参与滚屏的结束页(范围0~29) |
10字节: | 滚屏周期值的高字节(周期单位为毫秒) |
11字节: | 滚屏周期值的低字节 |
示例: | 发送4FH 4CH 45H 20H 06H C6H 00H 00H 07H 00H 64H |
每100毫秒OLED320240全屏向左滚动一列 | |
库函数声明: | void OLED320240_ScrollLeft( BYTE bPageStart, BYTE bPageEnd, WORD nInterval);//nInterval:周期 |
库函数调用: | OLED320240_ScrollLeft(0, 7, 100); |
注: | 发送完C6命令后,必须再发送一次C7H 01H命令才会开始滚屏 |
功能11: | OLED320240显示向右连续滚屏 |
命令格式: | 4FH 4CH 45H 20H 06H C6H 01 x1 x2 x3 x4 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C6H滚屏控制) |
7字节: | 固定为1 |
8字节: | 参与滚屏的起始页(范围0~29) |
9字节: | 参与滚屏的结束页(范围0~29) |
10字节: | 滚屏周期值的高字节(周期单位为毫秒) |
11字节: | 滚屏周期值的低字节 |
示例: | 发送4FH 4CH 45H 20H 06H C6H 01H 00H 07H 00H 64H |
每100毫秒OLED320240全屏向右滚动一列 | |
库函数声明: | void OLED320240_ScrollRight( BYTE bPageStart, BYTE bPageEnd, WORD nInterval);//nInterval:周期 |
库函数调用: | OLED320240_ScrollRight(0, 7, 100); |
注: | 发送完C6命令后,必须再发送一次C7H 01H命令才会开始滚屏 |
功能12: | OLED320240显示向上连续滚屏 |
命令格式: | 4FH 4CH 45H 20H 06H C6H 02 x1 x2 x3 x4 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C6H滚屏控制) |
7字节: | 固定为2 |
8字节: | 参与滚屏的起始页(范围0~29) |
9字节: | 参与滚屏的结束页(范围0~29) |
10字节: | 滚屏周期值的高字节(周期单位为毫秒) |
11字节: | 滚屏周期值的低字节 |
示例: | 发送4FH 4CH 45H 20H 06H C6H 02H 00H 07H 00H 64H |
每100毫秒OLED320240全屏向上滚动一页(8行) | |
库函数声明: | void OLED320240_ScrollUp( BYTE bPageStart, BYTE bPageEnd, WORD nInterval);//nInterval:周期 |
库函数调用: | OLED320240_ScrollUp(0, 7, 100); |
注: | 发送完C6命令后,必须再发送一次C7H 01H命令才会开始滚屏 |
功能13: | OLED320240停止连续滚屏 |
命令格式: | 4FH 4CH 45H 20H 02H C7H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C7H滚屏控制) |
7字节: | 固定为0 |
示例: | 发送4FH 4CH 45H 20H 02H C7H 00H |
停止滚屏 | |
库函数声明: | void OLED320240_ScrollStop(); |
库函数调用: | OLED320240_ScrollStop(); |
功能14: | OLED320240开始连续滚屏 |
命令格式: | 4FH 4CH 45H 20H 02H C7H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C7H滚屏控制) |
7字节: | 固定为1 |
示例: | 发送4FH 4CH 45H 20H 02H C7H 01H |
开始滚屏 | |
库函数声明: | void OLED320240_ScrollStart(); |
库函数调用: | OLED320240_ScrollStart(); |
功能15: | 在OLED320240屏幕上显示图片 |
命令格式: | 4FH 4CH 45H 20H 05H C8H x y cx cy |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C8H显示图片) |
7字节: | 开始显示图片的X坐标(列号,范围0~319) |
8字节: | 开始显示图片的Y坐标(页号,范围0~29) |
9字节: | 图片的宽度(列数,范围1~320) |
10字节: | 图片的高度(页数,范围1~30) |
示例: | 发送4FH 4CH 45H 20H 05H C8H 01H 02H 02H 02H |
从(1,2)的坐标位置开始显示2个单位宽、2个单位高的图片 | |
库函数声明: | void OLED320240_ShowPicture( BYTE x, BYTE y, BYTE cx, BYTE cy, BYTE *dat); |
库函数调用: | OLED320240_ShowPicture(0, 0, 128, 8, (BYTE *)&OLED320240_IMG); |
注意: | 发送显示命令前,需要先使用CFH命令将需要显示的内容发送到缓冲区。 若调用库函数则库函数会自动处理。 |
功能16: | 上传数据到缓冲区 |
命令格式: | 4FH 4CH 45H 20H x1 CFH ah al xx ... |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(CFH缓存数据) |
7字节: | 目标缓冲区地址高字节 |
8字节: | 目标缓冲区地址低字节 |
9~字节: | 需缓存的数据 |
示例: | 发送4FH 4CH 45H 20H 07H CFH 01H 00H 12H 34H 56H 78H |
数据12H、34H、56H、78H缓存到存储器地址的0100H~0103H | |
库函数声明: | 无(使用库函数时,库函数会自动使用CFH命令缓存数据) |
库函数调用: | 无 |
注1: | 数据发送到缓冲区,并没有发送到OLED320240 |
注2: | 缓冲区大小9600字节 |
注3: | 每个数据包最多可缓存56个字节,若数据大于56,则需分多次缓存 |
功能1: | 关闭OLED480320的显示 |
命令格式: | 4FH 4CH 45H 30H 02H C0H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C0H显示功能) |
7字节: | 固定为00 |
示例: | 发送4FH 4CH 45H 30H 02H C0H 00H |
关闭OLED480320的显示 | |
库函数声明: | void OLED480320_DisplayOff(); |
库函数调用: | OLED480320_DisplayOff(); |
功能2: | 打开OLED480320的显示 |
命令格式: | 4FH 4CH 45H 30H 02H C0H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C0H显示功能) |
7字节: | 固定为01 |
示例: | 发送4FH 4CH 45H 30H 02H C0H 01H |
打开OLED480320的显示 | |
库函数声明: | void OLED480320_DisplayOn(); |
库函数调用: | OLED480320_DisplayOn(); |
功能3: | OLED480320显示图片内容 |
命令格式: | 4FH 4CH 45H 30H 02H C1H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C1H显示内容) |
7字节: | 固定为00 |
示例: | 发送4FH 4CH 45H 30H 02H C1H 00H |
OLED480320显示图片内容 | |
库函数声明: | void OLED480320_DisplayContent(); |
库函数调用: | OLED480320_DisplayContent(); |
功能4: | OLED480320全屏点亮(用于测试) |
命令格式: | 4FH 4CH 45H 30H 02H C1H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C1H显示内容) |
7字节: | 固定为01 |
示例: | 发送4FH 4CH 45H 30H 02H C1H 01H |
OLED480320全屏点亮 | |
库函数声明: | void OLED480320_DisplayEntire(); |
库函数调用: | OLED480320_DisplayEntire(); |
功能5: | OLED480320水平镜像显示 |
命令格式: | 4FH 4CH 45H 30H 02H C2H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C2H镜像显示) |
7字节: | 固定为00 |
示例: | 发送4FH 4CH 45H 30H 02H C2H 00H |
OLED480320水平镜像显示 | |
库函数声明: | void OLED480320_HorizontalMirror(); |
库函数调用: | OLED480320_HorizontalMirror(); |
功能6: | OLED480320垂直镜像显示 |
命令格式: | 4FH 4CH 45H 30H 02H C2H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C2H镜像显示) |
7字节: | 固定为01 |
示例: | 发送4FH 4CH 45H 30H 02H C2H 01H |
OLED480320垂直镜像显示 | |
库函数声明: | void OLED480320_VerticalMirror(); |
库函数调用: | OLED480320_VerticalMirror(); |
功能7: | OLED480320反白显示 |
命令格式: | 4FH 4CH 45H 30H 01H C3H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C3H反白显示) |
示例: | 发送4FH 4CH 45H 30H 01H C3H |
OLED480320反白显示 | |
库函数声明: | void OLED480320_DisplayReverse(); |
库函数调用: | OLED480320_DisplayReverse(); |
功能8: | 设置OLED480320的显示亮度 |
命令格式: | 4FH 4CH 45H 30H 02H C4H xx |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C4H显示亮度) |
7字节: | 亮度值(范围0~255) |
示例: | 发送4FH 4CH 45H 30H 02H C4H FFH |
OLED480320显示亮度为最亮 | |
库函数声明: | void OLED480320_SetContrast(BYTE bContrast);//bContrast:亮度 |
库函数调用: | OLED480320_SetContrast(0x7f); |
功能9: | 设置OLED480320连续写数据的寻址模式 |
命令格式: | 4FH 4CH 45H 30H 02H C5H xx |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C5H寻址模式) |
7字节: | 寻址模式(0:水平寻址; 1:垂直寻址; 2:页寻址) |
示例: | 发送4FH 4CH 45H 30H 02H C5H 00H |
OLED480320的数据模式为水平寻址模式 | |
库函数声明: | void OLED480320_SetAddressMode(BYTE bMode);//bMode:模式 |
库函数调用: | OLED480320_SetAddressMode(0x00); |
功能10: | OLED480320显示向左连续滚屏 |
命令格式: | 4FH 4CH 45H 30H 06H C6H 00 x1 x2 x3 x4 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C6H滚屏控制) |
7字节: | 固定为0 |
8字节: | 参与滚屏的起始页(范围0~39) |
9字节: | 参与滚屏的结束页(范围0~39) |
10字节: | 滚屏周期值的高字节(周期单位为毫秒) |
11字节: | 滚屏周期值的低字节 |
示例: | 发送4FH 4CH 45H 30H 06H C6H 00H 00H 07H 00H 64H |
每100毫秒OLED480320全屏向左滚动一列 | |
库函数声明: | void OLED480320_ScrollLeft( BYTE bPageStart, BYTE bPageEnd, WORD nInterval);//nInterval:周期 |
库函数调用: | OLED480320_ScrollLeft(0, 7, 100); |
注: | 发送完C6命令后,必须再发送一次C7H 01H命令才会开始滚屏 |
功能11: | OLED480320显示向右连续滚屏 |
命令格式: | 4FH 4CH 45H 30H 06H C6H 01 x1 x2 x3 x4 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C6H滚屏控制) |
7字节: | 固定为1 |
8字节: | 参与滚屏的起始页(范围0~39) |
9字节: | 参与滚屏的结束页(范围0~39) |
10字节: | 滚屏周期值的高字节(周期单位为毫秒) |
11字节: | 滚屏周期值的低字节 |
示例: | 发送4FH 4CH 45H 30H 06H C6H 01H 00H 07H 00H 64H |
每100毫秒OLED480320全屏向右滚动一列 | |
库函数声明: | void OLED480320_ScrollRight( BYTE bPageStart, BYTE bPageEnd, WORD nInterval);//nInterval:周期 |
库函数调用: | OLED480320_ScrollRight(0, 7, 100); |
注: | 发送完C6命令后,必须再发送一次C7H 01H命令才会开始滚屏 |
功能12: | OLED480320显示向上连续滚屏 |
命令格式: | 4FH 4CH 45H 30H 06H C6H 02 x1 x2 x3 x4 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C6H滚屏控制) |
7字节: | 固定为2 |
8字节: | 参与滚屏的起始页(范围0~39) |
9字节: | 参与滚屏的结束页(范围0~39) |
10字节: | 滚屏周期值的高字节(周期单位为毫秒) |
11字节: | 滚屏周期值的低字节 |
示例: | 发送4FH 4CH 45H 30H 06H C6H 02H 00H 07H 00H 64H |
每100毫秒OLED480320全屏向上滚动一页(8行) | |
库函数声明: | void OLED480320_ScrollUp( BYTE bPageStart, BYTE bPageEnd, WORD nInterval);//nInterval:周期 |
库函数调用: | OLED480320_ScrollUp(0, 7, 100); |
注: | 发送完C6命令后,必须再发送一次C7H 01H命令才会开始滚屏 |
功能13: | OLED480320停止连续滚屏 |
命令格式: | 4FH 4CH 45H 30H 02H C7H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C7H滚屏控制) |
7字节: | 固定为0 |
示例: | 发送4FH 4CH 45H 30H 02H C7H 00H |
停止滚屏 | |
库函数声明: | void OLED480320_ScrollStop(); |
库函数调用: | OLED480320_ScrollStop(); |
功能14: | OLED480320开始连续滚屏 |
命令格式: | 4FH 4CH 45H 30H 02H C7H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C7H滚屏控制) |
7字节: | 固定为1 |
示例: | 发送4FH 4CH 45H 30H 02H C7H 01H |
开始滚屏 | |
库函数声明: | void OLED480320_ScrollStart(); |
库函数调用: | OLED480320_ScrollStart(); |
功能15: | 在OLED480320屏幕上显示图片 |
命令格式: | 4FH 4CH 45H 30H 05H C8H x y cx cy |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C8H显示图片) |
7字节: | 开始显示图片的X坐标(列号,范围0~479) |
8字节: | 开始显示图片的Y坐标(页号,范围0~39) |
9字节: | 图片的宽度(列数,范围1~480) |
10字节: | 图片的高度(页数,范围1~40) |
示例: | 发送4FH 4CH 45H 30H 05H C8H 01H 02H 02H 02H |
从(1,2)的坐标位置开始显示2个单位宽、2个单位高的图片 | |
库函数声明: | void OLED480320_ShowPicture( BYTE x, BYTE y, BYTE cx, BYTE cy, BYTE *dat); |
库函数调用: | OLED480320_ShowPicture(0, 0, 128, 8, (BYTE *)&OLED480320_IMG); |
注意: | 发送显示命令前,需要先使用CFH命令将需要显示的内容发送到缓冲区。 若调用库函数则库函数会自动处理。 |
功能16: | 上传数据到缓冲区 |
命令格式: | 4FH 4CH 45H 30H x1 CFH ah al xx ... |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(CFH缓存数据) |
7字节: | 目标缓冲区地址高字节 |
8字节: | 目标缓冲区地址低字节 |
9~字节: | 需缓存的数据 |
示例: | 发送4FH 4CH 45H 30H 07H CFH 01H 00H 12H 34H 56H 78H |
数据12H、34H、56H、78H缓存到存储器地址的0100H~0103H | |
库函数声明: | 无(使用库函数时,库函数会自动使用CFH命令缓存数据) |
库函数调用: | 无 |
注1: | 数据发送到缓冲区,并没有发送到OLED480320 |
注2: | 缓冲区大小19200字节 |
注3: | 每个数据包最多可缓存56个字节,若数据大于56,则需分多次缓存 |
功能1: | 关闭OLED640480的显示 |
命令格式: | 4FH 4CH 45H 40H 02H C0H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C0H显示功能) |
7字节: | 固定为00 |
示例: | 发送4FH 4CH 45H 40H 02H C0H 00H |
关闭OLED640480的显示 | |
库函数声明: | void OLED640480_DisplayOff(); |
库函数调用: | OLED640480_DisplayOff(); |
功能2: | 打开OLED640480的显示 |
命令格式: | 4FH 4CH 45H 40H 02H C0H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C0H显示功能) |
7字节: | 固定为01 |
示例: | 发送4FH 4CH 45H 40H 02H C0H 01H |
打开OLED640480的显示 | |
库函数声明: | void OLED640480_DisplayOn(); |
库函数调用: | OLED640480_DisplayOn(); |
功能3: | OLED640480显示图片内容 |
命令格式: | 4FH 4CH 45H 40H 02H C1H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C1H显示内容) |
7字节: | 固定为00 |
示例: | 发送4FH 4CH 45H 40H 02H C1H 00H |
OLED640480显示图片内容 | |
库函数声明: | void OLED640480_DisplayContent(); |
库函数调用: | OLED640480_DisplayContent(); |
功能4: | OLED640480全屏点亮(用于测试) |
命令格式: | 4FH 4CH 45H 40H 02H C1H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C1H显示内容) |
7字节: | 固定为01 |
示例: | 发送4FH 4CH 45H 40H 02H C1H 01H |
OLED640480全屏点亮 | |
库函数声明: | void OLED640480_DisplayEntire(); |
库函数调用: | OLED640480_DisplayEntire(); |
功能5: | OLED640480水平镜像显示 |
命令格式: | 4FH 4CH 45H 40H 02H C2H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C2H镜像显示) |
7字节: | 固定为00 |
示例: | 发送4FH 4CH 45H 40H 02H C2H 00H |
OLED640480水平镜像显示 | |
库函数声明: | void OLED640480_HorizontalMirror(); |
库函数调用: | OLED640480_HorizontalMirror(); |
功能6: | OLED640480垂直镜像显示 |
命令格式: | 4FH 4CH 45H 40H 02H C2H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C2H镜像显示) |
7字节: | 固定为01 |
示例: | 发送4FH 4CH 45H 40H 02H C2H 01H |
OLED640480垂直镜像显示 | |
库函数声明: | void OLED640480_VerticalMirror(); |
库函数调用: | OLED640480_VerticalMirror(); |
功能7: | OLED640480反白显示 |
命令格式: | 4FH 4CH 45H 40H 01H C3H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C3H反白显示) |
示例: | 发送4FH 4CH 45H 40H 01H C3H |
OLED640480反白显示 | |
库函数声明: | void OLED640480_DisplayReverse(); |
库函数调用: | OLED640480_DisplayReverse(); |
功能8: | 设置OLED640480的显示亮度 |
命令格式: | 4FH 4CH 45H 40H 02H C4H xx |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C4H显示亮度) |
7字节: | 亮度值(范围0~255) |
示例: | 发送4FH 4CH 45H 40H 02H C4H FFH |
OLED640480显示亮度为最亮 | |
库函数声明: | void OLED640480_SetContrast(BYTE bContrast);//bContrast:亮度 |
库函数调用: | OLED640480_SetContrast(0x7f); |
功能9: | 设置OLED640480连续写数据的寻址模式 |
命令格式: | 4FH 4CH 45H 40H 02H C5H xx |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C5H寻址模式) |
7字节: | 寻址模式(0:水平寻址; 1:垂直寻址; 2:页寻址) |
示例: | 发送4FH 4CH 45H 40H 02H C5H 00H |
OLED640480的数据模式为水平寻址模式 | |
库函数声明: | void OLED640480_SetAddressMode(BYTE bMode);//bMode:模式 |
库函数调用: | OLED640480_SetAddressMode(0x00); |
功能10: | OLED640480显示向左连续滚屏 |
命令格式: | 4FH 4CH 45H 40H 06H C6H 00 x1 x2 x3 x4 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C6H滚屏控制) |
7字节: | 固定为0 |
8字节: | 参与滚屏的起始页(范围0~59) |
9字节: | 参与滚屏的结束页(范围0~59) |
10字节: | 滚屏周期值的高字节(周期单位为毫秒) |
11字节: | 滚屏周期值的低字节 |
示例: | 发送4FH 4CH 45H 40H 06H C6H 00H 00H 07H 00H 64H |
每100毫秒OLED640480全屏向左滚动一列 | |
库函数声明: | void OLED640480_ScrollLeft( BYTE bPageStart, BYTE bPageEnd, WORD nInterval);//nInterval:周期 |
库函数调用: | OLED640480_ScrollLeft(0, 7, 100); |
注: | 发送完C6命令后,必须再发送一次C7H 01H命令才会开始滚屏 |
功能11: | OLED640480显示向右连续滚屏 |
命令格式: | 4FH 4CH 45H 40H 06H C6H 01 x1 x2 x3 x4 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C6H滚屏控制) |
7字节: | 固定为1 |
8字节: | 参与滚屏的起始页(范围0~59) |
9字节: | 参与滚屏的结束页(范围0~59) |
10字节: | 滚屏周期值的高字节(周期单位为毫秒) |
11字节: | 滚屏周期值的低字节 |
示例: | 发送4FH 4CH 45H 40H 06H C6H 01H 00H 07H 00H 64H |
每100毫秒OLED640480全屏向右滚动一列 | |
库函数声明: | void OLED640480_ScrollRight( BYTE bPageStart, BYTE bPageEnd, WORD nInterval);//nInterval:周期 |
库函数调用: | OLED640480_ScrollRight(0, 7, 100); |
注: | 发送完C6命令后,必须再发送一次C7H 01H命令才会开始滚屏 |
功能12: | OLED640480显示向上连续滚屏 |
命令格式: | 4FH 4CH 45H 40H 06H C6H 02 x1 x2 x3 x4 |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C6H滚屏控制) |
7字节: | 固定为2 |
8字节: | 参与滚屏的起始页(范围0~59) |
9字节: | 参与滚屏的结束页(范围0~59) |
10字节: | 滚屏周期值的高字节(周期单位为毫秒) |
11字节: | 滚屏周期值的低字节 |
示例: | 发送4FH 4CH 45H 40H 06H C6H 02H 00H 07H 00H 64H |
每100毫秒OLED640480全屏向上滚动一页(8行) | |
库函数声明: | void OLED640480_ScrollUp( BYTE bPageStart, BYTE bPageEnd, WORD nInterval);//nInterval:周期 |
库函数调用: | OLED640480_ScrollUp(0, 7, 100); |
注: | 发送完C6命令后,必须再发送一次C7H 01H命令才会开始滚屏 |
功能13: | OLED640480停止连续滚屏 |
命令格式: | 4FH 4CH 45H 40H 02H C7H 00H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C7H滚屏控制) |
7字节: | 固定为0 |
示例: | 发送4FH 4CH 45H 40H 02H C7H 00H |
停止滚屏 | |
库函数声明: | void OLED640480_ScrollStop(); |
库函数调用: | OLED640480_ScrollStop(); |
功能14: | OLED640480开始连续滚屏 |
命令格式: | 4FH 4CH 45H 40H 02H C7H 01H |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C7H滚屏控制) |
7字节: | 固定为1 |
示例: | 发送4FH 4CH 45H 40H 02H C7H 01H |
开始滚屏 | |
库函数声明: | void OLED640480_ScrollStart(); |
库函数调用: | OLED640480_ScrollStart(); |
功能15: | 在OLED640480屏幕上显示图片 |
命令格式: | 4FH 4CH 45H 40H 05H C8H x y cx cy |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(C8H显示图片) |
7字节: | 开始显示图片的X坐标(列号,范围0~639) |
8字节: | 开始显示图片的Y坐标(页号,范围0~59) |
9字节: | 图片的宽度(列数,范围1~640) |
10字节: | 图片的高度(页数,范围1~60) |
示例: | 发送4FH 4CH 45H 40H 05H C8H 01H 02H 02H 02H |
从(1,2)的坐标位置开始显示2个单位宽、2个单位高的图片 | |
库函数声明: | void OLED640480_ShowPicture( BYTE x, BYTE y, BYTE cx, BYTE cy, BYTE *dat); |
库函数调用: | OLED640480_ShowPicture(0, 0, 128, 8, (BYTE *)&OLED640480_IMG); |
注意: | 发送显示命令前,需要先使用CFH命令将需要显示的内容发送到缓冲区。 若调用库函数则库函数会自动处理。 |
功能16: | 上传数据到缓冲区 |
命令格式: | 4FH 4CH 45H 40H x1 CFH ah al xx ... |
命令说明: | |
1~4字节: | 命令头 |
5字节: | 后面有效数据长度 |
6字节: | 功能选择(CFH缓存数据) |
7字节: | 目标缓冲区地址高字节 |
8字节: | 目标缓冲区地址低字节 |
9~字节: | 需缓存的数据 |
示例: | 发送4FH 4CH 45H 40H 07H CFH 01H 00H 12H 34H 56H 78H |
数据12H、34H、56H、78H缓存到存储器地址的0100H~0103H | |
库函数声明: | 无(使用库函数时,库函数会自动使用CFH命令缓存数据) |
库函数调用: | 无 |
注1: | 数据发送到缓冲区,并没有发送到OLED640480 |
注2: | 缓冲区大小38400字节 |
注3: | 每个数据包最多可缓存56个字节,若数据大于56,则需分多次缓存 |
功能: | 在虚拟键盘上按键然后发送相应的键值到设备 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
命令格式: | 4BH 45H 59H 50H 00H x1 00H 00H | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
命令说明: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1~4字节: | 命令头 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5字节: | 保留 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6字节: | 按键键值 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7~8字节: | 保留 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
示例: | 接收到4BH 45H 59H 50H 00H 30H 00H 00H | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
表示数字键0被按下 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
库函数声明: | 无 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
库函数调用: | 无 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
键值对应表: |
|
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键
数据意义:
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 |