Re: 中斷副程式寫太多,compiler錯誤,怎麼辦?
|
||||
---|---|---|---|---|
版主
|
要修改 LKR 檔就須了解 LKR 檔的內容與意義。請參考RTC教材裡的 MAPSM 及 W401 C18 的課程內容,利用右上角搜尋一下。
發表於: 2008/8/20 8:49
|
|||
|
Re: 中斷副程式寫太多,compiler錯誤,怎麼辦?
|
||||
---|---|---|---|---|
資深會員
|
參照:
C30是可以呼叫函數 我5個中斷都有呼叫1-2個函數 C18之前寫也可以阿
發表於: 2008/8/19 14:08
|
|||
==== ^^ ^^ ====
|
||||
|
Re: 中斷副程式寫太多,compiler錯誤,怎麼辦?
|
||||
---|---|---|---|---|
版主
|
參照:
linker出現錯誤 這是 LINKER 安排成是位址時發生長度的錯誤,只要修改一下 LKR 檔裡的程式節區位址長度就可以了。
發表於: 2008/8/19 13:48
|
|||
|
Re: 中斷副程式寫太多,compiler錯誤,怎麼辦?
|
||||
---|---|---|---|---|
版主
|
參照:
C18 是可以在中斷裡呼叫函數的。請在確認一下你的程式。
發表於: 2008/8/19 13:44
|
|||
|
Re: 中斷副程式寫太多,compiler錯誤,怎麼辦?
|
||||
---|---|---|---|---|
資深會員
|
其實中段處理一些工作是可以
但是要算一下時間不要太長 我目前案子就有軟硬體中斷 QEI ADC T0 INT0 CN0 5個同時使用 但是都簡短判斷 運算
發表於: 2008/8/19 12:00
|
|||
==== ^^ ^^ ====
|
||||
|
Re: 中斷副程式寫太多,compiler錯誤,怎麼辦?
|
||||
---|---|---|---|---|
資深會員
|
我記得 MCC18 和 Hi-Tech PICC 在中斷函數裡面是無法呼叫函數的,我目前只有用過 KEIL C 沒有這種限制,如果要在中斷函數呼叫函數的話,最好是設一個旗號,離開 ISR 後到主程式去呼叫函數。
發表於: 2008/8/19 10:27
|
|||
|
Re: 中斷副程式寫太多,compiler錯誤,怎麼辦?
|
||||
---|---|---|---|---|
初級會員
|
請問master 大
queue、message 機制 的使用方法是??????? 有範例可以參考嗎 ???
發表於: 2008/8/19 0:23
|
|||
|
Re: 中斷副程式寫太多,compiler錯誤,怎麼辦?
|
||||
---|---|---|---|---|
資深會員
|
中斷不是讓你拿來這樣用的...
中斷副程式越短越好,透過queue、message、或是flag等機制讓工作在主程式中執行。
發表於: 2008/8/19 0:12
|
|||
不要問我哪裡來,我只是個流浪天涯的工程師
|
||||
|
中斷副程式寫太多,compiler錯誤,怎麼辦?
|
||||
---|---|---|---|---|
初級會員
|
各位大大 :
我是用MPLAB v7.5 + MCC18 + PIC18F4520 , 在寫time0 時間中斷副程式的時後 , 因為程式龐大 , linker出現錯誤 : section '.tmpdata' can not fit the section. Section '.tmpdata' length=0x00000008 如果把程式減少就可compiler成功 , 又或是把程式包在一個函式 ex. void prog() , 然後在 時間中斷副程式 呼叫它 prog() , 這樣compiler也會過. 不知有什麼解決方法呢? 因為把程式包在外面好像有問題呀!
發表於: 2008/8/18 22:02
|
|||
|