Re: 16位元PIC有人用 組語 撰寫嗎?
|
||||
---|---|---|---|---|
中級會員
|
我現在的主管就是PIC的組合語言老手
但因為公司要用更複雜的dsPIC系列後,其特殊功能暫存器之多,嚇死人了 現在也因為我引進C語言的操作方式,再管理及交接過程絕對沒啥問題 C語言再加上註解寫得好,我想會比使用組合語言來的快速及便捷 再加上dsPIC系列要上不上(32位元)要下不下(8位元)的對很多高階使用者來說很怕寫底層,對低階使用者來說又放棄不了組合語言的完全掌控 我想最好的解決方式就是使用C語言,但就光個EEPROM的寫法,使用C語言搬運EEPROM的資料,幾年前還可以編譯的程式,這幾天下載的MPLAB8.33後有些東西又出現ERROR,做起來還真麻煩,下載最新的EEPROM的操作方式,有與兩三年前不一樣了,小弟今天又花了一點時間把eeprom,c移植過來,還自己加入連續讀取16個word的函式 所以話說回來,c語言的編譯器一直在更新,很多功能都太繁複了,也不知道要如何選擇 但是還是對堅持使用組合語言的老前輩送上最高的敬意
發表於: 2009/7/10 23:37
|
|||
|
Re: 16位元PIC有人用 組語 撰寫嗎?
|
||||
---|---|---|---|---|
資深會員
|
參照:
800行程式 產生 4 K WORDs , 應該是用了不少 MACRO , 這絕對是老手前輩
發表於: 2009/7/8 0:46
|
|||
|
Re: 16位元PIC有人用 組語 撰寫嗎?
|
||||
---|---|---|---|---|
初級會員
|
嗯嗯,感謝回答。
對 組語 前輩敬上至高崇拜! 另,我覺得C語言利用中斷來管理時間也是會有問題。 例如:大大舉例的40KHZ、12.5US來說。 由於時間太快,在中斷副程式裡面多了幾行程式都會影響時間,尤其是指令長度不固定的情況下。即使軟體模擬的結果正確,而實際硬體RUN起來還是會飄移。
發表於: 2009/7/7 21:05
|
|||
|
Re: 16位元PIC有人用 組語 撰寫嗎?
|
||||
---|---|---|---|---|
資深會員
|
用組合語言寫沒什麼函式庫可言吧,只有幾個副程式是可以通用的如此而已.而這些副程式在C都有函式可以呼叫.
用C是可讀性比較高,維護也比較方便,但對硬體和時間及程式碼長度的掌控會比較差一點. 用組語對硬體和時間的掌控性比較好,但維護上相對麻煩,尤其是看別人的程式碼更是OOXX. 當你的程式必須對時間要求很準的時候你還是必須選擇組語或是插入式組語 例:超音波40KHZ信號,使用8MHZ振盪器,對於12.5US用C來寫也是蠻吃力的,用中斷來做也不方便光是PUSH POP就超過這些時間了.
發表於: 2009/7/7 9:28
|
|||
|
16位元PIC有人用 組語 撰寫嗎?
|
||||
---|---|---|---|---|
初級會員
|
請問現在還有人用組合語言寫16位元的PIC程式嗎?
以前寫8位元PIC用組合語言,是為了節省ROM空間。直到這幾年出現了16、32位元,我看了DATASHEET,他的週邊功能增加不少,當然,暫存器也增加很多,其控制方式也很複雜,於是放棄了組合語言而改用C語言。 有一次拜訪中部某家PIC代理商,我看到他們的工程師居然用組合語言寫PIC18程式,滿滿將近800行,我想他應該是異類吧?很不可思議。 PIC18最少也有16K WORD,他寫了800行,組譯之後的機械碼卻不到4K WORD。真不知道這些前輩是否組合語言用慣了,還是自己以前建立不少函式庫而情有獨衷無法忘懷。
發表於: 2009/7/4 11:35
|
|||
|