• slider image 71
  • slider image 72
  • slider image 73
:::


Browsing this Thread:   1 Anonymous Users






PIC18F2331編譯
#1
新會員
新會員


查看用戶資訊
大家好:
有點久沒碰8-bit的MCU了,剛好最近手邊拿到一顆PIC18F2331,想說來寫程式試試看,但在編譯的時候出現了附件上的Fail,想麻煩大家幫忙看看是什麼原因,謝謝大家了

Attach file:



jpg  (0.00 KB)


發表於: 4/25 11:42
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC18F2331編譯
#2
版主
版主


查看用戶資訊
說真的,你這問題還蠻奇怪的? 編譯程式及Linker 都正常使用 C18 的設定。但最後怎會調出 PICC18 CHIPINFO 的編譯器呢?

CHIPINFO 只使用在 Hi-TECH PICC18 及 XC8 裡,主要是提共 MCU 的連結用訊息。而 C18 只會使用 lkr 的連結描述檔。

請再檢查一下你的專案設定是否只使用 C18 v3.47 來做編譯。

發表於: 4/27 11:43
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC18F2331編譯
#3
新會員
新會員


查看用戶資訊
謝謝版大,軟體重灌後已解決問題

但目前遇到另一個問題
就是在寫Timer中斷的時候用以下的方式無法進到中斷副程式(timer0_isr(void))

#pragma code high_vector=0x08
void high_interrupt (void)
{
_asm GOTO timer0_isr _endasm
}

#pragma code

#pragma interrupt timer0_isr
void timer0_isr (void)
{
INTCONbits.TMR0IF = 0;
}

但是如過是在while(1)裡面寫if(INTCONbits.TMR0IF==1) timer0_isr();
這樣就可以正常進到副程式裡面去

用低優先0x18的寫法也試過了,也改過TMR0IP了,但用第一種寫法就是不會進去,覺得很奇怪,是寫法有誤嗎?

發表於: 5/6 18:52
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC18F2331編譯
#4
版主
版主


查看用戶資訊
除了中斷函數的設定外,請確認幾個地方是否有做到設定:

1. RCONbits.IPEN=1; // Enable Interrupt Priority bit
IPR1bits.TMR0IP=1; // Set Timer0for High Priority
INTCONbits.GIEH=1; // Enable High Priority Interrupt

2. Timer0 的初始設定?

參考一下 W401 教育訓練第二天的教材,練習 5-2 有詳細的中斷使用說明及範例程式。

發表於: 5/7 17:30
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]