0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

存儲器映射與寄存器映射的區(qū)別 推挽輸出和開漏輸出的概念

CHANBAEK ? 來源:俗人chao ? 作者:俗人chao ? 2023-03-10 11:40 ? 次閱讀

本篇文章是我在學習STM32f103時整理出來的知識點,知識點之間沒有連貫性,各位看官可以選擇自己感興趣的知識點觀看。

01存儲器映射與寄存器映射的區(qū)別

存儲器映射:

存儲器本身不具有地址信息,它的地址是由芯片廠商或用戶分配,給存儲器分配地址的過程就被稱為存儲器映射。

寄存器映射:

有特定功能的內存單元,通常我們會給這個特殊的內存單元一個名字,這個給已經分配好地址的有特定功能的內存單元取別名的過程就叫做寄存器映射。

02何為推挽輸出

1:可以輸出高低電平,用與連接數字器件,高電平由VDD決定,低電平由VSS決定。

2:推挽結構指兩個三極管受兩路互補的信號控制,總是在一個導通的時候另外一個截止,優(yōu)點開關效率高,電流大,驅動能力強。

3:輸出高電平時,電流輸出到負載,叫灌電流,可以理解成推,輸出低電平時,負載電流流向芯片,叫拉電流,即挽。

03何為開漏輸出

1:只能輸出低電平,不能輸出高電平。

2:如果要輸出高電平,則需要外接上拉。

3:開漏輸出具有“線與”功能,一個為低,全部為低,多用于I2C和SMBUS總線。

04文件包含的含義及形式區(qū)別

實現文件的包含要使用文件包含命令,文件包含命令的特點是能夠在一個程序源文件中將另一個源文件的所有內容包含進來,其一般形式為:

#include<文件名>

#include"文件名"

文件包含可以嵌套使用,即文件B即可以包含文件A,又可以被文件C包含,它們之間的關系為A包含B包含C,這種嵌套可以達到10層以上。 但是要注意文件的互相包含,即文件A包含文件B,而文件B又包含文件A,這是不允許的。 通常給文件命名時可以用以下代碼來解決重復調用的問題:

#ifndef  __STM32F10X_H 
#define  __STM32F10X_H 
.
.
#endif

那么尖括號與雙括號所表示的文件查找方法又有什么不同:

1:尖括號表示預處理程序會在系統規(guī)定的目錄中查找文件,當然也可以由用戶自行設置。

2:雙括號表示預處理程序首先會在當前源文件所在目錄中查找文件,如果無法找到,則轉向操作系統的環(huán)境變量所指的目錄中查找,若仍無法找到,最后轉向系統規(guī)定的目錄中查找文件。

05模擬示波器與數字示波器的區(qū)別

模擬示波器:

模擬示波器采用的是模擬電路(示波管,其基礎是電子槍)電子槍向屏幕發(fā)射電子,發(fā)射的電子經聚焦形成電子束,并打到屏幕上。 屏幕的內表面涂有熒光物質,這樣電子束打中的點就會發(fā)出光來。

數字示波器:

數字示波器是數據采集,A/D轉換,軟件編程等一系列的技術制造出來的高性能示波器。 數字示波器一般支持多級菜單,能提供給用戶多種選擇,多種分析功能。 還有一些示波器可以提供存儲,實現對波形的保存和處理,現在普遍是使用數字濾波器。

06keil5魔術棒配置

keil5如何設置程序燒寫進開發(fā)板直接可以運行:打開魔術棒-Debug-Use旁邊的Settings-Flash Download-將里面的Reset and Run打開就可以了。

既然說魔術棒的配置,我們就來說一下魔術棒里面比較重要的一處配置,如下圖所示:

第一個紅框的意思:

相當于我們在文件中使用“define”語句定義宏一樣,在編譯器中添加宏的好處就是,只要用了這個模板,就不用源文件中修改代碼了。

STM32F101X_HD宏:

為了告訴STM32標準庫,我們使用的芯片類型是STM32型號是大容量的,使STM32標準庫根據我們選定的芯片型號來配置。

USE_STDPERIPH_DRIVER宏:

為了讓stm32f10x.h包含stm32f10x_conf.h這個頭文件。

第二個紅框“Include Paths”這里添加的是頭文件的路徑,如果編譯的時候提示說找不到頭文件,一般就是這里配置出了問題。 你把頭文件放到了哪個文件夾,就把該文件夾添加到這里即可。

07位帶操作公式詳解

位帶區(qū)里面的每一個位都可以通過位帶別名區(qū)的地址來訪問。 位帶區(qū)的一個位,對應位帶別名區(qū)的四個字節(jié)。

STM32F103中外設位帶區(qū)與外設位帶別名區(qū)的地址轉換:

別名地址 = 0x42000000 + (A-0x40000000)84+n*4

