-2
我正在學習如何在C編程。使用頭文件在C編譯錯誤
我收到以下錯誤。我試圖重寫我的代碼幾次,但我根本不明白在這種情況下要做什麼。非常感謝幫助。在下面,我列出了編譯錯誤和項目中包含的所有文件及其源代碼。 main.c中
#include "ports.h"
#include "KeyboardML15.h"
int main(){
int get_key(void);
return 0;
}
KeyboardML15.c
int get_key(void){
int msbSet;
while(1)(
msbSet = MSB & Key_Decode_Register:
if(msbSet){
return Key_Decode_Register;
}
}
return 0;
}
Keyboard.h
int get_key(void);
ports.h
#define IRQ_VECADR 0x3FF2
#define IRQ_VEC *((vecptr) IRQ_VEQ_ADR)
#define set(x, mask) (x) = (x) | (mask)
#define clear(x, mask) (x) = (x) & ~(mask)
typedef unsigned char * port8ptr;
typedef unsigned short * port16ptr;
typedef unsigned long *port32ptr;
unsigned char ML4shadow = 0;
unsigned char MSB = 128
#define ML4OUT_ADDRESS 0x400
#define ML4OUT *((port8ptr) ML4OUT_ADDRESS)
#define ML4IN_ADDRESS 0x600
#define ML4IN *((port8ptr) ML4IN_ADDRESS)
#define Key_Decode_Register_ADDRESS 0x9C0
#define Key_Decode_Register *((port8ptr) Key_Decode_Register);
#ifdef SIMULATOR
#define DRILLSTATUS_ADDRESS 0x401
#else
#define DRILLSTATUS_ADDRESS 0x600
#endif
我已經在代碼中的變化。所以msbSet不斷重新啓動。它應該在while循環中。這就是說,問題在於,在ports.h中定義的語句無法找到,而現在我不能做什麼來使其在文件中可見。 – Taiga 2014-12-13 19:35:17
這個想法是,一個按鈕被按下,當它發生時,它應該稍後顯示在顯示器上。因此無限while循環。我們基本上都在等待一個按鈕被按下並不斷讀取,直到發生這種情況 – Taiga 2014-12-13 19:36:39