打印
[PIC®/AVR®/dsPIC®产品]

MPLAB IDE 代码转到X IDE后编译出现的问题

[复制链接]
4631|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shibinjie11|  楼主 | 2015-3-2 12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的PIC16F883单片机,原先在MPLAB IDE 和PICC8.83版本上已经开发成功了。我现在用MPLAB X IDE 和XC8的编译器,建立新的项目后,代码原封不动复制过来,编译发现代码里GODONE这个出现错误,是什么原因呢?
沙发
yklstudent| | 2015-3-2 21:30 | 只看该作者
看头文件,修改下就好了

使用特权

评论回复
板凳
shibinjie11|  楼主 | 2015-3-4 09:04 | 只看该作者
yklstudent 发表于 2015-3-2 21:30
看头文件,修改下就好了

// Register: ADCON0
extern volatile unsigned char           ADCON0              @ 0x01F;
#ifndef _LIB_BUILD
asm("ADCON0 equ 01Fh");
#endif
// bitfield definitions
typedef union {
    struct {
        unsigned ADON                   :1;
        unsigned GO_nDONE               :1;
        unsigned CHS                    :4;
        unsigned ADCS                   :2;
    };
    struct {
        unsigned                        :1;
        unsigned GO                     :1;
        unsigned CHS0                   :1;
        unsigned CHS1                   :1;
        unsigned CHS2                   :1;
        unsigned CHS3                   :1;
        unsigned ADCS0                  :1;
        unsigned ADCS1                  :1;
    };
    struct {
        unsigned                        :1;
        unsigned nDONE                  :1;
    };
    struct {
        unsigned                        :1;
        unsigned GO_DONE                :1;
    };
} ADCON0bits_t;
extern volatile ADCON0bits_t ADCON0bits @ 0x01F;

这是头文件对ADCON0的定义,第一个结构体中的GO_nDONE和第二个结构体中的GO有什么区别???为什么定义三个结构体?

使用特权

评论回复
地板
yklstudent| | 2015-3-4 09:53 | 只看该作者
shibinjie11 发表于 2015-3-4 09:04
// Register: ADCON0
extern volatile unsigned char           ADCON0              @ 0x01F;
#ifndef _ ...

个人理解方便操作,没区别

使用特权

评论回复
5
shibinjie11|  楼主 | 2015-3-4 12:44 | 只看该作者
yklstudent 发表于 2015-3-4 09:53
个人理解方便操作,没区别

你也是用PIC单片机做项目的吗?我的QQ1537369301,大家留个方式有问题共同探讨探讨把

使用特权

评论回复
6
hang150| | 2015-3-9 10:33 | 只看该作者
到microchip官网下个xc8编译器说明书,里面有从旧编译器迁移到新编译器的说明。在mplab文件夹有个doc文件夹里有关于配置字的新写法。

使用特权

评论回复
7
liu0000feng| | 2015-4-28 16:06 | 只看该作者
头文件定义出错了!

使用特权

评论回复
8
dogglove| | 2015-5-13 15:44 | 只看该作者
头文件C语言寄存器名字不同,改改就可以了

使用特权

评论回复
来自Meizu MX4
9
liu0000feng| | 2015-5-21 16:08 | 只看该作者
你用的是X8编译器,去看看头文件,有些命名得该一下!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

10

帖子

0

粉丝