回覆列表
  • 1 # 鼎泰豐科顏氏

    在記憶體外存(用dptr來訪問,記憶體不夠大)中定義一512位元組的陣列,pc機給你發資料一次發51個,都存入這個陣列,收到pc機512個位元組的資料後向pc機請求暫停傳送,然後把這512個自己寫入flash的扇區中,寫入完成後,把在記憶體的陣列和已經寫入flash的資料做一次比較,如果有不一樣的,重新把陣列的資料寫入flash,在寫入的過程中要關閉中斷。每寫入一位元組的資料後讓微控制器做幾次空操作,保證可靠性。去新華龍網站技術交流區看看。我做過c8051向flash寫入數值,比較少,就幾個,但是思路是一樣的。pc機和微控制器之間的協議可以雙方互相約定。比如,在記憶體外存(用dptr來訪問,記憶體不夠大)中定義一512位元組的陣列,pc機給你發資料一次發512個,都存入這個陣列,收到pc機512個位元組的資料後向pc機請求暫停傳送,然後把這512個自己寫入flash的扇區中,寫入完成後,向pc機請求下一個512位元組的資料,依次迴圈,直至完成所有的資料寫入。想flash寫入資料,要先規劃資料區,然後在keil中把自己的程式定位在資料區之外,c8051的flash是512位元組一個扇區,寫資料時要先擦除一個扇區,然後再寫入,一個扇區至多寫512位元組的資料,這個扇區寫完了後 要擦除下一個扇區,再進行同樣的工作,總的完了後要把相應的暫存器關閉,這時晶片中記憶體的指向就不是flash而是ram了。大體就是這樣,你可以看看c8051的引用筆記,以前這些資料都是公開的,現在新華龍只向買它們產品的人提供,多在網上找找,結合c8051的引用筆記加例程,不難。 去新華龍網站 技術交流區有 “C8051F020中Flash儲存器的線上擦寫方法 ” 註冊一個使用者,可以下載,如果需要f020晶片的中文資料,可以在網上找,也可以找我。 f020可以線上擦除可執行的程式,因為它還有一段引導區,這一個我不是很清楚,你可以參看020的應用筆記。c8051資料豐富,整合度高,上手快,開發除錯先進,是不錯的微控制器。寫了這麼多,希望可以幫到你。

  • 中秋節和大豐收的關聯?
  • 你也沒有長的那麼帥是什麼歌中的歌詞?