請問18f452(4515)的高、低中斷優先程式可以有幾個?
|
||||
---|---|---|---|---|
新會員
|
請問高手:
我現在寫的程式有用到三個外部中斷功能(INT0~2),和計時器二中斷,我將三個外部中斷設為高優先,計時器二設為低優先,程式一直compile不過,請問是哪裡有問題? 以下是我寫的中斷程式碼。 中斷服務宣告部分: void intrpt_INT0(void); void intrpt_INT1(void); void intrpt_INT2(void); void intrpt_TMR2(void); #pragma code high_vector_section=0x0008 void high_vector(void) { if(INT0IF==1){_asm goto intrpt_INT0 _endasm} if(INT1IF==1){_asm goto intrpt_INT1 _endasm} if(INT2IF==1){_asm goto intrpt_INT2 _endasm} } #pragma code #pragma code low_vector_section=0x0018 void low_vector(void) { _asm goto intrpt_TMR2 _endasm } #pragma code 中斷程式部分: #pragma interruptlow intrpt_TMR2 void intrpt_TMR2(void) { 省略… } #pragma interrupt intrpt_INT0 void intrpt_INT0(void) { 省略… } #pragma interrupt intrpt_INT1 void intrpt_INT1(void) { 省略… } #pragma interrupt intrpt_INT2 void intrpt_INT2(void) { 省略... } 所有中斷程式我都測試過,都可以執行。 若在高優先的宣告裡只有宣告一個外部中斷功能(即高、低優先程式各有一個服務程式),程式compile可以過,但是在高優先權宣告裡宣告三個外部中斷功能,則會compile不過,出現的錯誤訊息為: MPLINK 3.92, Linker Copyright (c) 2005 Microchip Technology Inc. Error - section 'low_vector_section' can not fit the absolute section. Section 'low_vector_section' start=0x00000018, length=0x00000006 Errors : 1 請問這是什麼樣的問題啊,有什麼方法可以解決這種使用多個中斷功能的問題 ? 請高手幫幫忙,謝謝!!
發表於: 2005/8/12 22:40
|
|||
|
請問PIC有自我測試的程式嗎?
|
||||
---|---|---|---|---|
新會員
|
請問一下:
我現在做的實驗需要到驗証PIC18F452是否是正常的狀態,才 能開始進行工作,我上MICROCHIP的網頁沒有找到有關PIC自 我測試的相關程式(如check sum),所以想請問高手們是否有人 知道如何編寫PIC18F452的自我測試程式或哪裡會有PIC自我 測試的程試碼可以使用。 謝謝~~
發表於: 2005/7/20 14:46
|
|||
|
Re: 請問使用ram的巨大矩陣的使用方法?
|
||||
---|---|---|---|---|
新會員
|
我的問題解決了,在linker script的STACK SIZE=0x100
RAM=gpr1<=改成“1”就可以了,雖然不太知道為什麼,但是 改過就可以compile了。 程式修改如下: linker script: ACCESSBANK NAME=accessram START=0x0 END=0x7F DATABANK NAME=gpr0 START=0x80 END=0xFF DATABANK NAME=gpr1 START=0x100 END=0x1FF DATABANK NAME=hugestuff START=0x200 END=0x3FF ROTECTED DATABANK NAME=gpr4 START=0x400 END=0x4FF DATABANK NAME=gpr5 START=0x500 END=0x5FF ACCESSBANK NAME=accesssfr START=0xF80 END=0xFFF SECTION NAME=HugeObj RAM=hugestuff STACK SIZE=0x100 RAM=gpr1 SECTION NAME=HugeObj RAM=hugestuff ps: 希望有高手能出c18 compiler的書,這樣使用者就能方更地使 用c18了,不需要東翻西翻地找問題的解答。
發表於: 2005/4/6 12:21
|
|||
|
請問使用ram的巨大矩陣的使用方法?
|
||||
---|---|---|---|---|
新會員
|
我將w401的“記憶體管理 資料陣列的擴展- 範例”compile,發
現array超過256byte後就compile不過,請問要如何使用 mcc18 的巨大矩陣。 請高手幫幫忙!! compile過的程式: #pragma udata HugeObj //select HugeObj section static unsigned char ***Array1[256]***; //define array #pragma udata //return to default udata section unsigned char *Ptr1; //define array pointer (16-bits) void main(void) { unsigned int Count; //define counter variable Ptr1 = Array1; //initialize pointer for (Count=0x00; Count<0x200; Count++) { Ptr1[Count]=0xFF; //set array element to 0xFF }} compile不過的程式: #pragma udata HugeObj //select HugeObj section static unsigned char ***Array1[512]***; //define array #pragma udata //return to default udata section unsigned char *Ptr1; //define array pointer (16-bits) void main(void) { unsigned int Count; //define counter variable Ptr1 = Array1; //initialize pointer for (Count=0x00; Count<0x200; Count++) { Ptr1[Count]=0xFF; //set array element to 0xFF }} 錯誤訊息: MPLINK 3.92, Linker Copyright (c) 2005 Microchip Technology Inc. Error - section 'HugeObj' can not fit the section. Section 'HugeObj' length=0x00000200 Errors : 1 PS: 我有試著把pic“f452.lkr”的“linker script”改成和投影片的內容相同,但是還是不行compile不過。 linker script: ACCESSBANK NAME=accessram START=0x0 END=0x7F DATABANK NAME=gpr0 START=0x80 END=0xFF DATABANK NAME=gpr1 START=0x100 END=0x1FF //DATABANK NAME=gpr2 START=0x200 END=0x2FF //DATABANK NAME=gpr3 START=0x300 END=0x3FF DATABANK NAME=gpr4 START=0x400 END=0x4FF DATABANK NAME=gpr5 START=0x500 END=0x5FF ACCESSBANK NAME=accesssfr START=0xF80 END=0xFFF DATABANK NAME=hugestuff START=0x200 END=0x3FF PROTECTED SECTION NAME=HugeObj RAM=hugestuff
發表於: 2005/4/6 10:10
|
|||
|
Re: HI-TECH PICC18是否有支援PIC18F4515這一款嗎?
|
||||
---|---|---|---|---|
新會員
|
我compile成功了,謝謝版主~~
發表於: 2005/4/5 22:09
|
|||
|
Re: HI-TECH PICC18是否有支援PIC18F4515這一款嗎?
|
||||
---|---|---|---|---|
新會員
|
發現問題回報:
hitech picc18 v8.3在mplab7.1下不能compile,我換成 mplab v6.6就可以用picc18進行compile,至於picc18 v8.3有 沒有支援pic18f4515,我還在努力試,如果有高手知道picc18 有無支援pic18f4515的話,請告訴我,謝謝!!
發表於: 2005/4/4 13:12
|
|||
|
HI-TECH PICC18是否有支援PIC18F4515這一款嗎?
|
||||
---|---|---|---|---|
新會員
|
請問:
我灌完PICC18後,去察看pic18下include資料夾裡的 pic18.h這個檔案,我沒有看到支援pic18f4515的程式。 我在hitech的網站看,卻有看到picc18有支援這款晶片,請問 要如何設定才能讓建立pic18f4515的porject?? 謝謝!!
發表於: 2005/4/4 2:55
|
|||
|
Re: ICD2燒錄問題
|
||||
---|---|---|---|---|
新會員
|
沒有加限流電阻led沒有燒也,只不過程式會因為led而亮的很
奇怪(和程式設定的不一樣),有時候還會只會亮一個led燈(使用 一個8個led的情況下),每拔下個一led,另外一個led才亮,而 且只是高其中一個而以,其它的仍然是不高,總而言之,就是 亮的很莫名奇妙就對了。 以上是我實驗的一些情況啦,不知道別人是否也有和我相同的 情況。
發表於: 2005/4/4 0:58
|
|||
|
Re: ICD2燒錄問題
|
||||
---|---|---|---|---|
新會員
|
測試結果報告:
1、在icd2上模式程式(led測式)沒問題,但在麵包版上測試卻不行的問題是在於led燈沒有加上限流電阻,我加入200R就可以正常工作了。 2、LEAPER-48燒錄器在verify會不過,這是因為在它的parameter=>device option選項中的設定(wtd、lvp、cpd…)和我在程式的設定不一樣(config的部分),所以才會在verify的地方不過,把參數設成和config相同就能燒錄成功了。 以上!!提供參考
發表於: 2005/4/2 22:00
|
|||
|