stm32按键矩阵代码_STM32 学习笔记---1
既然打算學,基礎的東西元件的得知道是什么,這樣寫代碼的時候才能知道自己在干什么!
ROM 和Flash 斷電后都能儲存數據,RAM則不能
其實閃存(flash)是ROM的一種它的全名---FLASH EEPROM
EEPROM---電可擦除可編程只讀存儲器
Flash
Flash是?種?易失性存儲器,即斷電之后數據也不會丟失,這個存儲器的特點是不能以字節的方式擦除信息,它按扇區(block)操作
32的芯片有些參數說 Flash的大小256k,64k,512k,它可以用于存儲代碼,也可以用于存儲數據。
我們編譯好的程序就放在這個地方。內核通過 ICode 總線來取里面的指令。 也存放常量 const修飾的SRAM
靜態隨機存取存儲器(SRAM)是隨機存取存儲器的?種。所謂的“靜態”,是指這種 存儲器只要保持通電,??儲存的數據就可以恒常保持。
相對之下,動態隨機存取存儲器(DRAM)??所儲存的數據就需要周期性地更新
程序的變量,堆棧等的開銷都是基于內部的SRAM。內核通過DCode 總線來訪問它。單片機中有FLASH為啥還需要EEROM?
原文:https://www.zhihu.com/question/379251731/answer/1080753769
flash可以一個字節一個字節寫,但是刪除的話,得一整個扇區刪除。
目前常見的flash一個扇區是4k的大小。如果你只要刪改一個哪怕一個字節的數據。都要先把flash的至少一個扇區的數據讀到ram里。然后修改。改好了后再把這個扇區的數據再存回去。如果只是小數據量的修改。則這樣一折騰,操作復雜。而且mega328才2k的RAM。存不下一個扇區的數據。所以內置了EEPROM,可以按字節刪改。
stm32 F10xxx系統結構,圖下面是每個名詞的介紹,結合著看
系統構架
● 四個驅動單元:
● 四個被動單元
我們可以把驅動單元理解成是CPU 部分,被動單元都理解成外設。下面我們簡單介紹下驅動單元和被動單元的各個部件
這些都是通過一個多級的AHB總線構架相互連接的,如下圖所示:
從AHB 總線延伸出來的兩條 (APB1和APB2) 總線,上面掛載著STM32 各種各樣的特色外設。我們經常說的GPIO、串口、I2C、SPI 這些外設就掛載在這兩條總線上,這個是我們學習STM32 的重點,就是要學會編程這些外設去驅動外部的各種設備。
部分參考:https://zhuanlan.zhihu.com/p/96126833
ICode總線
該總線將CortexTM-M3內核的指令總線與閃存指令接口相連接。指令預取在此總線上完成。
ICode 中的I 表示Instruction,即指令。程序編譯之后生成的二進制文件都是一條條指令,燒錄后存放在FLASH中,內核要讀取這些指令來執行程序就必須通過ICode 總線,它幾乎每時每刻都需要被使用,它是專門用來取指的。
由上圖也可看出ICode連接M3內核與Flash接口
DCode總線
該總線將CortexTM-M3內核的DCode總線與閃存存儲器的數據接口相連接(常量加載和調試訪
問)。
DCode 中的D 表示Data,即數據,那說明這條總線是用來取數的。我們在寫程序的時候,數據有常量和變量兩種,常量就是固定不變的,用C 語言中的const 關鍵字修飾,是放到內部的FLASH 當中的,變量是可變的,不管是全局變量還是局部變量都放在內部的SRAM。因為數據可以被Dcode 總線和DMA 總線訪問,所以為了避免訪問沖突,在取數的時候需要經過一個總線矩陣來仲裁,決定哪個總線在取數。
系統總線
此總線連接CortexTM-M3內核的系統總線(外設總線)到總線矩陣,總線矩陣協調著內核和DMA間
的訪問。
DMA總線
此 總 線將 DMA 的AHB主 控 接口 與總 線 矩陣 相聯 , 總線 矩陣 協 調著 CPU 的 DCode 和 DMA 到SRAM、閃存和外設的訪問。
總線矩陣
總線矩陣協調內核系統總線和DMA主控總線之間的訪問仲裁,仲裁利用輪換算法。在互聯型產品中,總線矩陣包含5個驅動部件(CPU的DCode、系統總線、以太網DMA、DMA1總線和DMA2總線)和3個從部件(閃存存儲器接口(FLITF)、SRAM和AHB2APB橋)。在其它產品中總線矩陣包含4個驅動部件(CPU的DCode、系統總線、DMA1總線和DMA2總線)和4個被動部件(閃存存儲器接口(FLITF)、SRAM、FSMC和AHB2APB橋)。
AHB外設通過總線矩陣與系統總線相連,允許DMA訪問。
原文:https://blog.csdn.net/yu132563/article/details/53440590#commentBox
首先,說點不靠譜的,APB和AHB總線,我個人感覺這個類似于個人PC系統里的北橋和南橋總線。
南橋總線上掛接的都是鼠標、鍵盤這些慢速的設備,北橋上掛接顯卡等高速設備。南橋頻率低,北橋頻率高。另外,南橋最后也要接到北橋上。
這些感覺都類似于APB和AHB。
一定要看圖,對比著看!
從AHB 總線延伸出來的兩條 (APB1和APB2) 總線,上面掛載著STM32 各種各樣的特色外設。我們經常說的GPIO、串口、I2C、SPI 這些外設就掛載在這兩條總線上,這個是我們學習STM32 的重點,就是要學會編程這些外設去驅動外部的各種設備。
總結
以上是生活随笔為你收集整理的stm32按键矩阵代码_STM32 学习笔记---1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 促排会不导致卵泡萎缩
- 下一篇: js方法 各种形式 财富值27