:::


Browsing this Thread:   1 Anonymous Users






pic18f25k eeprom問題
#1
初級會員
初級會員


查看用戶資訊
xide 4.15 pic18f25k 4M eeprom問題

問題1:利用XIDE 看EEprom的值EEread1(33),每次都不一樣。有什麼方式可以處理嗎

unsigned char turnon_counter=0;
turnon_counter=EEread1(33);
EEwrite1(33,turnon_counter+1);
while(1)
{

}


開機時,turnon_counter+1 來記錄開機次數。
可是利用利用XIDE 查詢EEprom address 33的值,每次觀察,都會不一樣。
這樣沒法判斷何時開機次數,來進行維修。

EEwrite1,EEread1是使用函示庫,可寫入跟讀出

發表於: 2018/11/19 23:05
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: pic18f25k eeprom問題
#2
資深會員
資深會員


查看用戶資訊
其實, 依你提供的狀況來判斷,
你這試驗的程式已經得到想要的正確結果了。

至於為什麼每次讀取 eeprom 內容都不同,
這原因在於讀取 eeprom 做了什麼操作動作,
使用 pickit3 或 ICD3 這類工具來做晶片 eeprom 讀取時,
讀取動作為:
(1) 進入燒錄模式 (2) 讀取 eeprom 內容 (3) 離開燒錄模式
原因在於 (3)離開燒錄模式, 意思就是指重新進入一般模式,
晶片依 電源狀態 、MCLR ...等來決定 停止 或 開始執行。
(你的狀況敘述顯然表示離開燒錄模式後就又重新開始執行了)

想要更進一步確知結果是否正確的話...
1. 如果找得到工具操作選項中的 Hold In Reset ,
把它致能, 這樣連續做讀取應該就不會看到不同了.
(想要它會增加時, 得把 Hold In Reset 放開掉)
2. 加裝幾個 LED 或 7段數字LED 來顯示.
3. 使用 uart 向外傳送數值.
這些方法應該能幫助更加確定結果對或錯的判斷.

發表於: 2018/11/20 14:23
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: pic18f25k eeprom問題
#3
版主
版主


查看用戶資訊
我不知道你是否有更新 EEPROM 的視窗?
X IDE 下的視窗顯示值並不是真正 EEPROM 的值,你必須要用 Reflash EEPROM 的選項將晶片上的 EEPROM 的內容更新在 X IDE 視窗後才能看到真正的值。

也就是 EEPR万OM 的視窗資料必須用手動方式更新。

發表於: 2018/11/20 16:05
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: pic18f25k eeprom問題
#4
初級會員
初級會員


查看用戶資訊
Hi OuO...

謝謝你的建議,目前已使用uart 來驗證


問題:
另外請問用ICD3讀取 EE,會讓系統的重新重新跑一遍嗎
,因為我把ADC的值 放進去觀察,發現它會變動。

Hi Ryang

你指的應該是refresh -->應該是eeprom視窗左上角的read device memory

問題:
我連接ICD3 連續按幾次read device memory,觀察5次同位置(33),會發生會產生不一樣的值(01 05 05 06 09 a),請問有可能是那個記憶體位置剛好損壞嗎,如果是,請問如何驗證跟避免

問題:
請問燒入時,將EEPROM保存
除了將 Preserve EEPROM memory 打勾,還需要做什麼設定

Preserve EEPROM rang(s)(hex)可以解釋這個選項的功能跟應用嗎

發表於: 2018/11/20 23:15
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: pic18f25k eeprom問題
#5
版主
版主


查看用戶資訊
你指的應該是refresh -->應該是eeprom視窗左上角的read device memory

Ans: 是的,需要做刷新的動作,這樣 EEPROM 視窗才可以與元件的 EEPROM 的資料同步。

問題:
我連接ICD3 連續按幾次read device memory,觀察5次同位置(33),會發生會產生不一樣的值(01 05 05 06 09 a),請問有可能是那個記憶體位置剛好損壞嗎,如果是,請問如何驗證跟避免

Ans: 這就教人不懂了? 可以換個 EEPROM Address 來測試嗎? 如果還是一樣其內容值仍會改變,建議換顆IC 再測看看。如果還是不行那就要只一下 FAE 看一下問題。

問題:
請問燒入時,將EEPROM保存
除了將 Preserve EEPROM memory 打勾,還需要做什麼設定

Ans: 不用。 Preserve EEPROM 的動作會先將 EEPROM 的內容讀到 X IDE 裡,在來下 Erase All 的命令清除所有的記憶體後再回燒 EEPROM 的資料。

Preserve EEPROM rang(s)(hex)可以解釋這個選項的功能跟應用嗎?
我沒用過,查一下看看再回覆。

發表於: 2018/11/22 10:56
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
You cannot start a new 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.

[進階搜尋]