• 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: 請教一project內,不同檔案資料變數宣告使用的問題
#13
版主
版主


查看用戶資訊
ㄧ樣的方式,只要在 B 程式裡的陣列宣告加上 extern 就可以與 A 程式共用ㄧ個陣列了。
extern const unsigned char INI_DATA[4] = {0x0c,0x06,0x02,0x01};

同樣的union 也適用。詳細範例可以參考 WAP002 C18 Advance Workshop 的中文教材。右上角搜尋一下

發表於: 2008/7/16 11:59
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教一project內,不同檔案資料變數宣告使用的問題
#12
資深會員
資深會員


查看用戶資訊
版大您好:
緊急請教一個問題,例如 A 程式要讀取 B 程式中的陣列元素時,要怎麼處理,因為陣列是宣告在 B 程式中,我現在已經知道類似問題於變數時要加 extern 來解決,但是陣列要怎處理則沒有遇過,謝謝。

補充一下,是前面加 const 宣告放在 ROM 裡面的陣列,例如:
const unsigned char INI_DATA[4] = {0x0c,0x06,0x02,0x01};

發表於: 2008/7/15 16:32
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教一project內,不同檔案資料變數宣告使用的問題
#11
版主
版主


查看用戶資訊
你已經得到答案了自己也說明了問題所在,因為變數不可以重複宣告,所以就不能夠將所有的變數宣告在一個H檔然夠給大家用。只有常數的定義及函數的原型宣告可以這樣做。

發表於: 2008/7/14 15:46
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教一project內,不同檔案資料變數宣告使用的問題
#10
資深會員
資深會員


查看用戶資訊
版大及版上各位先進您好:
由於我一直希望能參透多支程式一起組譯的方法,所以我用了三支程式來試,分別叫做 MAIN.C、OPER_DISP.C 及 INTR.C 其中 INTR.C 只有放 Hi-Tech 的中斷函數,如下所示:
void interrupt ISR(void){    //中斷函數

}

具體作法如下:
1. 在 MPLAB 裡面的 Sources Files 將上面三個 程式加入進來
2. 每支程式有用到的變數或旗號都要在程式開頭宣告,或是另外製造一個 *.H 檔來放宣告,並在變數前面加上 extern ,例如:
extern bit DLY_C;    //延遲一段時間旗號
extern unsigned char DLY_CNT;    //計時CNT


結果及疑問:
這樣可以組譯,並且中斷函數也會跳進去執行,只是每支程式的開頭都要做變數宣告,不知道有沒有辦法將之集中於一支 *.H 檔中來統一宣告,我曾嘗試統一宣告,但是組譯時編譯器會說重複宣告而無法通過,請問這個問題有沒有辦法解決,謝謝。

發表於: 2008/7/14 15:19
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教一project內,不同檔案資料變數宣告使用的問題
#9
版主
版主


查看用戶資訊
剛試了一下,將你所勾選的" 需要回復"選項改成"無"後就可以看到了。

Attach file:



jpg  (0.00 KB)


發表於: 2008/7/9 10:48
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教一project內,不同檔案資料變數宣告使用的問題
#8
管理員
管理員


查看用戶資訊
參照:

nicecookie 寫道:
哇!!!!!!!

還有要登入回覆才看的到內容的功能

看來這裡也開始不允許有壁虎的存在

ㄏㄏㄏ~~

站長也是現在才知道有這個功能
檢查了一下,該功能應該是文章發表者自己選定「查看要求」中的「需要回覆」選項所致。

發表於: 2008/7/9 9:34
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教一project內,不同檔案資料變數宣告使用的問題
#7
資深會員
資深會員


查看用戶資訊
哇!!!!!!!

還有要登入回覆才看的到內容的功能

看來這裡也開始不允許有壁虎的存在

ㄏㄏㄏ~~

發表於: 2008/7/9 9:28
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教一project內,不同檔案資料變數宣告使用的問題
#6
版主
版主


查看用戶資訊
只要是 ANSI C 都要遵照此語法的規定,所以Hi-Tech PICC 也是ㄧ樣的。

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


Re: 請教一project內,不同檔案資料變數宣告使用的問題
#5
資深會員
資深會員


查看用戶資訊
參照:

我是說程式 A 裡假設宣告了一個變數 unsigned char ABC ,這時要在程式 B 裡使用這個 ABC 變數的話就要在程式 B 裡再做一次的宣告 extern unsigned char ABC。


原來重點在這裡,我以為只要集中宣告並賦予 extern 屬性即可讓不同支的程式用到,多謝版大提醒。

但不知道 Hi-Tech C 和 C18 的特性在這方面是否相同,我會製造兩支簡單程式來驗證看看,謝謝。

發表於: 2008/7/8 11:49

Edited by Ryang on 2008年07月09日 10:42:14
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教一project內,不同檔案資料變數宣告使用的問題
#4
版主
版主


查看用戶資訊
可見的你一定沒有詳細去看 W401 C18 第七張的教材。

我是說程式 A 裡假設宣告了一個變數 unsigned char ABC ,這時要在程式 B 裡使用這個 ABC 變數的話就要在程式 B 裡再做一次的宣告 extern unsigned char ABC。

ㄧ般我只會將 #define 及 Function prototype 宣告在一個共用的 H 檔裡,變數還是要獨立使用的。

發表於: 2008/7/8 9:33
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... ]

教育訓練中心

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