迪文科技论坛

 找回密码
 立即注册
搜索
查看: 1525|回复: 1

【分享】显示变量控件21 0E双色位图绘图功能示例及bug解析

[复制链接]

45

主题

254

回帖

3415

积分

论坛元老

Rank: 8Rank: 8

积分
3415
发表于 2020-2-26 23:54:19 | 显示全部楼层 |阅读模式
ui.bin 版本T5L_UI_DGUS2_V31_2020116.zip



在14bin中的定义:
//0000         -          000F//     14 44 47 55 53 5F 32 10 00 03 00 00 00 00 00 00  //红色字节为最大有效页面ID, 0FFF-4=0FFFB   4091为最大
//0010         -          0013//     01 00 40 00                                                        //红色表示第0页显示变量数目,蓝色表示第0页显示变量存储在本文件的字节地址004000H,第0页是固定004000开始
//0010+x*4  -  0013+x*4//     ii   aa aa  aa                                                        //第x页的显示控件数目 和 在本文件的存储地址.X最大4091,因此,索引文件对齐到16k.每个控件占用0X10w, aaaaaa∑ii累加*0x10+0x4000

//4000-400F//
5A 21          功能码
60 00          描述指针
00 08          描述指针总偏移量+1  
4F F8          变量地址 sp从此处开始复制
00 00 00 00  XXXX坐标

01 03 00 5D YYYY坐标


//4010-401F//
5A                         5A表示后面四字节线段模式起作用,00表示实线
02  03  04  05         线段模式
00                          (SP+07低)实际像素点大小 00-0F 分别表示 1*1到16*16 ,发帖时有bug,画布会随着扩大.                  
00 00 00 00 00 00 00 00 00 00   5字填充数据

VP变量格式
00 0E  固定
00 01  双色位图个数
00 30 00 30  左上角坐标
00 0f       横向像素数目
00 04     纵向像素数目
FFFF       bit1画笔色
0000    bit 0 画笔色,与上面相同时,绘制纯色短线(应该改为保留背景).
ffff ffff ffff ffff  像素信息  每行像素数据对齐到字
FF  结束(keil C下建议用FF00对齐到字)


bug:对横向像素数目为16整数倍情形不能正确解析(典型的边界判断bug),当前 解决方法 :避开16整数倍,例如用15或17 代替16
示例调试代码:
5A A5 1C 82 54 40 00 0E 00 01 00 30 00 30 00 0F 00 04 FF 00 00 00 55 55 55 55 55 55 55 55 FF  
5A A5 1C 82 54 40 00 0E 00 01 00 30 00 30 00 10 00 04 FF 00 00 00 55 55 55 55 55 55 55 55 FF  //出错







回复

使用道具 举报

0

主题

1

回帖

63

积分

注册会员

Rank: 2

积分
63
发表于 2021-1-11 18:15:33 | 显示全部楼层
请问这个功能如何使用?
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-11-23 11:32 , Processed in 0.062356 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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