久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3631|回復: 10
收起左側

關于單片機溫度數據的存貯問題

[復制鏈接]
ID:497468 發表于 2019-6-2 20:09 | 顯示全部樓層 |閱讀模式
上一期用6675做了一個溫度采集的程序,現在想把溫度的數據存貯起來,放到電腦上做一個曲線顯示,  剛學會EEPRON的應用,但不知這個如何寫,我的想法是這樣的.:
1, 每隔1S采集一個數據,然后把這個數據存起來, 我用的是STC15W4K系列的單片機,有42K的EEPRON,  EEPRON是512個字節為一個扇區,我要建一個512的數組嗎? 因網上沒有看到類似的例子,煩請大俠給我一個相關的思路或例子的鏈接.
2,開一個512的數組緩存,用完就要清零,如何一次可以把整個數組全部清零呢,
3,如何把EEPRON的用過的數據一次清零呢,可能從第二個扇區開始.直接用擦除的方法嗎?

因本人是搞硬件的,自學的C語言,所以是個菜鳥,還請大俠們多多指教
回復

使用道具 舉報

ID:213173 發表于 2019-6-2 21:13 | 顯示全部樓層
EEPROM是用于掉電保存數據用的。因為STC15W系列單片機的EEPROM更新一次數據,哪怕只一個字節也要刪除一整個扇區。通常做法是先把某扇區的有效數據全部讀出保存在一個緩存數組中,更新其中需要修改的部分數據后再全部寫入原扇區。從你敘述的情況不必使用EEPROM,就用一個數組直接保存每隔1S采集的數據。
回復

使用道具 舉報

ID:415123 發表于 2019-6-2 21:42 | 顯示全部樓層
像這數據種數據不需要存到EEPROM里,你應該在RAM區里開辟一個區,比如100或更多,滿的時候使用通信手段發出去給電腦,然后RAM區再清零。EEPROM是有壽命的,像這種數據更新頻繁的場合,不建議存到EEPROM里
回復

使用道具 舉報

ID:47286 發表于 2019-6-2 22:34 | 顯示全部樓層
1. 如果你要一次寫那么多進去 就需要建立一個那么大的數組 STC的手冊說片內EEPROM不支持單字節寫入 如果要寫一個字節 應該在數組(我管它叫緩沖區)內修改你需要的位 然后擦除扇區 再一起寫入 從這點看 也有必要建立數組 畢竟讀出來也需要時間 我嘗試過不擦除直接寫 結果就是亂七八糟的數 和寫進去的不一樣

2.第一種方法
for(i=0;i<512;i++)
{每一位=0
寫入扇區
}
第二種方法
擦除扇區 然后再讀出扇區
第三種方法
直接重啟系統 內存里的東西就全沒了 所以你可以考慮關機前或者特定的條件下寫入 然后重啟

3.直接擦除整個扇區是最快的 但這個問題和第2個問題的第2個方法一樣有個問題 STC默認是用FF填充 如果你一定要是0的話 就需要手動操作 也就是用for語句之類的強制清零再寫入

這種片內的EEPROM不如24c02之類的好用 但至少我用起來 覺得比外置的快 你應該嘗試多用幾個扇區把數據分開寫 然后程序里規劃一下 能不寫EEPROM盡量不 512個數據挺耽誤時間的 人能感覺出執行的延遲 我曾經做一個測試的時候就干過和你一樣的事 寫了500個數據到EEPROM里然后回去讀出來分析
回復

使用道具 舉報

ID:47286 發表于 2019-6-2 22:41 | 顯示全部樓層
補充 如果你一定要寫那么多數據保存下來 干嘛不考慮一下SD卡呢 那東西容量大多了 還是FAT文件格式

沙發的建議你也可以考慮 不過片內EEPROM的壽命貌似還行 我有一次干個傻事 程序寫錯了 設計的0扇第0位是初始化標記 讀卻是2扇第0位 單片機起動后檢測到運行參數沒有初始化 就反復調用code往0扇寫 我當時不知道原因 過了半個小時才明白過來 這期間單片機就在不斷的擦寫0扇 這廝居然沒壞 大概是擦寫8或9萬次吧 呵呵呵
回復

使用道具 舉報

ID:517466 發表于 2019-6-3 15:56 | 顯示全部樓層
如果是不掉電的檢測設備,考慮用RAM保存數據啊。
回復

使用道具 舉報

