會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





請教有關link檔的問題
新會員
註冊日期:
2004/06/07 15:50
所屬群組:
註冊會員
文章: 6
等級: 1; EXP: 47
HP : 0 / 11
MP : 2 / 537
離線
DATABANK NAME=gpr0 START=0x20 END=0x6F
DATABANK NAME=gpr1 START=0xA0 END=0xEF
DATABANK NAME=gpr2 START=0x110 END=0x16F
DATABANK NAME=gpr3 START=0x190 END=0x1EF

SHAREBANK NAME=gprnobnk START=0x70 END=0x7F
SHAREBANK NAME=gprnobnk START=0xF0 END=0xFF
SHAREBANK NAME=gprnobnk START=0x170 END=0x17F
SHAREBANK NAME=gprnobnk START=0x1F0 END=0x1FF

以上是由microchip ide所copy下來的link檔片段,其中對bank0的share data register和microchip原文data sheet 中所寫的不同,在data sheet中bank0並沒有share data,但在link定義檔中卻有詳加定義,請問data share是因為likn檔的定義而異還是他是有實體上的定義.
我可以把一班的gprs在link檔中定義成share data嗎??


2004/06/24 10:07
轉換PDF檔 列印


Re: 請教有關link檔的問題
版主
註冊日期:
2004/04/28 12:58
所屬群組:
註冊會員
DISTI
文章: 338
等級: 17; EXP: 17
HP : 0 / 404
MP : 112 / 18580
離線
share bank的意思是說,其實只有一個bank的實體記憶位置。存取到其它bank時,會存取到同一個位置。好處是,不用管目前bank的設定,反正一定會存取到同一個bank的同一個位置。
如果您將一般的gpr,改為share,應該會讓編譯器以為不用理會bank的設定,而讓程式抓錯bank的資料。

2004/06/24 12:55
轉換PDF檔 列印


Re: 請教有關link檔的問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14924
等級: 73; EXP: 71
HP : 1090 / 1817
MP : 4974 / 83505
離線
有 Share Bank 設計的是指PIC16F87x/A 這一系列的PIC , 使用Share Bank的好處是不用切BANK,但只有 16 Bytes 而已,所以要用在刀口上,一般會使用在中斷程式的變數儲存因為可以不用管它是從哪一個BANK過來的。

Share Bank 的位址是固定在0x70-0x7F, 可以用下列方式來完成:

1. 使用 EQU 直接定址到 0x70 -0x7F 的位址

Rx_BFR EQU 0x70
Tx_BFR EQU 0x71
Rx_CMD EQU 0x72

2. 使用 CBLOCK & ENDC 的設定方式

CBLOCK 0x70
Rx_BFR, Tx_BFR
Rx_CMD:2 ; Double Bytes
ENDC

3. 使用 UDATA_SHR 的設定方式 (Re-locatable Syntax)

Share_Buffer UDATA_SHR
Rx_BFR RES 1
Tx_BFR RES 1
RX_CMD RES 2

2004/06/24 13:46
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project