zonglinx 发表于 2009-7-29 21:33:05

78k0开发的问题

我用的是78k0/0455,软件是PM6.3,CC78K0 C编译器,RA78K0汇编编译器
1,我把全局变量放在一个头文件里定义,然后调用。但是在编译时一直出现RA78K0 error E3404(重定义错误),找了很久找不出错在那里,确定没有在多个文件里重复定义,请问是什么原因?我在使用V850的单片机时也是这样使用的,没有出问题,不过是PM 5.2,C编码器当然也不同
2,我在程序里定义了一个uchar counter的数组,报出RA78K0 error E3206,改为uchar counter后就不报错,不知道如何解决?
3,选项字节的设置代码(C语言)需要放在main函数里还是什么地方?
4,LCD显示区seg0~seg31,我需要用到26段,用_directmap uchar seg = {0xfa40,0xfa41,0xfa42,0xfa43,0xfa44,0xfa45,
                                                                     0xfa46,0xfa47,0xfa48,0xfa49,0xfa4a,0xfa4b,
                                                                     0xfa4c,0xfa4d,0xfa4e,0xfa4f,0xfa50,0xfa51,
                                                                     0xfa52,0xfa53,0xfa54,0xfa55,0xfa56,0xfa57,0xfa58,0xfa59};这样声明后,就可以对seg段直接进行这样的操作:seg = 0x0f吗?

以上几个问题困惑了我好久,请大虾们指导,谢谢了!!

eyeye 发表于 2009-7-29 23:46:05

1. 你的头文件被重复包含了,自然就重复定义啦,头文件里不应该定义任何变量的!只做声明!
2. 那么大的数组啊,估计应该就是存储溢出了!
3. 定义成全局的就行了,我这样做的@
4. 没用过PM IDE,没用过 0455 。。。 不知道啥意思!

zonglinx 发表于 2009-7-30 11:59:16

1.如果要统一管理全局变量,比如在varible.c文件里定义全局变量,然后在varible.h头文件里对所有全局变量进行声明,这样就行,是这个意思吗?
2.我把uchar counter数组定义成全局变量了,定义为局部变量就行了。
页: [1]
查看完整版本: 78k0开发的问题