STM32F103中SRAM位帶區(qū)與SRAM位帶別名區(qū)的地址轉換:

別名地址 = 0x22000000 + (A-0x20000000)84+n*4

A:表示我們要操作的那個位所在的寄存器的地址

n:位號

注意:位帶區(qū)的一個位在位帶別名區(qū)會被膨脹成四個字節(jié)

為了方便操作,我們可以把這兩個公式合并成一個,公式如下:

((addr & 0xF0000000)+0x02000000+((addr &0x000FFFFF)<<5)+(bitnum<<2))

addr:要操作的位所在寄存器的地址

bitnum:位號,即在寄存器的第幾位

配方合成原理:

addr & 0xF0000000 是為了區(qū)別 SRAM 還是外設,實際效果就是取出 4 或者 2,如果是外設,則取出的是 4,+0X02000000 之后就等于 0X42000000,0X42000000 是外設別名區(qū)的起始地址。 如果是 SRAM,則取出的是 2,+0X02000000 之后就等于 0X22000000,0X22000000 是 SRAM 別名區(qū)的起始地址。

addr & 0x00FFFFFF 屏蔽了高三位,相當于減去 0X20000000 或者 0X40000000,但是為什么是屏蔽高三位? 因為外設的最高地址是:0X2010 0000,跟起始地址 0X20000000 相減的時候,總是低 5 位才有效,所以干脆就把高三位屏蔽掉來達到減去起始地址的效果,具體屏蔽掉多少位跟最高地址有關。 SRAM 同理分析即可。 <<5 相當于2的5次方相當于84,<<2 同理。

08啟動文件作用及相關名詞解釋

啟動文件的作用:

1-初始化堆棧指針SP

2-初始化PC指針,指向復位程序

3-初始化中斷向量表

4-配置系統時鐘

5-調用C庫函數main,最終進入C的世界

啟動文件中的量:

Stack-棧:

用于局部變量、函數調用、函數形參的開銷,棧是由高向低生長的。

Heap-堆:

堆用于動態(tài)內存的分配,malloc函數

保存8:

指定當前文件的堆棧按照 8 字節(jié)對齊。

拇指:

表示后面指令兼容 THUMB 指令。 (16bit)

拇指-2:

兼容16位和32位

出口:

聲明一個標號可被外部的文件使用,使標號具有全局屬性。

直流電:

分配一個或者多個以字為單位的內存,以四字節(jié)對齊,并要求初始化這些內存。 在向量表中,DCD 分配了一堆內存,并且以 ESR 的入口地址初始化它們。

弱:

表示弱定義,如果外部文件優(yōu)先定義了該標號則首先引用該標號,如果外部文件沒有聲明也不會出錯。

進口:

表示該標號來自外部文件,跟 C 語言中的 EXTERN 關鍵字類似。

LDR:

LDR是一個偽指令,可以作為加載一個立即數或者一個地址到一個寄存器

09何為CMSIS

ARM? Cortex? 微控制器軟件接口標準 (CMSIS) 是 Cortex-M 處理器系列的與供應商無關的硬件抽象層。 CMSIS 可實現與處理器和外設之間的一致且簡單的軟件接口,從而簡化軟件的重用,縮短微控制器開發(fā)人員新手的學習過程,并縮短新設備的上市時間。

10何為TLE-TDD

LTE是基于OFDMA技術、由3GPP組織制定的全球通用標準,包括FDD和TDD兩種模式用于成對頻譜和非成對頻譜。
LTE-TDD,國內亦稱TD-LTE,即 Time Division Long Term Evolution(分時長期演進),由3GPP組織涵蓋的全球各大企業(yè)及運營商共同制定,LTE標準中的FDD和TDD兩個模式實質上是相同的,兩個模式間只存在較小的差異,相似度達90%。 TDD即時分雙工(Time Division Duplexing),是移動通信技術使用的雙工技術之一,與FDD頻分雙工相對應。 TD-LTE是TDD版本的LTE的技術,FDD-LTE的技術是FDD版本的LTE技術。 TD-SCDMA是CDMA(碼分多址)技術,TD-LTE是OFDM(正交頻分復用)技術。 兩者從編解碼、幀格式、空口、信令,到網絡架構,都不一樣。

11時鐘相關名詞及解釋

RCC:reset clock control復位和時鐘控制器

HSE:High Speed External Clock signal高速的外部時鐘

HSI:Low Speed Internal Clock signal高速的內部時鐘

MCO:microcontroller clock output微控制器時鐘輸出引腳

AHB:advanced high-performance bus高性能總線

PLLCLK:鎖相環(huán)時鐘。

SYSCLK:系統時鐘

HCLK:AHB高速總線時鐘

PCLK1:APB1低速總線時鐘

PCLK2:APB2高速總線時鐘

RTC:為芯片內部的RTC外設提供時鐘

