2012-06-06 53 views
-3

即時通訊我的PIC 16F690寫一些代碼有問題。
使用PIC C編譯器v4.099的Im。
PIC芯片16F690

即時試圖int變量作爲索引傳送到一個這樣的數組:

int myArray[2] = {20, 20}; 
int index = 0; 
void myFunction() 
{ 
    int iTest = myArray[index]; 
} 

由於某種原因該代碼不工作,但是當我更換指數myArray的[指數]
與這樣的零像myArray [0],它工作正常

任何人都可以解釋我什麼即時做錯了?
Greetz Rico

+3

你能向我們解釋一下「不起作用」的含義嗎?它會崩潰嗎?出乎意料的行爲?烤你的烤麪包?給你發送討厭的電子郵件? – JoeFish

+0

可能性非常好,你的意思是說你使用的是CCS編譯器,而不是PIC C編譯器。 –

回答

0

「index」是我的編譯器的一個內置函數,所以這可能是爲什麼它不能在你的「工作」。

+0

在這裏,我只是猜測...很高興知道我的猜測並不完全不準確! –

0

在嵌入式編程,通常你的C程序是一個更大的整體,它包括引導正確的重置系統來運行你的編譯文檔片斷C.

的部分是否有任何機會,在你的編程環境,這個名字「index」已經被保留給某個函數,然後它正在走過你的數組長度?

+0

每當我將其更改爲另一個名稱,它也不起作用< int iTest = myArray [index]; iTest爲空 int iTest = myArray [0]; iTest是20 – user1440717

+0

你改變了什麼名字?您的示例使用與您的問題相同的名稱「索引」。嘗試使用以前使用「索引」的名稱「bob」,看看它是否有所改進。羅布的文章傾向於強化我的觀點,即「索引」是一個宏,或者是在編譯之前擴展到其他文本片段的一段文本。賠率是那些「其他位文字」不會做你想要的。 –

+0

我已將索引更改爲parcourindex,但我沒有看到任何改進,它不管怎麼稱呼它,它只是不工作 – user1440717