推力数据搜集:如何将一个长整型数据存储在AT24C08中
沙暴2015/05/16喷气推进 IP:广东
看到论坛越来越多人拥有推力测试台,我也做了一个。能搜集到推力数据,对火箭的研制是非常重要的。在大学学了半年51单片机,前几个星期弄了3个传感器,分别用来搜集推力,加速度和飞行高度,基本上做好了,迟些我会把代码和制作过程发到论坛上。我从推力传感器搜集到的数据是一个long型数据,我把它存储在AT24C08中,这样在测试时就不用从连接电脑了。现在有一个问题是,AT24C08一次只能存储一个字节,也就是8位。我的想法是:将long型数据分成4个字符再存储在AT24C08中,但当该long型数据大于65536时,却会溢出。
于是用下面的程序模拟一下,

  char i;
   unsigned char j,c[4];
   unsigned long int b;
   b=75536;
 
 
//将b的32位分到4个字符中
   
 for(i=0;i<4;i++)    { c="(unsigned" char)(b&0xff);   b>>=8;
   }</4;i++)>

//再将4个字符合成变成原来的long型数据
   a=(c[3]<<24)+(c[2]<<16)+(c[1]<<8)+c[0];
却发现输出的a为10000,也即如果数据超过65536,那么输出的数据就会减去65536.
请教:该怎么解决?或者有什么更好的方法?


(我明明在那个for语句中的c有个中括号,并且里面有个i,为何发到论坛上却不行了,已经修改几次了)
来自:航空航天 / 喷气推进
9
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
沙暴 作者
9年8个月前 IP:广东
768910
我明明在那个for语句中的c有个中括号,并且里面有个i,为何发到论坛上却不行了,已经修改几次了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
1211
9年8个月前 IP:四川
768913
请使用代码工具插入代码,已有编辑示例。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
abc555
9年8个月前 IP:广东
768945
试试这个
main()
{
  unsigned char i,c[4];
  unsigned long b,a;
  b=75536;
     
  for(i=0;i<4;i++)     {       c[i]="(unsigned" char)b;       b>>=8;
    }
  a=(c[3]*16777216)+(c[2]*65536)+(c[1]*256)+c[0]; 
  while(1);
}</4;i++)>
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
沙暴作者
9年8个月前 IP:广东
768978
试试这个

实在是太谢谢你了。不过想问:为什么我那样做不行
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
abc555
9年8个月前 IP:广东
768996
引用 沙暴:
实在是太谢谢你了。不过想问:为什么我那样做不行
对数组元素进行移位操作出了问题
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
沙暴作者
9年8个月前 IP:广东
769000
对数组元素进行移位操作出了问题
不明白
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
abc555
9年8个月前 IP:广东
769062
引用 沙暴:
不明白
就是"c[2]<<16;"和"c[3]<<24;"两句有问题,本来行的,但经过编译器编译后就有问题了。你仿真一下。这种移位操作最好用乘法。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
沙暴作者
9年8个月前 IP:广东
769069
就是"c[2]<<16;"和"c[3]<<24;"两句有问题,本来行的,但经过编译器编译后就有问题了。你仿真一下。这种移位操作最好用乘法。
好的,非常感谢
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
沙暴
学者 笔友
文章
9
回复
102
学术分
1
2012/01/24注册,3年9个月前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:邮箱
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}