Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
|
||||
---|---|---|---|---|
版主
|
1. 將底下的程式直接存成一個 xxx.C 的檔案
#pragma romdata Rom_data1 = 0x2000 const rom far unsigned char Rom_Array1[8] = {0x00, 0xAB, 0x17, 0xAA,0x00, 0xAB, 0x17, 0xAA}; #pragma romdata 2. 只要在主程式宣告 const rom far unsigned char Rom_Array1[8] 為一個 external 就可以了,其方式如下: extern const rom far unsigned char Rom_Array1[8]; void main (void) { : : }
發表於: 2005/1/13 10:19
|
|||
|
Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
|
||||
---|---|---|---|---|
初級會員
|
把陣列資料單獨寫成一個 C 的程式實際上如何寫,可以以我之前的範例作說明嗎?
發表於: 2005/1/12 19:19
|
|||
|
Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
|
||||
---|---|---|---|---|
版主
|
如果只是想變成一個獨立單元,你可以把這些陣列資料單獨寫成一個 C 的程式,Linker 會自動連結進來。
無初始值的陣列就已經指定大小了,有初始值的陣列資料是你自己輸入的搭小你一定知道。由於你的陣列資料涵蓋了 0x00 ~ 0xFF 所以很難找出其長度。
發表於: 2005/1/11 18:28
|
|||
|
Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
|
||||
---|---|---|---|---|
初級會員
|
所謂轉為Library是否為將獨立出來之陣列檔 附加檔名改為.lib即可?
因可能會貼上一數量未知之大陣列,故想知道取得資料陣列大小之程式該如何寫?
發表於: 2005/1/11 17:36
|
|||
|
Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
|
||||
---|---|---|---|---|
版主
|
HEX 檔案只能有一個,你只能轉成 Library 型態來儲存。
自行指定陣列大小就可以知道。
發表於: 2005/1/11 17:15
|
|||
|
Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
|
||||
---|---|---|---|---|
初級會員
|
假設程式內容如下:
#include<P18F452.h> #include<string.h> #pragma romdata Rom_data1 = 0x2000 const rom far unsigned char Rom_Array1[] = {0x00, 0xAB, 0x17, 0xAA,0x00, 0xAB, 0x17, 0xAA}; #pragma romdata 以上程式內容若要方便檔案管理,欲將 Rom_Array1[]內容 改另外獨立在一檔案內(如abc.HEX),則應該如何處理? 另外我要如何取得該資料陣列的大小?
發表於: 2005/1/11 17:02
|
|||
|
Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
|
||||
---|---|---|---|---|
版主
|
16 進制的 hex 資料無法在程式裡直接使用,在 C18 裡你可以把 Hex 資料以陣列方式輸入。組合語言可以用 DB, Data 等需指令定義這些 Hex 資料。
發表於: 2005/1/11 16:41
|
|||
|
Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
|
||||
---|---|---|---|---|
初級會員
|
我指的是組譯時連同該16進制檔的內容一起組譯,讓該16進制資料檔成為ROM區間的一部分資料
發表於: 2005/1/11 15:45
|
|||
|
Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
|
||||
---|---|---|---|---|
版主
|
我想你可能搞混了,C18 所寫的程式其執行時與PC無關,所以它不可能去抓檔案進來的。
發表於: 2005/1/6 17:29
|
|||
|