在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 2675|回复: 3

ADS中结构体的读取

[复制链接]
发表于 2006-12-11 09:31:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
我定义了这样一个结构体

struct w_chl
{    unsigned long  dsc_ip_addr;               
    char dsc_domain_name[DSC_DOMAIN_LEN+1];   
    //char data0;
    unsigned short dsc_dest_port;            
    //unsigned char data1;
    unsigned short dsc_src_port;            
    unsigned char  dsc_connection_type;            
    unsigned char  dsc_open_ddp;               
    //char data2;
    unsigned short dsc_online_report_timeval;   
    unsigned char  dsc_max_logon_count;         
    //char data3;
    unsigned short dsc_reconnect_timeval;        
    unsigned char  dsc_channel_level;         
};
把相应的参数写入flash后用指针指向该flash地址,然后按结构体中的变量名来访问,可在访问long型和short型时指针总是向后移了移位,第一个字节总是不读取,结果整个读取都错误
后来在写入flash的时候我在long型和short型前加一个空字符,读取的时候不加,但读到相邻的short型即读到dsc_src_port时,就会读出空格来,我在之前加了char data1;后就又少读了一个字节,无论如何总是不能读到有效数据
是不是哪里设置有问题啊?热心的人快帮帮忙啊
发表于 2006-12-11 14:55:42 | 显示全部楼层
有可能是写入flash时候的错误,看看是不是和-packed这样的紧缩型结构有关。
 楼主| 发表于 2006-12-26 17:15:00 | 显示全部楼层

解决了,是字节对齐的问题

我读的时候按结构体读的,可写的时候按字节一个一个写进去的,牵扯到了字节对齐的问题
发表于 2006-12-27 11:21:01 | 显示全部楼层

呵呵

是不是 因为类型的问题

不同环境里的 长度不一样啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-23 00:46 , Processed in 0.016621 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表