找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1935|回復: 13
打印 上一主題 下一主題
收起左側(cè)

單片機內(nèi)存和EEPROM問題

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:709761 發(fā)表于 2023-11-16 11:56 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
STC單片機做學習型紅外遙控,單片機內(nèi)存4K。20個按鍵。每個鍵值236個字節(jié)。保存到單片機內(nèi)部EEPROM。
程序設(shè)計,上電先把所有鍵值讀到內(nèi)存里,內(nèi)存不夠,就算內(nèi)存夠的話,也不能保證程序運行時,內(nèi)存數(shù)據(jù)的正確性。
只定義一個按鍵緩存,每次按鍵按下,就把對應的鍵值從EEPROM讀到按鍵緩存里,這樣的話會不會減少EEPROM的壽命。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:773929 發(fā)表于 2023-11-16 13:44 | 只看該作者
讀取不會,頻發(fā)擦除會
回復

使用道具 舉報

板凳
ID:161164 發(fā)表于 2023-11-16 14:05 | 只看該作者
一個鍵值為啥會有236個字節(jié)?
回復

使用道具 舉報

地板
ID:996773 發(fā)表于 2023-11-16 14:28 | 只看該作者
一個鍵值居然用了236個字節(jié),一看是原來是想用只用一個P30引腳RX,可以下載程序的

奇思妙想的樓主,我覺得樓主遇到的不是eeprom壽命問題,編程需要天賦,需要嚴謹?shù)?br />
邏輯能力,如果樓主從事此職業(yè),還是改行比較好,如果樓主是編程興趣愛好,還是走藝術(shù)

路線吧
回復

使用道具 舉報

5#
ID:57657 發(fā)表于 2023-11-16 14:38 | 只看該作者
EEPROM里的數(shù)據(jù)不用讀到緩存里,可以用unsigned char code 指針或匯編MOVC指令訪問。
回復

使用道具 舉報

6#
ID:123289 發(fā)表于 2023-11-16 14:44 | 只看該作者
如果一個鍵值必需是236個字節(jié)的話,可以對20個鍵值研究一下,找找共同點,構(gòu)思出一個壓縮方案,壓縮后使用。
回復

使用道具 舉報

7#
ID:709761 發(fā)表于 2023-11-17 08:48 | 只看該作者
hi等你 發(fā)表于 2023-11-16 14:28
一個鍵值居然用了236個字節(jié),一看是原來是想用只用一個P30引腳RX,可以下載程序的

奇思妙想的樓主,我覺 ...

紅外模塊協(xié)議規(guī)定的

51hei圖片_20231117084704.png (427.64 KB, 下載次數(shù): 36)

51hei圖片_20231117084704.png
回復

使用道具 舉報

8#
ID:276663 發(fā)表于 2023-11-17 11:28 | 只看該作者
首先,先搞清楚236字節(jié)數(shù)據(jù)真的都有效嗎?
其次,從EEPROM讀數(shù)據(jù)不減少EEPROM壽命,而且速度也夠快。
回復

使用道具 舉報

9#
ID:996773 發(fā)表于 2023-11-17 15:19 | 只看該作者
李冬 發(fā)表于 2023-11-17 08:48
紅外模塊協(xié)議規(guī)定的

學習模塊畢竟是學習用的,我也不知道您的解碼數(shù)據(jù)怎么需要上百個字節(jié)來判斷鍵值,

我也看過您歷來的提問,很多都是作為思維嚴謹?shù)某绦蛟巢辉搯柕?+1的較真提問,你

真的需要用上千k的容量來揮霍簡簡單單的紅外數(shù)據(jù),得多大的單片機來滿足這些垃圾

數(shù)據(jù)?做這樣的產(chǎn)品你的老板會被你氣死,上分析儀多看看紅外時序,判斷一下哪些是有效

數(shù)據(jù),哪些是無效丟棄的。1個字節(jié)有二百多個變化值,有幾個字節(jié)判斷頂天了,實在不

濟就改行吧,樓主真的不適合這行
回復

使用道具 舉報

10#
ID:624769 發(fā)表于 2023-11-17 16:46 | 只看該作者
1,STC系列,讀Eeprom 是不影響壽命的。
2,既然你需要寫 236 x 20 字節(jié)到 Eeprom 說明你單片機的 Eeprom容量需要 5K 以上的,應該也不會是太老的單片機,但凡你用 STC15系(204s,408s等老型號除外)及以上型號單片機,有什么必要從 Eeproim 里面先讀出來呢?直接從Eeprom讀,又不會比XDATA慢……
回復

使用道具 舉報

11#
ID:69038 發(fā)表于 2023-11-17 20:39 | 只看該作者
如果我沒猜錯的話,樓主是用直接錄取電平的方式來存鍵值的。不用解協(xié)議的,直接按1010的方式,所以才需要200+字節(jié)。比如NEC協(xié)議有個前導碼9ms,就存成100000000000....這樣的格式
回復

使用道具 舉報

12#
ID:57657 發(fā)表于 2023-11-17 21:21 | 只看該作者
hi等你 發(fā)表于 2023-11-17 15:19
學習模塊畢竟是學習用的,我也不知道您的解碼數(shù)據(jù)怎么需要上百個字節(jié)來判斷鍵值,

我也看過您歷來的提 ...

此遙控器的原理相當于錄音機,將未知編碼的遙控信號時序波形記錄下(比如空調(diào)遙控),再將采樣的信號發(fā)射出去。
回復

使用道具 舉報

13#
ID:709761 發(fā)表于 2023-11-18 08:34 | 只看該作者
hi等你 發(fā)表于 2023-11-17 15:19
學習模塊畢竟是學習用的,我也不知道您的解碼數(shù)據(jù)怎么需要上百個字節(jié)來判斷鍵值,

我也看過您歷來的提 ...

每個鍵值的紅外數(shù)據(jù)除了開頭兩個字節(jié)和結(jié)尾兩個字節(jié)都是一樣,中間的字節(jié)都是不同的。我已經(jīng)想到解決辦法了。
回復

使用道具 舉報

14#
ID:377210 發(fā)表于 2023-11-19 13:35 | 只看該作者
最長256字節(jié),不一定都要全部保存,選取用到的關(guān)鍵信息保存
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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