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

查看: 6085|回复: 6

stm8 查表的困惑,请高手解析

[复制链接]

2

主题

19

回帖

0

蝴蝶豆

初级会员

最后登录
2020-4-7
发表于 2012-2-13 19:17:47 | 显示全部楼层 |阅读模式
#include "stm8s.h"
const unsigned char
date0[]={
     0x11,
     0x30,
     0x04,
     0x00,
     0x38,
     0x03,
     0xE9,
     0xD8
};
main()
{
  unsigned char i;
   i=sizeof(date0);
 }
问题1:编译提示错误 Error[Pe070]: incomplete type is not allowed.难道sizeof()不支持ROM数组计算
问题2:如何计算数组date0[]的大小?
回复

使用道具 举报

2

主题

19

回帖

0

蝴蝶豆

初级会员

最后登录
2020-4-7
 楼主| 发表于 2012-2-13 19:56:46 | 显示全部楼层

RE:stm8 查表的困惑,请高手解析

沙发,自己顶一下
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2012-2-14 09:43:14 | 显示全部楼层

RE:stm8 查表的困惑,请高手解析

stm8支持C语言标准库,但是在使用的时候也需要调用标准库函数,比如 math.h,你改成下面的方式试一下。还有,sizeof取的是占用的字节数,如果你定义的是int型的,结果会是你定义数组的2倍。
sizeof((unsigned char *)date0);
回复 支持 反对

使用道具 举报

2

主题

19

回帖

0

蝴蝶豆

初级会员

最后登录
2020-4-7
 楼主| 发表于 2012-2-14 11:12:26 | 显示全部楼层

RE:stm8 查表的困惑,请高手解析

试了。结果不对啊
sizeof((unsigned char *)date0)得到的值=0x02;
回复 支持 反对

使用道具 举报

2

主题

19

回帖

0

蝴蝶豆

初级会员

最后登录
2020-4-7
 楼主| 发表于 2012-2-14 11:15:45 | 显示全部楼层

RE:stm8 查表的困惑,请高手解析

安 :
插入了两个库
#include
#include
结果还是不对
iar stm8的 sizeof的运算符 原型有么?谢谢
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2012-2-14 14:09:44 | 显示全部楼层

RE:stm8 查表的困惑,请高手解析

#include 这里调用的sizeo是标准库函数,具体的,可以搜索c语言 sizeo。sizeo和芯片没有关系。
回复 支持 反对

使用道具 举报

2

主题

19

回帖

0

蝴蝶豆

初级会员

最后登录
2020-4-7
 楼主| 发表于 2012-2-14 18:39:34 | 显示全部楼层

RE:stm8 查表的困惑,请高手解析

问题解决了,谢谢!
不是标准库的原因。数组我把它放在data.h文件中。但是没有包含进main.c文件(在其他.C文件中已包含data.h)。
不过IAR编译没有提示错误和警告...再次感谢:安
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版