Keil編程中Source Brower : "P17" is undefined!的問題

博客原文:Keil編程中Source Brower : "P17" is undefined!的問題

在Keil新建工程中經常會遇到一個問題,去看某一個變量定義,然後跳轉不過去,並提示Source Brower : "某某" is undefined!,在這裏我就提供一種我遇到的問題以及解決方案。

如下是頭文件的定義

#ifndef _LED_H_
#define _LED_H_

#define LED1  P17

#endif

如下是源文件的定義,使用的芯片是N76E003嘍。

#include "N76E003.h"
#include "Common.h"
#include "Delay.h"
#include "SFR_Macro.h"
#include "Function_define.h"
#include "LED.h"

void LED_Init_IO(void)
{
  P17_PushPull_Mode;
  //	LED1 = 1;
}

 當我在頭文件想要查看P17的定義時,結果提示如下圖,P17引腳沒有定義 ?是真的沒有定義嗎?答案是否定的。

注意看源文件的內容,LED1 = 1;這句話我給註釋掉了,當我把這個註釋給去掉,編譯鏈接一下,在去頭文件查看P17定義,直接跳轉有末有。這種問題往往出現在新建的工程中,在源文件還沒來得及使用在頭文件定義的內容。我也是偶然發現的。可能是編譯器的優化問題吧。

往往還有一種情況,新建的源文件和頭文件忘了添加到工程中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章