Error [192] E:\pro\SHE-Z-30\SHE-Z-30.c; 91.1 undefined identifier "OPTION_REG"
Error [192] E:\pro\SHE-Z-30\SHE-Z-30.c; 96.1 undefined identifier "WPU"
Error [192] E:\pro\SHE-Z-30\SHE-Z-30.c; 105.1 undefined identifier "GPIO"
Error [192] E:\pro\SHE-Z-30\SHE-Z-30.c; 106.1 undefined identifier "IOC"
Error [192] E:\pro\SHE-Z-30\SHE-Z-30.c; 108.1 undefined identifier "TRISIO"
Error [192] E:\pro\SHE-Z-30\SHE-Z-30.c; 109.1 undefined identifier "GP4"
Error [192] E:\pro\SHE-Z-30\SHE-Z-30.c; 135.1 undefined identifier "GP1"
Error [192] E:\pro\SHE-Z-30\SHE-Z-30.c; 194.1 undefined identifier "GP4"
Error [192] E:\pro\SHE-Z-30\SHE-Z-30.c; 196.5 undefined identifier "GP0"
Error [192] E:\pro\SHE-Z-30\SHE-Z-30.c; 267.1 undefined identifier "GP1"
Error [192] E:\pro\SHE-Z-30\SHE-Z-30.c; 403.7 undefined identifier "GP1"
Error [192] E:\pro\SHE-Z-30\SHE-Z-30.c; 407.7 undefined identifier "GP1"
Error [192] E:\pro\SHE-Z-30\SHE-Z-30.c; 446.1 undefined identifier "GP1"
都是功能寄存器未定义,但是我的程序里已添加了:#include <pic.h>
如下:
#include <pic.h>
__CONFIG(OSC_INTRC_NOCLKOUT&WDT_OFF&PWRTE_ON&MCLRE_ON&CP_ON&IOSCFS_4MHZ&BOREN_ON&WRT_ALL);
谁能帮忙解答下哪里出问题了??谢谢了!
7 个解决方案
#1
查一下在哪个头定义了,这个头文件在哪里。
<>是系统路径,是否能找到。还有""是用户路径,不行写一个绝对路径看看
<>是系统路径,是否能找到。还有""是用户路径,不行写一个绝对路径看看
#2
点击右键,看看能不能正确跳转到定义的地方。
#3
可以跳转的!
#4
路径是可以打开的,我打开看过,再补充一下:不是所有的SFR都找不到!
#5
有跟芯片相关的宏定义吗? 不同型号可能的寄存器不同。。。
#6
问题找到了,是配置搞错了,谢谢各位
!
!
#7
(1) 你应该用的是MPLAB吧,首先确定你Config->select Device 选择对了。
(2) 记得以前用PIC16F单片机的时候,用hi-tec的编译器,好像只要#include <pic.h>就可以了。但是最近在用PIC24的单片机,用的是mplabC30的编译器,不是包含pic.h,而是下面一段代码,对应头文件中的内容和pic.h是类似的。不知道你的C编译器和单片机用的是哪个?
#if defined(__dsPIC30F__)
#include <p30fxxxx.h>
#elif defined(__dsPIC33F__)
#include <p33Fxxxx.h>
#elif defined(__PIC24F__)
#include <p24Fxxxx.h>
#elif defined(__PIC24H__)
#include <p24Hxxxx.h>
#endif
(3) 如果不行的话,直接将C编辑器目录下单片机的那个头文件拷到你的工程目录下,直接包含这个文件,应该没有问题的。
(2) 记得以前用PIC16F单片机的时候,用hi-tec的编译器,好像只要#include <pic.h>就可以了。但是最近在用PIC24的单片机,用的是mplabC30的编译器,不是包含pic.h,而是下面一段代码,对应头文件中的内容和pic.h是类似的。不知道你的C编译器和单片机用的是哪个?
#if defined(__dsPIC30F__)
#include <p30fxxxx.h>
#elif defined(__dsPIC33F__)
#include <p33Fxxxx.h>
#elif defined(__PIC24F__)
#include <p24Fxxxx.h>
#elif defined(__PIC24H__)
#include <p24Hxxxx.h>
#endif
(3) 如果不行的话,直接将C编辑器目录下单片机的那个头文件拷到你的工程目录下,直接包含这个文件,应该没有问题的。
#1
查一下在哪个头定义了,这个头文件在哪里。
<>是系统路径,是否能找到。还有""是用户路径,不行写一个绝对路径看看
<>是系统路径,是否能找到。还有""是用户路径,不行写一个绝对路径看看
#2
点击右键,看看能不能正确跳转到定义的地方。
#3
可以跳转的!
#4
路径是可以打开的,我打开看过,再补充一下:不是所有的SFR都找不到!
#5
有跟芯片相关的宏定义吗? 不同型号可能的寄存器不同。。。
#6
问题找到了,是配置搞错了,谢谢各位
!
!
#7
(1) 你应该用的是MPLAB吧,首先确定你Config->select Device 选择对了。
(2) 记得以前用PIC16F单片机的时候,用hi-tec的编译器,好像只要#include <pic.h>就可以了。但是最近在用PIC24的单片机,用的是mplabC30的编译器,不是包含pic.h,而是下面一段代码,对应头文件中的内容和pic.h是类似的。不知道你的C编译器和单片机用的是哪个?
#if defined(__dsPIC30F__)
#include <p30fxxxx.h>
#elif defined(__dsPIC33F__)
#include <p33Fxxxx.h>
#elif defined(__PIC24F__)
#include <p24Fxxxx.h>
#elif defined(__PIC24H__)
#include <p24Hxxxx.h>
#endif
(3) 如果不行的话,直接将C编辑器目录下单片机的那个头文件拷到你的工程目录下,直接包含这个文件,应该没有问题的。
(2) 记得以前用PIC16F单片机的时候,用hi-tec的编译器,好像只要#include <pic.h>就可以了。但是最近在用PIC24的单片机,用的是mplabC30的编译器,不是包含pic.h,而是下面一段代码,对应头文件中的内容和pic.h是类似的。不知道你的C编译器和单片机用的是哪个?
#if defined(__dsPIC30F__)
#include <p30fxxxx.h>
#elif defined(__dsPIC33F__)
#include <p33Fxxxx.h>
#elif defined(__PIC24F__)
#include <p24Fxxxx.h>
#elif defined(__PIC24H__)
#include <p24Hxxxx.h>
#endif
(3) 如果不行的话,直接将C编辑器目录下单片机的那个头文件拷到你的工程目录下,直接包含这个文件,应该没有问题的。