• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::

論壇索引


Board index » All Posts (davens)




Re: p16f873a.lkr的問題
#11
高級會員
高級會員


板主你好
我仔細看了16F72.LKR中的內容
在GPR0與GPR1這兩個位址前面的宣告為
DATABANK而不是SHAREBANK
當我將16F873A.LKR中的內容中的
SHAREBANK NAME=gpr0 START=0x20 END=0x7F
SHAREBANK NAME=gpr0 START=0x120 END=0x17F

SHAREBANK NAME=gpr1 START=0xA0 END=0xFF
SHAREBANK NAME=gpr1 START=0x1A0 END=0x1FF

改為如下
DATABANK NAME=gpr0 START=0x20 END=0x7F
//SHAREBANK NAME=gpr0 START=0x120 END=0x17F

DATABANK NAME=gpr1 START=0xA0 END=0xFF
//SHAREBANK NAME=gpr1 START=0x1A0 END=0x1FF
就可以正確編譯了
請問這樣改會有什麼後遺症嗎


發表於: 2008/1/9 13:30
頂部


Re: p16f873a.lkr的問題
#12
高級會員
高級會員


我改寫了如下
但是組譯時依然有錯誤
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的問題
#13
高級會員
高級會員


請再幫我看看 謝謝

發表於: 2008/1/9 11:39
頂部


p16f873a.lkr的問題
#14
高級會員
高級會員


請教各位一個問題
我在程式中有使用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
    EXTERN    ADDRESS
,BUFFER
    EXTERN    _READHL5233
    EXTERN    TEMP    
    
#DEFINE TIME    .0

    
udata
    SYSTEMSTATUS    RES    .2
    COUNT            RES    .1
    TIMELIMIT        RES    .3
    BEEPCOUNT        RES    .2
    REDCARDBUF        RES    .2    
    DELAYCOUNT        RES    .3
    ALARMCOUNT        RES    .1
    TEMPMAIN        RES    .1
    CATEGORY        RES    .1
    TIMER1            RES    .1
還有些外部變數宣告在其他的檔案中
       檔案1
    UDATA
    DELAYCOUNT        RES .2    
       檔案2
    UDATA    
    ADDRESS        RES    .1
    BUFFER        RES    .2
    COUNT        RES    .1
    DELAYCOUNT    RES    .3
       檔案3
    UDATA
    TEMP            RES    .2
    COUNT            RES    .1
    HL5233STATUS    RES    .1

共30 
(0x1e)個變數

    
以下是從16f873a
.lkr中的內容,是沒有修改過的

// Sample linker command file for 16F873
// $Id: 16f873a.lkr,v 1.3.16.1 2005/11/30 15:15:29 curtiss Exp $

LIBPATH  .

CODEPAGE   NAME=vectors  START=0x0      END=0x4      PROTECTED
CODEPAGE   NAME=page0    START=0x5      END=0x7FF
CODEPAGE   NAME
=page1    START=0x800    END=0xFFF
CODEPAGE   NAME
=.idlocs  START=0x2000   END=0x2003   PROTECTED
CODEPAGE   NAME=.config  START=0x2007   END=0x2007   PROTECTED
CODEPAGE   NAME=eedata   START=0x2100   END=0x217F   PROTECTED

DATABANK   NAME=sfr0     START=0x0      END=0x1F     PROTECTED
DATABANK   NAME=sfr1     START=0x80     END=0x9F     PROTECTED
DATABANK   NAME=sfr2     START=0x100    END=0x10F    PROTECTED
DATABANK   NAME=sfr3     START=0x180    END=0x18F    PROTECTED

SHAREBANK   NAME=gpr0     START=0x20     END=0x7F
SHAREBANK   NAME
=gpr0     START=0x120    END=0x17F

SHAREBANK   NAME
=gpr1     START=0xA0     END=0xFF
SHAREBANK   NAME
=gpr1     START=0x1A0    END=0x1FF

SECTION    NAME
=STARTUP  ROM=vectors    // Reset and interrupt vectors
SECTION    NAME=PROG1    ROM=page0      // ROM code space - page0
SECTION    NAME=PROG2    ROM=page1      // ROM code space - page1
SECTION    NAME=IDLOCS   ROM=.idlocs    // ID locations
SECTION    NAME=DEEPROM  ROM=eedata     // Data EEPROM

發表於: 2008/1/9 11:11
頂部


Re: 請教PIC 的hex檔怎麼看
#15
高級會員
高級會員


我瞭解了,謝謝各位幫助。

發表於: 2007/10/3 18:51
頂部


請教PIC 的hex檔怎麼看
#16
高級會員
高級會員


向各位請教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
頂部


關於燒錄的問題
#17
高級會員
高級會員


請問各位有關燒錄的問題,因為公司最近想要將pic12f508上寫好的程式拿到測試廠請測試廠將程式做自動燒錄的動作並且進行數位信號的測試,請問有人這樣做過嗎?如果有請問是否是將microchip官網上的Memory Programming Specification這分規範拿去給測試廠看他們就會知道該如何去做燒錄的動作了?
麻煩各位幫我解答,謝謝。

發表於: 2007/9/17 15:36
頂部


Re: I2C的問題
#18
高級會員
高級會員


請問是否在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: 有關中斷的問題
#19
高級會員
高級會員


感謝hellowanz的回覆,原來是單不執行不會進入中斷,這樣我瞭解了。

發表於: 2007/6/7 18:16
頂部


有關中斷的問題
#20
高級會員
高級會員


請問有什麼情況下是中斷旗標置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
頂部



« 1 (2) 3 4 5 ... 10 »



:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------