找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1515|回复: 6
打印 上一主题 下一主题
收起左侧

为什么 X IDE 写CMCON0 报错

[复制链接]
跳转到指定楼层
楼主
ID:206067 发表于 2019-10-10 00:47 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
写规格书里面的 CMCON0或CMPON都下划红线 编译失败 写CMCON没有红线编译也失败

现在是想用GP1做输入 发现不行 GP3可以

1570639534185.jpg (1.42 MB, 下载次数: 21)

1570639534185.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:7485 发表于 2019-10-10 08:07 | 只看该作者
什么芯片?
回复

使用道具 举报

板凳
ID:206067 发表于 2019-10-10 09:26 | 只看该作者

PIC10F202 SOT23-6  我是想用GP1做输入 发现内部上拉不起作用 用外部上拉程序可以正常工作 GP3的内部上拉就正常 觉得是比较器没关闭 就发现写CMCON0 会下划红线 用的X IDE 好像是V2.35吧
回复

使用道具 举报

地板
ID:617981 发表于 2019-10-11 10:15 | 只看该作者
你是不是寄存器名称没写对,去编译器的.H文件里面看看寄存器名称怎么定义的
回复

使用道具 举报

5#
ID:206067 发表于 2019-10-12 04:05 | 只看该作者
本帖最后由 gravedigger 于 2019-10-12 10:43 编辑
1302798532 发表于 2019-10-11 10:15
你是不是寄存器名称没写对,去编译器的.H文件里面看看寄存器名称怎么定义的

头文件没有发现比较器 后面不用烧录器供电GP1 就有上拉了 GP0还是没有

#include<pic.h>
#include <xc.h>

#pragma config WDTE = OFF       // Watchdog Timer (WDT disabled)
#pragma config CP = OFF         // Code Protect (Code protection off)
#pragma config MCLRE = OFF      // Master Clear Enable (GP3/MCLR pin fuction is digital I/O, MCLR

internally tied to VDD)

#define KEY GP1 //换成GP0没上拉 要外接

#define LED GP2

void main()
{   
    TRISGPIO=0b00001011;  
    OSCCAL=0b11111110;
    OPTION=0b00000111;
   // CMCON = 0;  //CMCON0写出来就下划红线 CMCON不红线 编译会出错
    GP0=GP1=GP2=0;
    while(1)
    {
        if(KEY==0)
        {
        LED=1;
        }
        else
        {
            LED=0;
        }
    }
}


下面是头文件
// Version 1.34
// Generated 16/02/2015 GMT

/*
* Copyright © 2015, Microchip Technology Inc. and its subsidiaries ("Microchip")
* All rights reserved.
*
* This software is developed by Microchip Technology Inc. and its subsidiaries ("Microchip").
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
*     1. Redistributions of source code must retain the above copyright notice, this list of
*        conditions and the following disclaimer.
*
*     2. Redistributions in binary form must reproduce the above copyright notice, this list
*        of conditions and the following disclaimer in the documentation and/or other
*        materials provided with the distribution.
*
*     3. Microchip's name may not be used to endorse or promote products derived from this
*        software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL MICROCHIP BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWSOEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*  */

#ifndef _PIC10F202_H_
#define _PIC10F202_H_

/*
* C Header file for the Microchip PIC Microcontroller
* PIC10F202
*  */
#ifndef __XC8
#warning Header file pic10f202.h included directly. Use #include <xc.h> instead.
#endif

/*
* Register Definitions
*  */

// Register: INDF
extern volatile unsigned char           INDF                @ 0x000;
#ifndef _LIB_BUILD
asm("INDF equ 00h");
#endif
// bitfield definitions
typedef union {
    struct {
        unsigned INDF                   :8;
    };
} INDFbits_t;
extern volatile INDFbits_t INDFbits @ 0x000;
// bitfield macros
#define _INDF_INDF_POSN                                     0x0
#define _INDF_INDF_POSITION                                 0x0
#define _INDF_INDF_SIZE                                     0x8
#define _INDF_INDF_LENGTH                                   0x8
#define _INDF_INDF_MASK                                     0xFF

// Register: TMR0
extern volatile unsigned char           TMR0                @ 0x001;
#ifndef _LIB_BUILD
asm("TMR0 equ 01h");
#endif
// bitfield definitions
typedef union {
    struct {
        unsigned TMR0                   :8;
    };
} TMR0bits_t;
extern volatile TMR0bits_t TMR0bits @ 0x001;
// bitfield macros
#define _TMR0_TMR0_POSN                                     0x0
#define _TMR0_TMR0_POSITION                                 0x0
#define _TMR0_TMR0_SIZE                                     0x8
#define _TMR0_TMR0_LENGTH                                   0x8
#define _TMR0_TMR0_MASK                                     0xFF

