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


Browsing this Thread:   1 Anonymous Users




(1) 2 »


Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
#11
高級會員
高級會員


查看用戶資訊
如果你要計算陣列長度 , 假如你的陣列長度宣告固定為ARRAY[255]的話 , 而每個陣列內容都不一樣時 , 你可以使用STRLEN的函式來判定其內容長度 , 此一函式會計數其長度直到看到"\0"此結束位元後離開 , 並回傳其有效資料位元組的數量 , 如此可以得知不同的資料長度 , 你可以在網頁右方的範例程式中看到小弟多年前剛學C18時所做的實驗測試 "C18函式--字串運用", 這個函式是可行的 ,

其實最方便把資料連結,管理的話 , 就像RY版主所提 , 另外用一個SOURCE CODE , 再將它LINK起來就可以了 , 我也曾將所有的功能函式獨立開來 , 每一個函式都是一個SOURCE CODE , 每次要用的時侯 , 這邊拉進來 , 那邊加進去 , 稍微改一點宣告就好了 , 但說回來 , 刪開始要建立時花了一些時間才將它整理好 , 只要程式註解寫清楚一點 , 那就容易多了 ,

發表於: 2005/1/13 11:02
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
#10
版主
版主


查看用戶資訊
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
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
#9
初級會員
初級會員


查看用戶資訊
把陣列資料單獨寫成一個 C 的程式實際上如何寫,可以以我之前的範例作說明嗎?

發表於: 2005/1/12 19:19
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
#8
版主
版主


查看用戶資訊
如果只是想變成一個獨立單元,你可以把這些陣列資料單獨寫成一個 C 的程式,Linker 會自動連結進來。

無初始值的陣列就已經指定大小了,有初始值的陣列資料是你自己輸入的搭小你一定知道。由於你的陣列資料涵蓋了 0x00 ~ 0xFF 所以很難找出其長度。

發表於: 2005/1/11 18:28
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
#7
初級會員
初級會員


查看用戶資訊
所謂轉為Library是否為將獨立出來之陣列檔 附加檔名改為.lib即可?

因可能會貼上一數量未知之大陣列,故想知道取得資料陣列大小之程式該如何寫?

發表於: 2005/1/11 17:36
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
#6
版主
版主


查看用戶資訊
HEX 檔案只能有一個,你只能轉成 Library 型態來儲存。

自行指定陣列大小就可以知道。

發表於: 2005/1/11 17:15
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
#5
初級會員
初級會員


查看用戶資訊
假設程式內容如下:

#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
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
#4
版主
版主


查看用戶資訊
16 進制的 hex 資料無法在程式裡直接使用,在 C18 裡你可以把 Hex 資料以陣列方式輸入。組合語言可以用 DB, Data 等需指令定義這些 Hex 資料。

發表於: 2005/1/11 16:41
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
#3
初級會員
初級會員


查看用戶資訊
我指的是組譯時連同該16進制檔的內容一起組譯,讓該16進制資料檔成為ROM區間的一部分資料

發表於: 2005/1/11 15:45
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 如何以C18撰寫一從獨立之16進制檔內(如檔名為abc.HEX而非將內容貼在主程式內)抓取資料並由IO Port 1個Byte接一個Byte送出
#2
版主
版主


查看用戶資訊
我想你可能搞混了,C18 所寫的程式其執行時與PC無關,所以它不可能去抓檔案進來的。

發表於: 2005/1/6 17:29
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

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... ]

教育訓練中心

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