Re: p16f873a.lkr的問題
|
||||
---|---|---|---|---|
高級會員
|
我改寫了如下
但是組譯時依然有錯誤 data1 udata 0x20 SYSTEMSTATUS RES .2 COUNT RES .1 TIMELIMIT RES .3 BEEPCOUNT RES .2 REDCARDBUF RES .2 data2 udata 0x30 DELAYCOUNT RES .3 ALARMCOUNT RES .1 TEMPMAIN RES .1 CATEGORY RES .1 TIMER1 RES .1 data3 UDATA TEMP RES .2 COUNT RES .1 HL5233STATUS RES .1 data4 UDATA ADDRESS RES .1 BUFFER RES .2 COUNT RES .1 DELAYCOUNT RES .3 data5 UDATA DELAYCOUNT RES .2 16f873a.lkr中內容改為 SHAREBANK NAME=data1 START=0x20 END=0x2f SHAREBANK NAME=data2 START=0x30 END=0x3f SHAREBANK NAME=data3 START=0x40 END=0x4f SHAREBANK NAME=data4 START=0x50 END=0x5f SHAREBANK NAME=data5 START=0x60 END=0x6f SHAREBANK NAME=data6 START=0x70 END=0x7F 錯誤資訊如下 MPLINK 4.04, Linker Copyright (c) 2006 Microchip Technology Inc. Error - section 'data1' can not fit the section. Section 'data1' length=0x0000000a Errors : 1 若我將udata 後面加上絕對位址 仍然還是有錯誤的訊息 如下 MPLINK 4.04, Linker Copyright (c) 2006 Microchip Technology Inc. Error - section 'data1' can not fit the absolute section. Section 'data1' start=0x00000020, length=0x0000000a Errors : 1 請問還有什麼可能?感謝幫忙
發表於: 2008/1/9 12:39
|
|||
|
Re: p16f873a.lkr的問題
|
||||
---|---|---|---|---|
高級會員
|
請再幫我看看 謝謝
發表於: 2008/1/9 11:39
|
|||
|
p16f873a.lkr的問題
|
||||
---|---|---|---|---|
高級會員
|
請教各位一個問題
我在程式中有使用udata虛擬指令讓編譯器幫我做變數的安排 我也有將16f873a.lkr放置在專案裡 但是在編譯後會出現下列的錯誤 而我若改使用16f72.lkr去做編譯時則不會出現此問題 請問這要如何修正 MPLINK 4.04, Linker Copyright (c) 2006 Microchip Technology Inc. Error - section '.udata' can not fit the section. Section '.udata' length=0x0000001e Errors : 1 這是我宣告變數的方式
GLOBAL SYSTEMSTATUS
發表於: 2008/1/9 11:11
|
|||
|
Re: 請教PIC 的hex檔怎麼看
|
||||
---|---|---|---|---|
高級會員
|
我瞭解了,謝謝各位幫助。
發表於: 2007/10/3 18:51
|
|||
|
請教PIC 的hex檔怎麼看
|
||||
---|---|---|---|---|
高級會員
|
向各位請教pic的hex檔該如何去看
我在網路上有下載到如何去閱讀intel 公佈的hex檔標準格式,可是我拿我的程式碼與我程式轉出的hex檔去做比對,發現怎麼好像對不太起來?請問有人可以教我嗎? 以下是從 hex檔中所截取的部分碼 :020000040000FA :02000000030AF1 :0400020000080008EA :0A0006002500D00C02006700020C78 :100010000600010C2600370C280067006900460521 :100020000000000000000000000000004604000086 :1000300000000000000000000000210A0000EE099E :10004000240A2606210AE1092607270A350A260777 我的程式中address 所對應的opcode 0x0000 A03 goto 0x03 0x0001 800 retlw 0 0x0002 800 retlw 0 000003 0025 MOVWF 0x5 000004 0cd0 MOVLW 0xd0 000005 0002 OPTION 000006 0067 CLRF 0x7 000007 0c02 MOVLW 0x2 000008 0006 TRIS 0x6 000009 0c01 MOVLW 0x1 00000a 0026 MOVWF 0x6
發表於: 2007/9/26 16:24
|
|||
|
關於燒錄的問題
|
||||
---|---|---|---|---|
高級會員
|
請問各位有關燒錄的問題,因為公司最近想要將pic12f508上寫好的程式拿到測試廠請測試廠將程式做自動燒錄的動作並且進行數位信號的測試,請問有人這樣做過嗎?如果有請問是否是將microchip官網上的Memory Programming Specification這分規範拿去給測試廠看他們就會知道該如何去做燒錄的動作了?
麻煩各位幫我解答,謝謝。
發表於: 2007/9/17 15:36
|
|||
|
Re: I2C的問題
|
||||
---|---|---|---|---|
高級會員
|
請問是否在master端因某些原因拉長了clock的送出(例如送出了6個clock後,第7個clock可能由master延遲了一段時間才送出),就會造成PIC slave端的錯誤??
例如可能sspif中斷旗標不會產生,或是sspov被置1,或是wcol被置1的出現?? 以致於sspbuf無法寫入新的資料,造成ckp置0,scl持續拉為low. 因為我看示波器的波形,在我自己用pic16f873a寫的master與客戶所寫的master上的不同就只有這個地方不一樣,不知道是不是這個關係造成了pic16f873a的slave產生錯誤. 我有試過,如果在主程式裡判斷ckp是否為0,如果為0時就重設I2C,將sspcon<SSPEN>清零並將一些狀態重置後在將sspcon<SSPEN>置1,這樣測試了一個晚上後發現動作還是正常的,所以我現在我換個方式去測,就是在主程式的地方去判斷ckp是否為0,如果為0時就將pir1<SSPIF>置1產生中斷條件,強迫進入中斷中去執行副程式.
發表於: 2007/6/8 11:23
|
|||
|
Re: 有關中斷的問題
|
||||
---|---|---|---|---|
高級會員
|
感謝hellowanz的回覆,原來是單不執行不會進入中斷,這樣我瞭解了。
發表於: 2007/6/7 18:16
|
|||
|
有關中斷的問題
|
||||
---|---|---|---|---|
高級會員
|
請問有什麼情況下是中斷旗標置1且該中斷致能也置1時,卻不會立刻進入中斷,因為我遇到一個例子,就是當我用icd2去做debug時,當我按暫停時
intcon為11000111 PIE1=00001001 sspie 及timer1中斷致能置1 PIR1=00001001 sspif 及timer1中斷旗標置1 可是在用step by step去操作icd2時,卻不會進入該中斷,所以覺得很納悶為何會發生此現象?
發表於: 2007/6/7 18:02
|
|||
|