// Register: PCL
extern volatile unsigned char           PCL                 @ 0x002;
#ifndef _LIB_BUILD
asm("PCL equ 02h");
#endif
// bitfield definitions
typedef union {
    struct {
        unsigned PCL                    :8;
    };
} PCLbits_t;
extern volatile PCLbits_t PCLbits @ 0x002;
// bitfield macros
#define _PCL_PCL_POSN                                       0x0
#define _PCL_PCL_POSITION                                   0x0
#define _PCL_PCL_SIZE                                       0x8
#define _PCL_PCL_LENGTH                                     0x8
#define _PCL_PCL_MASK                                       0xFF

// Register: STATUS
extern volatile unsigned char           STATUS              @ 0x003;
#ifndef _LIB_BUILD
asm("STATUS equ 03h");
#endif
// bitfield definitions
typedef union {
    struct {
        unsigned C                      :1;
        unsigned DC                     :1;
        unsigned Z                      :1;
        unsigned nPD                    :1;
        unsigned nTO                    :1;
        unsigned                        :2;
        unsigned GPWUF                  :1;
    };
    struct {
        unsigned CARRY                  :1;
    };
    struct {
        unsigned                        :2;
        unsigned ZERO                   :1;
    };
} STATUSbits_t;
extern volatile STATUSbits_t STATUSbits @ 0x003;
// bitfield macros
#define _STATUS_C_POSN                                      0x0
#define _STATUS_C_POSITION                                  0x0
#define _STATUS_C_SIZE                                      0x1
#define _STATUS_C_LENGTH                                    0x1
#define _STATUS_C_MASK                                      0x1
#define _STATUS_DC_POSN                                     0x1
#define _STATUS_DC_POSITION                                 0x1
#define _STATUS_DC_SIZE                                     0x1
#define _STATUS_DC_LENGTH                                   0x1
#define _STATUS_DC_MASK                                     0x2
#define _STATUS_Z_POSN                                      0x2
#define _STATUS_Z_POSITION                                  0x2
#define _STATUS_Z_SIZE                                      0x1
#define _STATUS_Z_LENGTH                                    0x1
#define _STATUS_Z_MASK                                      0x4
#define _STATUS_nPD_POSN                                    0x3
#define _STATUS_nPD_POSITION                                0x3
#define _STATUS_nPD_SIZE                                    0x1
#define _STATUS_nPD_LENGTH                                  0x1
#define _STATUS_nPD_MASK                                    0x8
#define _STATUS_nTO_POSN                                    0x4
#define _STATUS_nTO_POSITION                                0x4
#define _STATUS_nTO_SIZE                                    0x1
#define _STATUS_nTO_LENGTH                                  0x1
#define _STATUS_nTO_MASK                                    0x10
#define _STATUS_GPWUF_POSN                                  0x7
#define _STATUS_GPWUF_POSITION                              0x7
#define _STATUS_GPWUF_SIZE                                  0x1
#define _STATUS_GPWUF_LENGTH                                0x1
#define _STATUS_GPWUF_MASK                                  0x80
#define _STATUS_CARRY_POSN                                  0x0
#define _STATUS_CARRY_POSITION                              0x0
#define _STATUS_CARRY_SIZE                                  0x1
#define _STATUS_CARRY_LENGTH                                0x1
#define _STATUS_CARRY_MASK                                  0x1
#define _STATUS_ZERO_POSN                                   0x2
#define _STATUS_ZERO_POSITION                               0x2
#define _STATUS_ZERO_SIZE                                   0x1
#define _STATUS_ZERO_LENGTH                                 0x1
#define _STATUS_ZERO_MASK                                   0x4

// Register: FSR
extern volatile unsigned char           FSR                 @ 0x004;
#ifndef _LIB_BUILD
asm("FSR equ 04h");
#endif
// bitfield definitions
typedef union {
    struct {
        unsigned FSR                    :8;
    };
} FSRbits_t;
extern volatile FSRbits_t FSRbits @ 0x004;
// bitfield macros
#define _FSR_FSR_POSN                                       0x0
#define _FSR_FSR_POSITION                                   0x0
#define _FSR_FSR_SIZE                                       0x8
#define _FSR_FSR_LENGTH                                     0x8
#define _FSR_FSR_MASK                                       0xFF

