完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
使用的是 CH559L 芯片,使用的是官方提供的 CH559.h 文件 报错信息如下: 遇到的情况如下: 1、经过测试,如果有两个.c文件包含了CH559.h头文件就会出现如上信息 2、报错的对象都来自于CH559.h 3、为了把这个代码写下来,又不能在一个C文件里写下所有问题,请教要怎么解决啊 Actually i forget to mention a third way. You may set NO_XSFR_DEFINE in the Keil IDE under options>Target>c51>defines globally vor all c files. Then change your main.c (and only that one) .... #undef NO_XSFR_DEFINE #include "ch559.h" .... By the way publishing my header files maybe does not make sense because i have designed them to be compatible with Keil, SDCC and IAR. Nothing vor a beginner i guess. |
|
相关推荐
3个回答
|
|
问题是 Keil c51 不支持 xsfr 关键字。所以你必须围绕这个工作。
简单丑陋的方法: #define NO_XSFR_DEFINE #include "ch559.h" 在您的所有 c 文件中,第一个将 xsfr def 转换为外部声明的文件除外。 更好的方法是在开头更改 ch559.h,如下所示: #ifdef __CH559_H__ //已经包含在某处 #define NO_XSFR_DEFINE #万一 这样头文件本身将处理更改。 我不喜欢原始头文件的样式,因此使用我自己的。 |
|
|
|
你好,可以在CH559.h中增加NO_XSFR_DEFINE的宏定义。
|
|
|
|
其实我忘了提第三种方式。
您可以在 Keil IDE 下设置 NO_XSFR_DEFINE options>Target>c51>全局定义所有 c 文件。 然后改变你的 main.c (只有那个) …… #undef NO_XSFR_DEFINE #include "ch559.h" …… 顺便说一下,发布我的头文件可能没有意义,因为我将它们设计为与 Keil、SDCC 和 IAR 兼容。我猜对初学者来说没什么。 |
|
|
|
只有小组成员才能发言,加入小组>>
463 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2868 浏览 2 评论
2357 浏览 1 评论
810浏览 2评论
CH569通过HSPI实现USB3.0和FPGA高速双向通讯
633浏览 1评论
494浏览 1评论
CH32F103C8T6使用当前官网上的CDC例程会出现设备描述符请求失败
358浏览 1评论
632浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 13:17 , Processed in 1.036738 second(s), Total 50, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号