ID:123289 發表于 2019-6-4 09:24 | 顯示全部樓層
1、無所畏放哪里!只要你取的時候不要張冠李戴就可以了。
2、無所畏什么格式!只要你取出它之后,能按照原意去解釋就可以了。
3、EPROM的擦除到是麻煩,因為它一次擦除命令擦除的數量是固定死的。所以你要其中的一、二個或一部分的做法只能如下:
將擦除固定的數量中的所有數據全部復制至RAM中,再在RAM有改數據,然后擦去這個固定區域,再將RAM中的數寫入這個固定區域。
提示:通常這個固定區域是一頁(512個字節),數量不一定對,你要看手冊,以手冊中給的參數為準!
回復

使用道具 舉報

ID:497468 發表于 2019-6-4 13:06 來自手機 | 顯示全部樓層
首先感謝各位的回貼
回復

使用道具 舉報

ID:497468 發表于 2019-6-4 22:12 來自手機 | 顯示全部樓層
ne5532 發表于 2019-6-4 13:06
首先感謝各位的回貼

今天仔細看了6675的規格書,他采集一次,需要零點22秒.我預計做0.5秒采集一次,一共采集六個通道,采集時長10分鐘.數據格式是雙字節,預計一次需要15000個字節.依次采集六個通道,滿256次存儲一次,直到時間結束停止采集并儲存,因為要掉電工作,所以的話必須要存在eepron內,預計每天使用3次,十萬次夠用了,   上面大俠說存儲的話會速度比較慢,假如我用兩個單片機,一個采集一個專門用于存儲,這樣效率會不會速度會不會快點?如果用SPI接口的外部存儲,有什么型號推薦?
回復

使用道具 舉報

ID:497468 發表于 2019-6-9 21:06 | 顯示全部樓層
ne5532 發表于 2019-6-4 22:12
今天仔細看了6675的規格書,他采集一次,需要零點22秒.我預計做0.5秒采集一次,一共采集六個通道,采集時 ...

自己做了一個采集的程序,現在只有一個通道,采集256個數據存貯一次,把一個INT分成二個CHAR存貯,然后用讀出用串口發送到電腦上,用串口助手讀出來,暫時沒有發現有問題,數據基本上是對的. 因最終的想法是要和6個通道來測試,現在有個問題想要各位幫忙?   
1,如果用6通道來測溫,6片6675可以一次讀數據嗎,還是只能一片片的讀溫度數據,
2,如果6片依次讀數據,那6675的讀取值為0.17S一次,讀一圈不就要1S多了,是這樣理解嗎?
3,如果6片的數據,是依次讀取放到一個6個數組中,還是放到256
回復

使用道具 舉報

ID:745081 發表于 2020-5-6 10:42 | 顯示全部樓層
ne5532 發表于 2019-6-9 21:06
自己做了一個采集的程序,現在只有一個通道,采集256個數據存貯一次,把一個INT分成二個CHAR存貯,然后用讀出 ...

可不可以給個聯系方式
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 玖玖操| 日本又色又爽又黄的大片 | 一级毛片免费完整视频 | 成人黄色网址大全 | 亚洲精品国产综合区久久久久久久 | 欧美自拍视频 | 国产高潮好爽受不了了夜色 | 亚洲国产精品久久久久婷婷老年 | av在线伊人 | 97精品超碰一区二区三区 | 国产网站久久 | 国产日产欧产精品精品推荐蛮挑 | 三级特黄特色视频 | 91精品国产91久久久久福利 | 夜夜骑综合 | 亚洲精品第一 | 欧美片网站免费 | 91色综合| 欧美jizzhd精品欧美巨大免费 | 中文字幕不卡视频在线观看 | 久久er99热精品一区二区 | 久草在线青青草 | 91视频在线观看免费 | 欧美日韩综合精品 | 二区在线观看 | 亚洲精品18 | 久久99精品国产 | 欧美一级在线 | 亚洲精品一区中文字幕乱码 | 成人精品国产一区二区4080 | 天天澡天天狠天天天做 | 欧美精品二区 | 久久亚洲一区二区 | 国产精品特级毛片一区二区三区 | 日韩欧美在线不卡 | 999久久久久久久久6666 | 日韩中文字幕高清 | 91精品一区 | 国产精品久久久久久久久久尿 | 日韩免费激情视频 | 麻豆视频国产在线观看 |