// Register: OSCCAL
extern volatile unsigned char           OSCCAL              @ 0x005;
#ifndef _LIB_BUILD
asm("OSCCAL equ 05h");
#endif
// bitfield definitions
typedef union {
    struct {
        unsigned FOSC4                  :1;
        unsigned CAL                    :7;
    };
    struct {
        unsigned                        :1;
        unsigned CAL0                   :1;
        unsigned CAL1                   :1;
        unsigned CAL2                   :1;
        unsigned CAL3                   :1;
        unsigned CAL4                   :1;
        unsigned CAL5                   :1;
        unsigned CAL6                   :1;
    };
} OSCCALbits_t;
extern volatile OSCCALbits_t OSCCALbits @ 0x005;
// bitfield macros
#define _OSCCAL_FOSC4_POSN                                  0x0
#define _OSCCAL_FOSC4_POSITION                              0x0
#define _OSCCAL_FOSC4_SIZE                                  0x1
#define _OSCCAL_FOSC4_LENGTH                                0x1
#define _OSCCAL_FOSC4_MASK                                  0x1
#define _OSCCAL_CAL_POSN                                    0x1
#define _OSCCAL_CAL_POSITION                                0x1
#define _OSCCAL_CAL_SIZE                                    0x7
#define _OSCCAL_CAL_LENGTH                                  0x7
#define _OSCCAL_CAL_MASK                                    0xFE
#define _OSCCAL_CAL0_POSN                                   0x1
#define _OSCCAL_CAL0_POSITION                               0x1
#define _OSCCAL_CAL0_SIZE                                   0x1
#define _OSCCAL_CAL0_LENGTH                                 0x1
#define _OSCCAL_CAL0_MASK                                   0x2
#define _OSCCAL_CAL1_POSN                                   0x2
#define _OSCCAL_CAL1_POSITION                               0x2
#define _OSCCAL_CAL1_SIZE                                   0x1
#define _OSCCAL_CAL1_LENGTH                                 0x1
#define _OSCCAL_CAL1_MASK                                   0x4
#define _OSCCAL_CAL2_POSN                                   0x3
#define _OSCCAL_CAL2_POSITION                               0x3
#define _OSCCAL_CAL2_SIZE                                   0x1
#define _OSCCAL_CAL2_LENGTH                                 0x1
#define _OSCCAL_CAL2_MASK                                   0x8
#define _OSCCAL_CAL3_POSN                                   0x4
#define _OSCCAL_CAL3_POSITION                               0x4
#define _OSCCAL_CAL3_SIZE                                   0x1
#define _OSCCAL_CAL3_LENGTH                                 0x1
#define _OSCCAL_CAL3_MASK                                   0x10
#define _OSCCAL_CAL4_POSN                                   0x5
#define _OSCCAL_CAL4_POSITION                               0x5
#define _OSCCAL_CAL4_SIZE                                   0x1
#define _OSCCAL_CAL4_LENGTH                                 0x1
#define _OSCCAL_CAL4_MASK                                   0x20
#define _OSCCAL_CAL5_POSN                                   0x6
#define _OSCCAL_CAL5_POSITION                               0x6
#define _OSCCAL_CAL5_SIZE                                   0x1
#define _OSCCAL_CAL5_LENGTH                                 0x1
#define _OSCCAL_CAL5_MASK                                   0x40
#define _OSCCAL_CAL6_POSN                                   0x7
#define _OSCCAL_CAL6_POSITION                               0x7
#define _OSCCAL_CAL6_SIZE                                   0x1
#define _OSCCAL_CAL6_LENGTH                                 0x1
#define _OSCCAL_CAL6_MASK                                   0x80

// Register: GPIO
extern volatile unsigned char           GPIO                @ 0x006;
#ifndef _LIB_BUILD
asm("GPIO equ 06h");
#endif
// bitfield definitions
typedef union {
    struct {
        unsigned GP0                    :1;
        unsigned GP1                    :1;
        unsigned GP2                    :1;
        unsigned GP3                    :1;
    };
} GPIObits_t;
extern volatile GPIObits_t GPIObits @ 0x006;
// bitfield macros
#define _GPIO_GP0_POSN                                      0x0
#define _GPIO_GP0_POSITION                                  0x0
#define _GPIO_GP0_SIZE                                      0x1
#define _GPIO_GP0_LENGTH                                    0x1
#define _GPIO_GP0_MASK                                      0x1
#define _GPIO_GP1_POSN                                      0x1
#define _GPIO_GP1_POSITION                                  0x1
#define _GPIO_GP1_SIZE                                      0x1
#define _GPIO_GP1_LENGTH                                    0x1
#define _GPIO_GP1_MASK                                      0x2
#define _GPIO_GP2_POSN                                      0x2
#define _GPIO_GP2_POSITION                                  0x2
#define _GPIO_GP2_SIZE                                      0x1
#define _GPIO_GP2_LENGTH                                    0x1
#define _GPIO_GP2_MASK                                      0x4
#define _GPIO_GP3_POSN                                      0x3
#define _GPIO_GP3_POSITION                                  0x3
#define _GPIO_GP3_SIZE                                      0x1
#define _GPIO_GP3_LENGTH                                    0x1
#define _GPIO_GP3_MASK                                      0x8

