迪文科技论坛

 找回密码
 立即注册
搜索
查看: 4470|回复: 3

【DGUS II屏在物联网中的应用】通过串口传输BMP图片

[复制链接]

542

主题

159

回帖

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10515
发表于 2019-5-22 16:35:38 | 显示全部楼层 |阅读模式
DGUS II的GUI都是通过BMP图片上放置控件来完成的。全屏的背景图片都是24bit色的BMP图片。但是图片下载到屏幕中后,会经过处理转换为16bit色,因此通过串口传输文件时也需要注意这个问题。详细步骤如下:

1. BMP图片转换后,只需要下发位图数据。(不要位图头文件,位图信息数据和调色板的数据)

2. BMP图片正常解码的第1个点是左下角,然后往右边,再倒数第2行的左下角往右边。(左到右,下到上)
DGUS II屏幕要的数据是从左上角,往右边,逐行往下。(左到右,上到下)
因此,需要将所有解码后的位图数据,重新编排顺序。

3. 24位色图片的位图数据是8R8G8B,需要转为 5R6G5B,把第1字节的高5位,第2字节的高6位,第3字节的高5位,拿出来,然后第1的5位+第2的高3位 凑成1个字节,余下的3位+第3的高5位凑成第2字节。






①先把图片数据发送到变量地址,例如2000h起始地址 例如发6个红色的点。
5A A5  0F 82 2000 F800 F800 F800 F800 F800 F800
②将数据存到图片保存缓冲区地址000000
5A A5 0B 82 00A2 5A 2000 0006 000000
③图片显示发送5A A5 07 82 00845A02 0000


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

27

主题

75

回帖

859

积分

高级会员

Rank: 4

积分
859
发表于 2019-5-27 17:05:36 | 显示全部楼层
用迪文自己的WIFI-10模组来做物联网的时候,只需要云端把图按照数据包下发就行,其他的工作WIFI模组这边可以自动完成。最后屏识别到的文件再处理就行。
回复

使用道具 举报

7

主题

16

回帖

128

积分

注册会员

Rank: 2

积分
128
发表于 2021-8-18 18:25:35 | 显示全部楼层
5A A5 0B 82 00A2 5A 2000 0006 "000000" --> 背景图片缓冲地址最大是150kwords
万一超过0x0257FF了,会发生什么结果?是否限制上传bmp制作文件的大小了?谢谢
回复

使用道具 举报

0

主题

981

回帖

4041

积分

论坛元老

Rank: 8Rank: 8

积分
4041
发表于 2021-8-18 20:03:32 | 显示全部楼层
joechen 发表于 2021-8-18 18:25
5A A5 0B 82 00A2 5A 2000 0006 "000000" --> 背景图片缓冲地址最大是150kwords
万一超过0x0257FF了,会发 ...

您好,您可以参考下附件BMP图片下载说明,建议将图片数据分包发送到图片缓冲区,一次发送240字节,可以边缓存,边用A2指令下载,已经下载完成的缓冲区可以重复利用,超过150Kwords的部分,可以将前面已经处理完成的数据覆盖掉,继续缓存,继续下载。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 01:47 , Processed in 0.078752 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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