• slider image 442
  • slider image 477
  • slider image 479
  • slider image 480
  • slider image 481
  • slider image 482
:::


Browsing this Thread:   1 Anonymous Users




(1) 2 »


Re: 請問C語言中如何加入組語??
#19
資深會員
資深會員


查看用戶資訊
大大不敢當,很遺憾能力不夠幫不了忙,祝你早日解決問題。

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


Re: 請問C語言中如何加入組語??
#18
初級會員
初級會員


查看用戶資訊
感謝阪大與PSIR大指導,小弟我真的是獲益良多!!
再此獻上十二萬分的感謝!! m(_._)m

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


Re: 請問C語言中如何加入組語??
#17
版主
版主


查看用戶資訊
PIC16F 有四個 Bank,C 在執行時可能ㄧ直都使用 Bank0(假設是這樣的,單然也會在其他的 BANK),在組語裡你硬切到別的 BANK 去處理再回到 C 時 BANK 會有錯誤的可能,保險起見還是先將 STATUS 存起了再說。

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


Re: 請問C語言中如何加入組語??
#16
初級會員
初級會員


查看用戶資訊
PSIR大,小弟試過用C寫沒結果,改用組語就沒問題所以會在程式中加入組語就是這原因!!仍然很感謝PSIR大的指點!~


請問板大,板大的所言,"儲存 C 得 BANK 資料後再切換 ,BANK 回到 C 前再 restore BANK 資料。"是什麼意思??是存STATUS的值嗎??那如果是BANKSEL EEADDR,BANKSEL後面是佔存器的話,又該怎麼做??小弟資質不好,還請板大詳加說明.

發表於: 2008/9/24 11:53

Edited by fbs1107 on 2008年09月24日 13:50:30
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問C語言中如何加入組語??
#15
版主
版主


查看用戶資訊
banksel 是 MPASM 組譯器專用的虛指令,這種指令不會支援到 這種指令不會支援到 In-Line Assembly 裡的。你必須用 BSF _STATUS,5
或 BCF 得方式直接設定 BANK.
在 in-line assembly 裡切換 BNAK 要小心回去 C 程式的 BANK ㄧ般的做法是先儲存 C 得 BANK 資料後再切換 BANK 回到 C 前再 restore BANK 資料。

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


Re: 請問C語言中如何加入組語??
#14
資深會員
資深會員


查看用戶資訊
大大您好:
我看您的函數好像是想完成一個對 EEPROM 的寫入是嗎?
這個動作其實可以不用組合語言寫,用C語言也可以完成,
你可以看 16f883 的 DATA SHEET 裡面關於 EEPROM 的部分,
裡面有一段 EEPROM 的範例程式,照著改成 C 就可以了,試試看。

切 BANK 的話,我沒有用過 banksel 這種指令,
因為 16F 控制切 BANK 是在 STATUS 暫存器的 RP1,RP0這兩個位元在選擇,
所以像這樣寫:RP1=0; RP0=1; 就可以切 BANK 了,
不過用 C 的話都會自己切,除非你有發現資料沒變化時才需要強制切
BANK。

有錯的話煩請版大指正,謝謝。

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


Re: 請問C語言中如何加入組語??
#13
初級會員
初級會員


查看用戶資訊
PSIR大您好, 我有試著MOVLW、MOVWF 這類指令是可以編譯不會有錯,aa也可以看到我寫入的值0x43!!下一步,切頁可以用 C 來寫,該怎麼做??請大大指點

#asm

movlw 0x43;
movwf _aa;
#endasm

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


Re: 請問C語言中如何加入組語??
#12
資深會員
資深會員


查看用戶資訊
大大您好:
你可否先寫一些簡單的組語指令,例如:MOVLW、MOVWF 等等先組譯看會不會過,然後再解決 banksel ,也許切頁可以用 C 來寫,但要驗證是否真有改變資料。

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


Re: 請問C語言中如何加入組語??
#11
初級會員
初級會員


查看用戶資訊
PSIR大您好,我有試著在「使用的周邊名稱要在前面加上 _ 」,但是也是有錯誤訊息,訊息如下:
Error [845] D:\pic_test\try_writeEEPROM\try_writeEEPROM.c; 28. symbol "banksel" defined more than once
Error [876] D:\pic_test\try_writeEEPROM\try_writeEEPROM.c; 36. syntax error



我知道In-Line Assembly 好像不支援banksel之類的指令,程式內如果還是要用到這類指令該怎麼處理??小弟沒經驗還請大家指導一番...

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


Re: 請問C語言中如何加入組語??
#10
資深會員
資深會員


查看用戶資訊
大大您好:

請注意看一下 Ryang 版主說過「使用的周邊名稱要在前面加上 _ 」,也就是底線符號,我看你的程式好像都沒有加,建議你先試著寫一兩行,可以組譯過之後再繼續一直到全部寫完。

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

教育訓練中心

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