3789|5

5

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

ZigBee 无符号长整型除法 [复制链接]

今天碰到一个很蛋疼的问题,我用长整型变量 a=32279638,我除以32,ZigBee会输出2736(具体是多少,没看清,但是蛋疼的它竞然只有4位数啊,这就不科学的);然而我用C++写代码运算,他毫无问题,得到1008738
此帖出自RF/无线论坛

最新回复

贴下代码呗 你的公式是什么样的? 是a=a/32?  详情 回复 发表于 2017-4-18 10:25
点赞 关注
 

回复
举报

9744

帖子

24

TA的资源

版主

沙发
 
贴下代码呗
你的公式是什么样的?
是a=a/32?
此帖出自RF/无线论坛
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
现在才登,我现在贴代码和结果

1.PNG (12.78 KB, 下载次数: 2)

1.PNG

2.PNG (12.91 KB, 下载次数: 2)

2.PNG
此帖出自RF/无线论坛
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

4
 
unsigned long mhz19Read(void)
{
  unsigned long count1,count2,value,th,tl;
  //float th,tl;
  //unsigned int n1=0,n2=0,tl,th,value,v1,v2,flag=0;
  while(MHZ19IO)
  {
  }
  while(!MHZ19IO)//以上两步,寻找起始点
  {
  }
  while(MHZ19IO)
  {
    count1+=1;
  }
  while(!MHZ19IO)
  {
    count2+=1;
  }
  th=count1/32;
  tl=count2/32/1000;
  value=2000*(th-2)/(th+tl-4);
  return th;
}

value=mhz19Read();
sprintf(TxData,"%ld",value);
UartSendString(TxData, sizeof(TxData));

count1相当于一个自加器,计数用的
此帖出自RF/无线论坛
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

5
 
这是转换返回值时,转换情况

1.PNG (2.39 KB, 下载次数: 1)

1.PNG
此帖出自RF/无线论坛
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

6
 
CC2530是51的核,51是8位的,计算过程中数值偏大会溢出。做这种长整型运算要分步运算,否则在计算过程中,一旦值超过范围会被截取掉,可以在计算的时候加上强制转换
上面是TI社区给的答案
此帖出自RF/无线论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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