你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

在IAR里面,为啥unsigned long只有16位数?

[复制链接]
sunwah 提问时间:2018-8-1 14:50 /
刚刚接触STM8,使用的环境是IAR For STM8 V1.301。
里面定义了一个unsigned long的变量,实际运行的时候发现数据类型是16位的,造成溢出。
unsigned int,unsigned long long,unsigned long,发现都是16位的,这个怎么破?
在选项里面各种尝试都试过,没有解决问题。

额,对于STM8来说,我是个小菜鸟。不过单片机这玩意儿我已经玩了10多年了,虽然不是专职的。
51,PIC,MSP430都用的挺多的,STM32也用过。

按照我的理解,unsigned long就是32位整数。但是为啥这里死活就是只得16位数捏。。。。。。。。
收藏 评论14 发布时间:2018-8-1 14:50

举报

14个回答
toofree 回答时间:2018-8-1 15:44:36
你的怎么试的?unsigned long long型,必须不可能是16位。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

sunwah 回答时间:2018-8-1 15:52:40
toofree 发表于 2018-8-1 15:44
你的怎么试的?unsigned long long型,必须不可能是16位。

这个事情也颠覆了我的认识。
unsigned long  Voltage;

Voltage = ADCData * 330;
在ADCData为838的时候,算出来的值应该是276540,但是监控发现算出来是14396。
276540 = 0x4383C
14396 = 0x383C。
也就是说,我只得到16位数。
toofree 回答时间:2018-8-1 16:55:33
本帖最后由 toofree 于 2018-8-1 17:05 编辑

long long显示是有点问题,其它的都可以
傲游截图20180801165513.png
stm1024 回答时间:2018-8-1 18:41:10
sizeof(unsigned long)等于多少?

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

feixiang20 回答时间:2018-8-2 01:44:33
stm1024 发表于 2018-8-1 18:41
sizeof(unsigned long)等于多少?

不管是16位编译器tc还是32位编译器vc都是4个字节。 int在14位编译器下是2,32位编译器下是4

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

sunwah 回答时间:2018-8-2 09:07:54
stm1024 发表于 2018-8-1 18:41
sizeof(unsigned long)等于多少?

仿真发现:
sizeof(unsigned long)等于4
sizeof(unsigned long long int)则显示无效
stm1024 回答时间:2018-8-2 09:40:56
feixiang20 发表于 2018-8-2 01:44
不管是16位编译器tc还是32位编译器vc都是4个字节。 int在14位编译器下是2,32位编译器下是4 ...

sizeof只是想让他测试一下字节数。
原则上C没有规定int和long具体是多少位,只是规定long不小于int
sunwah 回答时间:2018-8-2 10:02:32
stm1024 发表于 2018-8-2 09:40
sizeof只是想让他测试一下字节数。
原则上C没有规定int和long具体是多少位,只是规定long不小于int ...

额,或者你能不能告诉我,在IAR里面有没有办法定义出来一个32位整数变量?我怎么折腾,都是16位。
stm1024 回答时间:2018-8-2 11:44:29
本帖最后由 stm1024 于 2018-8-2 11:46 编辑
sunwah 发表于 2018-8-2 10:02
额,或者你能不能告诉我,在IAR里面有没有办法定义出来一个32位整数变量?我怎么折腾,都是16位。 ...

stdint.h,了解一下?
使用uint32_t试试?

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版