找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

求助STC之EEPROM寫、擦

查看數(shù): 6569 | 評論數(shù): 10 | 收藏 3
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2016-11-7 18:36

正文摘要:

回復

ID:996773 發(fā)表于 2023-11-16 14:46
用的竟然是匯編?我也是匯編搞定eeprom讀寫,我沒碰到這種障礙,我的習慣不用

仿真,其實我也不會用仿真,我在開發(fā)板po口接八個指示燈,需要讀取數(shù)據(jù)驗證

發(fā)送到p0口看一下數(shù)值,這種實際方法讓我掃除了很多編程路上的障礙
ID:123289 發(fā)表于 2021-10-29 13:49
9#說的很對。的確如此。也意識到此點了。后期仿真時規(guī)避掉此了。謝謝。
ID:624769 發(fā)表于 2021-10-6 23:12
yzwzfyz 發(fā)表于 2016-11-8 01:11
按5樓,關(guān)中斷試了試,無用。附圖如下,再求助!

你這個問題,最后,解決了么? 如果解決了,可跳過后續(xù)內(nèi)容。

你這個單片機,正式名稱應(yīng)該是 IAP15W4K61S 吧。
STC 的 IAP系列,都是程序和Eeprom 共用空間的,即程序空間 = Eeprom空間 (物理上)。
那么,帶來一個問題,對于,KEIL來講,你是只有程序空間,沒有Eeprom空間的。下面比較拗口,不知道我這樣描述,你是否能理解,盡我最大努力吧。
在ICE仿真的時候,你的程序,其實是在電腦上的,電腦上單步運行,然后,把需要執(zhí)行的指令,通過串口傳給單片機,然后,單片機收到后在單片機運行,如果有返回值,則把返回值返回給電腦。即,程序在電腦,運行在單片機。
那么,(重點)問題來了,你寫一個數(shù)值到Eeprom, 指令傳輸給單片機后,單片機運行后,他確確實實把這個值寫到了單片機上的指定位置。此時,有沒有返回值?有,寫成功這個值回傳到電腦了,但是,沒有其他的返回值了。因為事實上,Eeprom操作時,也不會有其他的返回值,所以,你電腦端(Keil),根本不會知道,你單片機的某個地址,發(fā)生了內(nèi)容變更。
而,你電腦上Memory 1 看到的,其實是你電腦上的為了執(zhí)行ICE仿真而做出來的“程序區(qū)”的內(nèi)容。和實際上單片機上的程序區(qū)內(nèi)容,是完全沒有任何關(guān)系的。事實上,你單片機上燒錄了仿真程序后,會占用6K容量,這一點,你在仿真的時候,也無法在Keil的 地址區(qū)看到。
所以,這就是一個信息不對稱問題,而實際上,你只要多寫一個 IAP_CMD = 1 的讀程序,讀你寫入的地址,存到一個變量,你就能發(fā)現(xiàn),IAP操作,其實是成功了。

不知道這么描述,是否能把我想表達的意思傳遞給你,如果能,就太好了。如果不能,我只能說抱歉了,我已經(jīng)盡力了。
ID:123289 發(fā)表于 2016-11-8 00:25
5樓:先謝過。我停一下中斷試試。
ID:123289 發(fā)表于 2016-11-8 00:24
ahshmj 發(fā)表于 2016-11-7 19:01
只能說明你對Keil uVision4不熟悉。

運行、運行至光標、插入斷點等功能。

您所列的不在我求助之列!
比如光標停在第10條,我要跳過11-19不運行,將其拖到第20條開始運行,就辦不到;蛘咄系降9條再運行一次,就辦不到。
ID:19198 發(fā)表于 2016-11-7 22:05
前幾天剛做過STC的EEPROM,發(fā)現(xiàn)有兩個要點
1.寫5A和A5之后(15F104為例)要相應(yīng)延時給程序操作,否則會中斷造成不成功
2.一定要停中斷和定時,如果是定時器的我建議放到定時器里面
我也是找了好多天才發(fā)現(xiàn),手冊之中只是說了要延時,沒說停中斷
ID:7485 發(fā)表于 2016-11-7 19:01
只能說明你對Keil uVision4不熟悉。

運行、運行至光標、插入斷點等功能。

用stc的eeprom讀寫程序試一試?
ID:123289 發(fā)表于 2016-11-7 18:47
程序是用“Keil uVision4”調(diào)試的。

另外發(fā)現(xiàn):
“Keil uVision4”的debug,其調(diào)試運行指針,無法自由定位。即如果要將運行位置移動至另一個地方運行是辦不到的。它只能按照程序的既定序列運行。這很不方便。而偉福的仿真程序是能辦到的。
誰有這個問題(對于STC的仿真)的解決方法?這里請教了。
ID:123289 發(fā)表于 2016-11-7 18:38
另外,將
MOV                IAP_CMD, #3      ;擦除
改為:
MOV                IAP_CMD, #2      ;寫入

發(fā)現(xiàn)寫入數(shù)據(jù),也未成功。

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表