Re: 請教MPLAB C18 讀取PIC18F452 RAM區資料問題.
|
||||
---|---|---|---|---|
新會員
|
謝謝版主大大,
我會試試看的....
發表於: 2006/2/17 18:47
|
|||
|
Re: 請教MPLAB C18 讀取PIC18F452 RAM區資料問題.
|
||||
---|---|---|---|---|
版主
|
記住 BSR 要 Save & resotre 才不會將C18 down 掉。
發表於: 2006/2/17 18:38
|
|||
|
Re: 請教MPLAB C18 讀取PIC18F452 RAM區資料問題.
|
||||
---|---|---|---|---|
新會員
|
版主大大,
你是指用ASM去,然後動用FSR是不是啊?? 這樣子程式應該不會Down掉吧?? 謝謝指導,我再試試看!!!!
發表於: 2006/2/17 18:08
|
|||
|
Re: 請教MPLAB C18 讀取PIC18F452 RAM區資料問題.
|
||||
---|---|---|---|---|
版主
|
可以使用 嵌入是組合語言 ,別忘了 C18 是可以混著組合語言的,詳細使用方法可以參考 W401 C18 Workshop 教材裡第七章的說明明與範例。
有一點是很重要的,就是BSR要先存起來等你做完RAM的存取後要記的取回BSR以確保C18能正確執行舊的RAM Bank.
發表於: 2006/2/17 17:21
|
|||
|
Re: 請教MPLAB C18 讀取PIC18F452 RAM區資料問題.
|
||||
---|---|---|---|---|
版主
|
Ptr1 是指標變數,存的必須是位址。AddressLow是一個 char 的變數,如果要將Ptr1指向該變數的位址就必須在變數前面加入 & ,如下所示 :
Ptr1 = &AddressLow;
發表於: 2006/2/17 17:11
|
|||
|
Re: 請教MPLAB C18 讀取PIC18F452 RAM區資料問題.
|
||||
---|---|---|---|---|
新會員
|
Dear 版主大大,
不好意思,可能我表達錯了, 我的意思是,如果我要用PC來讀取PIC18F452任意的RAM位址(包含SFR等)的資料, 但我的PC只送出DataBank及DataAddress兩個參數值給PIC,例如:送出DataBank=15,DataAddress=&hE8時, 可查DataSheet得知是要讀取W REG的值, 或是可以送出DataBank=01,DataAddress=&h50時,可以讀出RAM BANK=01, RAM Address=&H50,當時的資料值, 然後再用RS-232送回給PC, 以便在正常的工作模式中,可以由比對程式碼去查一些任意的變數值現值是多少, 而不用在程式中,將每一個變數都設定要可以傳出去的模式(這樣子程式不是很複雜嗎??). 在ASM中可利用FSR來達到此要求,但在C語言中,我就不知道有什麼方法了. 麻煩版主大大了... 謝謝!!
發表於: 2006/2/15 18:13
|
|||
|
Re: 請教MPLAB C18 讀取PIC18F452 RAM區資料問題.
|
||||
---|---|---|---|---|
版主
|
基本上用 C18 寫程式是不用考慮RAM Bank的切換動作,C18 會自動安排BANK的切換。你可以參考W401 C18 workshop 的講義及練習五裡有關UART的使用方式。
發表於: 2006/2/15 17:38
|
|||
|
請教MPLAB C18 讀取PIC18F452 RAM區資料問題.
|
||||
---|---|---|---|---|
新會員
|
各位先進,
小弟這裡有一個問題想請教,我用C18寫PIC18F452程式,並且452利用RS-232來與PC通訊, 問題是我如果要用PC來讀寫452的某一個RAM BANK的某一位址的資料,要如何做到呢?? 例如:PC傳送DataBank,DataAddres各一個Byte來要讀取資料,那要怎麼用C18語言將正確 的RAM BANK內的DataAddress資料讀到另一個變數,再傳送回PC去呢?? 因為C18手冊上註明最好不要動用FSR暫存器,所以就不知道要如何用C18來完成.. 麻煩各位先進了..... 謝謝!!!!
發表於: 2006/2/15 16:41
|
|||
|