// Register: OPTION
extern volatile __control unsigned char OPTION              @ 0x000;

// Register: TRIS
extern volatile __control unsigned char TRIS                @ 0x006;

// Register: TRISGPIO
extern volatile __control unsigned char TRISGPIO            @ 0x006;

/*
* OPTION bits
*  */
#define                                 PS                  0x7
#define                                 PSA                 0x8
#define                                 T0SE                0x10
#define                                 T0CS                0x20
#define                                 nGPPU               0x40
#define                                 nGPWU               0x80
#define                                 PS0                 0x1
#define                                 PS1                 0x2
#define                                 PS2                 0x4

/*
* Bit Definitions
*  */
#define _DEPRECATED __attribute__((__deprecated__))
#ifndef BANKMASK
#define BANKMASK(addr) ((addr)&01Fh)
#endif
extern volatile __bit                   CAL0                @ (((unsigned) &OSCCAL)*8) + 1;
#define                                 CAL0_bit            BANKMASK(OSCCAL), 1
extern volatile __bit                   CAL1                @ (((unsigned) &OSCCAL)*8) + 2;
#define                                 CAL1_bit            BANKMASK(OSCCAL), 2
extern volatile __bit                   CAL2                @ (((unsigned) &OSCCAL)*8) + 3;
#define                                 CAL2_bit            BANKMASK(OSCCAL), 3
extern volatile __bit                   CAL3                @ (((unsigned) &OSCCAL)*8) + 4;
#define                                 CAL3_bit            BANKMASK(OSCCAL), 4
extern volatile __bit                   CAL4                @ (((unsigned) &OSCCAL)*8) + 5;
#define                                 CAL4_bit            BANKMASK(OSCCAL), 5
extern volatile __bit                   CAL5                @ (((unsigned) &OSCCAL)*8) + 6;
#define                                 CAL5_bit            BANKMASK(OSCCAL), 6
extern volatile __bit                   CAL6                @ (((unsigned) &OSCCAL)*8) + 7;
#define                                 CAL6_bit            BANKMASK(OSCCAL), 7
extern volatile __bit                   CARRY               @ (((unsigned) &STATUS)*8) + 0;
#define                                 CARRY_bit           BANKMASK(STATUS), 0
extern volatile __bit                   DC                  @ (((unsigned) &STATUS)*8) + 1;
#define                                 DC_bit              BANKMASK(STATUS), 1
extern volatile __bit                   FOSC4               @ (((unsigned) &OSCCAL)*8) + 0;
#define                                 FOSC4_bit           BANKMASK(OSCCAL), 0
extern volatile __bit                   GP0                 @ (((unsigned) &GPIO)*8) + 0;
#define                                 GP0_bit             BANKMASK(GPIO), 0
extern volatile __bit                   GP1                 @ (((unsigned) &GPIO)*8) + 1;
#define                                 GP1_bit             BANKMASK(GPIO), 1
extern volatile __bit                   GP2                 @ (((unsigned) &GPIO)*8) + 2;
#define                                 GP2_bit             BANKMASK(GPIO), 2
extern volatile __bit                   GP3                 @ (((unsigned) &GPIO)*8) + 3;
#define                                 GP3_bit             BANKMASK(GPIO), 3
extern volatile __bit                   GPWUF               @ (((unsigned) &STATUS)*8) + 7;
#define                                 GPWUF_bit           BANKMASK(STATUS), 7
extern volatile __bit                   ZERO                @ (((unsigned) &STATUS)*8) + 2;
#define                                 ZERO_bit            BANKMASK(STATUS), 2
extern volatile __bit                   nPD                 @ (((unsigned) &STATUS)*8) + 3;
#define                                 nPD_bit             BANKMASK(STATUS), 3
extern volatile __bit                   nTO                 @ (((unsigned) &STATUS)*8) + 4;
#define                                 nTO_bit             BANKMASK(STATUS), 4

#endif // _PIC10F202_H_

评分

参与人数 1黑币 +70 收起 理由
admin + 70 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:206067 发表于 2019-10-12 14:16 来自手机 | 只看该作者
有没有朋友能试下这个程序你们有没有GP0无上拉和CMCON0报错的问题    或者有没有用GP0做上拉输入的程序我来试一下
回复

使用道具 举报

7#
ID:206067 发表于 2019-10-15 17:04 | 只看该作者
1302798532 发表于 2019-10-11 10:15
你是不是寄存器名称没写对,去编译器的.H文件里面看看寄存器名称怎么定义的

已经知道为什么划红线了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表