<tfoot id="ygvxt"><menuitem id="ygvxt"></menuitem></tfoot>
    • <kbd id="ygvxt"></kbd>
      <th id="ygvxt"><progress id="ygvxt"></progress></th>

      您好,歡迎訪問上海意泓電子科技有限責(zé)任公司網(wǎng)站!
      4新聞資訊
      您的位置: 首頁 ->  新聞資訊 -> 單片機

      ?stm32啟動方式+上(下)拉電阻 二合一

      文章出處:單片機 責(zé)任編輯:上海意泓電子科技有限責(zé)任公司 發(fā)表時間:
      2020
      11-10

      最近做stm32項目,糾結(jié)過其啟動方式。 
      看到篇不錯的文章,轉(zhuǎn)載一下。原文格式不太好,內(nèi)容也有很多奇怪的地方(尤其是第二篇,就先認為原文是原創(chuàng),只是作者的思路我不懂吧),都一一刪改。想看原文的朋友鏈接如下: 
      http://www.ithao123.cn/content-3065243.html Duanxx的STM32學(xué)習(xí): 啟動模式,BOOT0和BOOT1詳解 
      http://bluefish.blog.51cto.com/214870/1239098 上拉電阻與下拉電阻的作用

      所謂啟動,一般來說就是指我們下好程序后,重啟芯片時,SYSCLK的第4個上升沿,BOOT引腳的值將被鎖存。用戶可以通過設(shè)置BOOT1和BOOT0引腳的狀態(tài),來選擇在復(fù)位后的啟動模式。

      Main Flash memory是STM32內(nèi)置的Flash,一般我們使用JTAG或者SWD模式下載程序時,就是下載到這個里面,重啟后也直接從這啟動程序。

      System memory從系統(tǒng)存儲器啟動,這種模式啟動的程序功能是由廠家設(shè)置的。一般來說,這種啟動方式用的比較少。系統(tǒng)存儲器是芯片內(nèi)部一塊特定的區(qū)域,STM32在出廠時,由ST在這個區(qū)域內(nèi)部預(yù)置了一段BootLoader,也就是我們常說的ISP程序,這是一塊ROM,出廠后無法修改。 
      一般來說,我們選用這種啟動模式時,是為了從串口下載程序,因為在廠家提供的BootLoader中,提供了串口下載程序的固件,可以通過這個BootLoader將程序下載到系統(tǒng)的Flash中。但是這個下載方式需要以下步驟:

      1. Step1:將BOOT0設(shè)置為1,BOOT1設(shè)置為0,然后按下復(fù)位鍵,這樣才能從系統(tǒng)存儲器啟動BootLoader

      2. Step2:最后在BootLoader的幫助下,通過串口下載程序到Flash中

      3. Step3:程序下載完成后,又有需要將BOOT0設(shè)置為GND,手動復(fù)位,這樣,STM32才可以從Flash中啟動 
        可以看到,利用串口下載程序還是比較的麻煩,需要跳帽跳來跳去的,非常的不注重用戶體驗。

      Embedded SRAM 內(nèi)置SRAM,既然是SRAM,自然也就沒有程序存儲的能力了,這個模式一般用于程序調(diào)試。 
      假如我只修改了代碼中一個小小的地方,然后就需要重新擦除整個Flash,比較的費時,可以考慮從這個模式啟動代碼(也就是STM32的內(nèi)存中),用于快速的程序調(diào)試,等程序調(diào)試完成后,在將程序下載到SRAM中。

      因此,比較常見的選擇方式是BOOT0接地,當(dāng)然啦,如果自己畫stm32系統(tǒng)板的話,最好也要留下其他兩個啟動方式。對于大型程序使用SRAM進行調(diào)試還是很有必要的。

      下面講一下上拉電阻與下拉電阻的區(qū)別: 
      上拉電阻就是把不確定的信號通過一個電阻鉗位在高電平,此電阻還起到限流的作用。同理,下拉電阻是把不確定的信號鉗位在低電平。上拉電阻是指器件的輸入電流,而下拉指的是輸出電流。 
      那么在什么時候使用上、下拉電阻呢? 
      1、當(dāng)TTL電路驅(qū)動CMOS電路時,如果TTL電路輸出的高電平低于CMOS電路的最低高電平(一般為3.5V),這時就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值。 
      2、OC門電路必須加上拉電阻,以提高輸出的搞電平值。 
      3、為加大輸出引腳的驅(qū)動能力,有的單片機管腳上也常使用上拉電阻。 
      4、在CMOS芯片上,為了防止靜電造成損壞,不用的管腳不能懸空,一般接上拉電阻降低輸入阻抗,提供泄荷通路。 
      5、芯片的管腳加上拉電阻來提高輸出電平,從而提高芯片輸入信號的噪聲容限,增強抗干擾能力。 
      6、提高總線的抗電磁干擾能力。管腳懸空就比較容易接受外界的電磁干擾。 
      7、長線傳輸中電阻不匹配容易引起反射波干擾,加上下拉電阻是電阻匹配,有效的抑制反射波干擾。 
      另外,上拉電阻阻值的選擇原則包括: 
      1、從節(jié)約功耗及芯片的灌電流能力考慮應(yīng)當(dāng)足夠大;電阻大,電流小。 
      2、從確保足夠的驅(qū)動電流考慮應(yīng)當(dāng)足夠小;電阻小,電流大。 
      3、對于高速電路,過大的上拉電阻可能邊沿變平緩。 
      綜合考慮以上三點,通常在1k到10k之間選取。對下拉電阻也有類似道理

      關(guān)于上拉電阻,看圖。

      作為輸入接VCC等于1,接GND=0。 
       
      如果按鍵短路(按下)電阻為零,按鍵按下,Out=0,當(dāng)按鍵斷開,Out=?顯然當(dāng)Out懸空輸出VCC,這可以用儀表測量。這個VCC就是靠R1“上拉”產(chǎn)生的,顧名思義,R1就是上拉電阻。上拉電阻的大小,取決于輸出接負載的需要,通常邏輯電路對高電平輸出阻抗很大,要求輸出電流很小,在上拉電阻上壓降可以忽略,當(dāng)然上拉電阻不能太大,否則就不能忽略了。

      實際電路還有這種結(jié)構(gòu) 
       
      這里的R1也是上拉電阻。

      單片機P0口輸出結(jié)構(gòu)一部分電路類似下圖,實際可能用的是場效應(yīng)管。 
       
      當(dāng)Q1,Q2分別導(dǎo)通,可以對外輸出0和1,當(dāng)Q1,Q2都不導(dǎo)通時?要想輸出1,咋辦?外接上拉電阻!

      為什么要使用拉電阻: 
      一般作單鍵觸發(fā)使用時,如果IC本身沒有內(nèi)接電阻,為了使單鍵維持在不被觸發(fā)的狀態(tài)或是觸發(fā)后回到原狀態(tài),必須在IC外部另接一電阻。

      關(guān)于下拉電阻,用得少,道理和上面一樣,只不過通過電阻“下拉”到GND。

      這里不再詳細說明

      數(shù)字電路有三種狀態(tài):高電平、低電平、和高阻狀態(tài),有些應(yīng)用場合不希望出現(xiàn)高阻狀態(tài),可以通過上拉電阻或下拉電阻的方式使處于穩(wěn)定狀態(tài),具體視設(shè)計要求而定!一般說的是I/O端口,有的可以設(shè)置,有的不可以設(shè)置,有的是內(nèi)置,有的是需要外接,I/O端口的輸出類似與一個三極管的C,當(dāng)C接通過一個電阻和電源連接在一起的時候,該電阻成為上C拉電阻,也就是說,如果該端口正常時為高電平,C通過一個電阻和地連接在一起的時候,該電阻稱為下拉電阻,使該端口平時為低電平。 
      上拉電阻是用來解決總線驅(qū)動能力不足時提供電流的。一般說法是拉電流,下拉電阻是用來吸收電流的,也就是灌電流。


      上海意泓電子科技有限責(zé)任公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像

      CopyRight 2020-2025 www.hljhgw.com All rights reserved   滬ICP備2021005866號

      国产强伦姧在线观看,…中文天堂在线一区,亚洲欧洲精品污网站在线观看,在线视频综合站
      <tfoot id="ygvxt"><menuitem id="ygvxt"></menuitem></tfoot>
        • <kbd id="ygvxt"></kbd>
          <th id="ygvxt"><progress id="ygvxt"></progress></th>