zzt 发表于 2022-3-14 11:14:49

【提问】位变量图标如何使用

我按下图创建结构体之后向Act_Bit_Set写FFFF或者0000,结果都是乱显示。

代码如下,结构体是按上图创建的:
xdata BIT_ICON icon;//
void bit_icon_parameter()
{
      icon.VP = 0x5000;
      icon.Act_Bit_Set = 0xffff;
      sys_bit_icon((u16*)&icon);
}

void sys_bit_icon(u16 *icon_data)
{
      u8 len;
      len = sizeof(BIT_ICON)-2;
      sys_write_vp(icon_data, (u8*)(icon_data+1), len / 2);
}
结构体完全对照开发指南创得:
typedef struct{
      u16 VP;//位变量指针, 字变量
      
      u16 VP_AUx;//辅助地址,如使用动画模式,辅助地址必须间隔2地址,
                                                      //且地址不能重复,未使用动画设置可不用设置
      u16 Act_Bit_Set;//
      u8      Display_Mode;//定义显示模式
      u8      Move_Mode;//位图图标排列方式
      u8      Icon_Mode;//ICON显示模式
      u8      Icon_Lib;//图标库存储位置
      u16 ICON0S;//不显示动画模式, bit_0 图标 ID
                                                //显示动画模式, bit_0 图标动画起始 ID 位置
      u16 ICON0E;//显示动画模式, bit_0 图标动画结束 ID 位置
      u16      ICON1S;//不显示动画模式, bit_1 图标 ID
                                                //显示动画模式, bit_1 图标动画起始 ID 位置
      u16 ICON1E;//显示动画模式, bit_1 图标动画结束 ID 位置
      u16 x;//起始位变量显示位置, 图标左上角坐标位置x
      u16 y;//起始位变量显示位置, 图标左上角坐标位置y
      u16 DIS_MOV;//下一个图标坐标移动坐标间隔
      u8 Filter_Set;//图标透明显示时, 背景色滤除强度 0x010x3F。
}BIT_ICON;




zzt 发表于 2022-3-14 11:46:10

本帖最后由 zzt 于 2022-3-14 15:16 编辑

问题解决了

lxguang231 发表于 2024-1-10 09:22:39

怎么解决的?

fay 发表于 2024-1-10 09:32:16

lxguang231 发表于 2024-1-10 09:22
怎么解决的?

可以参考下面链接第8节,设置好位变量图标控件之后直接通过给设置的变量地址写值改变显示。
【教学视频】T5L_DGUS II_PC软件教学视频合集
http://inforum.dwin.com.cn:20080/forum.php?mod=viewthread&tid=7240&fromuid=20891
(出处: 迪文科技论坛)
页: [1]
查看完整版本: 【提问】位变量图标如何使用