IWDGCLK:獨立看門狗時鐘

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5268

    瀏覽量

    119646
  • 存儲器
    +關注

    關注

    38

    文章

    7402

    瀏覽量

    163387
  • 映射
    +關注

    關注

    0

    文章

    44

    瀏覽量

    15778
  • 開漏輸出
    +關注

    關注

    0

    文章

    34

    瀏覽量

    7301
  • 推挽輸出
    +關注

    關注

    0

    文章

    41

    瀏覽量

    6506
收藏 人收藏

    評論

    相關推薦

    MCU引腳輸出模式中推挽輸出輸出電路原理區(qū)別

    MCU引腳輸出模式中推挽輸出輸出電路原理區(qū)別
    的頭像 發(fā)表于 10-31 16:48 ?1590次閱讀
    MCU引腳<b class='flag-5'>輸出</b>模式中<b class='flag-5'>推挽</b><b class='flag-5'>輸出</b>與<b class='flag-5'>開</b><b class='flag-5'>漏</b><b class='flag-5'>輸出</b>電路原理<b class='flag-5'>區(qū)別</b>

    如何全面的了解到STM8存儲器寄存器映射的知識點?

    如何STM8存儲器映射、I/O端口硬件寄存器映射以及CPU/SWIM/調試模塊/中斷控制寄存器
    發(fā)表于 11-17 06:49

    推挽輸出輸出區(qū)別是什么?

    推挽輸出輸出區(qū)別是什么?STM32 UART怎么使用?
    發(fā)表于 12-10 07:37

    存儲器映射寄存器映射的原理分別是什么

    【嵌入式系統】存儲器映射寄存器映射原理一、存儲器映射圖1
    發(fā)表于 12-20 08:17

    一文詳解存儲器映射寄存器映射

    什么叫存儲器映射呢?什么是寄存器寄存器映射又是什么呢?
    發(fā)表于 01-21 07:45

    推挽輸出輸出有何差異

    1.推挽輸出使GPIO口輸出高電平或者低電平主要寄存器為端口配置地寄存器和端口配置高寄存器,每四
    發(fā)表于 02-24 07:20

    地址映射寄存器映射原理分別是什么

    映射存儲器本身不具有地址信息,它的地址是由芯片廠商或用戶分配,給物理存儲器分配邏輯地址的過程就稱為存儲器映射(地址
    發(fā)表于 03-02 06:36

    STM32的GPIO知識點:輸出推挽輸出

    輸出、復用輸出、推挽輸出、推挽復用
    發(fā)表于 12-22 18:10

    輸出推挽輸出比較

    stm32 gpio 輸出推挽輸出區(qū)別。
    發(fā)表于 05-19 15:32 ?16次下載

    什么是存儲器寄存器映射?如何訪問STM32寄存器內容?

    存儲器本身不具有地址信息,它的地址是由芯片廠商或用戶分配,給存儲器分配地址的過程稱為存儲器映射,如果再分配一個地址就叫重映射
    發(fā)表于 10-12 08:00 ?58次下載
    什么是<b class='flag-5'>存儲器</b>和<b class='flag-5'>寄存器</b><b class='flag-5'>映射</b>?如何訪問STM32<b class='flag-5'>寄存器</b>內容?

    STM32F103系列芯片的地址映射寄存器映射原理,GPIO端口的初始化

    輸入上拉模式2.3輸入下拉模式2.4模擬輸入模式2.5輸出模式2.6復用輸出模式2.7
    發(fā)表于 12-05 14:21 ?10次下載
    STM32F103系列芯片的地址<b class='flag-5'>映射</b>和<b class='flag-5'>寄存器</b><b class='flag-5'>映射</b>原理,GPIO端口的初始化

    輸出推挽輸出

    在STM32或者GD32中,普通的輸出GPIO輸出方式主要是輸出推挽
    的頭像 發(fā)表于 11-24 10:23 ?1.3w次閱讀
    <b class='flag-5'>開</b><b class='flag-5'>漏</b><b class='flag-5'>輸出</b>和<b class='flag-5'>推挽</b><b class='flag-5'>輸出</b>

    ZMID4200 寄存器映射

    ZMID4200 寄存器映射
    發(fā)表于 01-30 19:03 ?0次下載
    ZMID4200 <b class='flag-5'>寄存器</b><b class='flag-5'>映射</b>

    ZMID4200 寄存器映射

    ZMID4200 寄存器映射
    發(fā)表于 07-03 20:45 ?0次下載
    ZMID4200 <b class='flag-5'>寄存器</b><b class='flag-5'>映射</b>

    什么是推挽輸出 輸出推挽輸出區(qū)別

    什么是推挽輸出 輸出推挽輸出
    的頭像 發(fā)表于 08-31 10:21 ?2.3w次閱讀