OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2232|回复: 2

关于电阻触摸屏实验的疑问

[复制链接]

18

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
271
金钱
271
注册时间
2017-3-27
在线时间
76 小时
发表于 2018-4-23 19:44:38 | 显示全部楼层 |阅读模式
1金钱
原子哥,问下,在电阻触摸屏实验中,需要将校准数据保存在EEPROM里,但是为什么是保存14字节呢?如下
#define SAVE_ADDR_BASE 40
//保存校准参数                                                                                    
void TP_Save_Adjdata(void)
{
        AT24CXX_Write(SAVE_ADDR_BASE,(u8*)&tp_dev.xfac,14);        //强制保存&tp_dev.xfac地址开始的14个字节数据,即保存到tp_dev.touchtype
        AT24CXX_WriteOneByte(SAVE_ADDR_BASE+14,0X0A);                //在最后,写0X0A标记校准过了
}

注释中说强制保存&tp_dev.xfac地址开始的14个字节数据,即保存到tp_dev.touchtype,但是下面这个结构体,从float xfac成员到u8 touchtype是16个字节的,从float xfac到short yoff是12个字节的,不明白为什么是保存14个字节,谢谢!
typedef struct
{
        u8 (*init)(void);                        //初始化触摸屏控制器
        u8 (*scan)(u8);                                //扫描触摸屏.0,屏幕扫描;1,物理坐标;         
        void (*adjust)(void);                //触摸屏校准
        u16 x[CT_MAX_TOUCH];                 //当前坐标
        u16 y[CT_MAX_TOUCH];                //电容屏有最多5组坐标,电阻屏则用x[0],y[0]代表:此次扫描时,触屏的坐标,用
                                                                //x[4],y[4]存储第一次按下时的坐标.
        u8  sta;                                        //笔的状态
                                                                //b7:按下1/松开0;
                                    //b6:0,没有按键按下;1,有按键按下.
                                                                //b5:保留
                                                                //b4~b0:电容触摸屏按下的点数(0,表示未按下,1表示按下)
/////////////////////触摸屏校准参数(电容屏不需要校准)//////////////////////                                                               
        float xfac;                                       
        float yfac;
        short xoff;
        short yoff;          
//新增的参数,当触摸屏的左右上下完全颠倒时需要用到.
//b0:0,竖屏(适合左右为X坐标,上下为Y坐标的TP)
//   1,横屏(适合左右为Y坐标,上下为X坐标的TP)
//b1~6:保留.
//b7:0,电阻屏
//   1,电容屏
        u8 touchtype;
}_m_tp_dev;


最佳答案

查看完整内容[请看2#楼]

touchtype也同样保存了。 另外由于结构体的字节对齐,所以是:4+4+4+2
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-4-23 19:44:39 | 显示全部楼层
touchtype也同样保存了。 另外由于结构体的字节对齐,所以是:4+4+4+2
回复

使用道具 举报

18

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
271
金钱
271
注册时间
2017-3-27
在线时间
76 小时
 楼主| 发表于 2018-4-23 22:01:03 | 显示全部楼层
定一下
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 02:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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