性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

這也許是OTA升級的第一步,熱啟動下載程序,你知道如何實(shí)現(xiàn)?

經(jīng)過昨天對熱啟動和冷啟動分析,芯哥奇怪的發(fā)現(xiàn)冷啟動是專為下載程序而設(shè)計,熱啟動一共有4種方式,這4種方式中有一項(xiàng)啟動復(fù)位過程和冷啟動一模一樣。芯哥瞬間覺得如果復(fù)位啟動過程一模一樣,那是不是意味著可以使用熱啟動來實(shí)現(xiàn)下載程序。

既然這兩種復(fù)位啟動過程是一樣的,只不過實(shí)現(xiàn)的方式不一樣。那就來具體分析一下這個過程。熱啟動中是通過對ISP_CONTR寄存器操作為60H數(shù)據(jù)即可產(chǎn)生軟復(fù)位,就實(shí)現(xiàn)和冷啟動一樣的過程。而冷啟動是通過對單片機(jī)進(jìn)行無電到有電的操作實(shí)現(xiàn)硬復(fù)位所以是不是只要在需要下載程序的時候,ISP_CONTR寄存器操作為60H數(shù)據(jù)就會出現(xiàn)下載程序的可能呢?那么首先要清楚ISP_CONTR寄存器如何操作。這里就涉及到寄存器的操作方法,如果你是直接學(xué)習(xí)STM32的同學(xué),我想這個過程你可能無法理解。這就是為什么要學(xué)好底層操作的原因之一。所以直接在官方手冊中查找ISP_CONTR寄存器相關(guān)介紹。這里要關(guān)心幾個信息是:1寄存器的地址:想對任何寄存器進(jìn)行操作,必須知道寄存器的地址。2寄存器需要操作的數(shù)據(jù):前面已經(jīng)看到需要對ISP_CONTR寄存器寫入60H。

接下來就是操作過程了。首先新建一個工程,這個操作就不演示了,很簡單,不會的同學(xué)要先入門。在工程項(xiàng)目頭文件reg52.h中會定義單片機(jī)相關(guān)的寄存器。但是發(fā)現(xiàn)并沒有關(guān)于ISP_CONTR寄存器的定義,那就只能自己寫了。

想要操作單片機(jī)寄存器,需要知道ISP_CONTR寄存器的地址。從數(shù)據(jù)手冊中看到ISP_CONTR寄存器地址為E7H。

接下來在程序中,定義ISP_CONTR寄存器。sfr是用來定義寄存器的,這里可以看到將E7H地址對應(yīng)的寄存器命名為ISP_CONTR。當(dāng)前名稱可以隨便去起。

sfr ISP_CONTR=0xE7;

接下來設(shè)計一個按鍵,用于在需要下載程序時,通過按下按鍵后,控制ISP_CONTR寄存器為60H。

if(key1==0)

{    delay_ms(5);    if(key1==0)    {        while(key1==0);        ISP_CONTR=0x60;    }}

接下來進(jìn)行測試,燒寫如代碼后,單片機(jī)一致保持通電狀態(tài)。

接下來點(diǎn)擊ISP下載按鈕,軟件提示正在檢測目標(biāo)單片機(jī)。

這個時候不需要對系統(tǒng)進(jìn)行冷啟動,只需要按下按鍵即可實(shí)現(xiàn)下載。并且提示操作成功。

是不是可以通過這種方式研究一下OTA升級呢?

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 1
收藏 1
關(guān)注 389
成為作者 賺取收益
全部留言
0/200
  • dy-Vvzd93ib 2024-03-20 11:31
    回復(fù)