www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]前言今天總結(jié)“STM32F103 FSMC讀寫外部SRAM”,主要使用FSMC來控制外部SRAM,對SRAM進行讀寫的操作。本文章提供的工程對SRAM讀寫從操作類似于對FLASH讀寫操作。關(guān)于STM32的FSMC(靈活的靜態(tài)存儲器控制器)這一部分內(nèi)

前言

今天總結(jié)“STM32F103 FSMC讀寫外部SRAM”,主要使用FSMC來控制外部SRAM,對SRAM進行讀寫的操作。本文章提供的工程對SRAM讀寫從操作類似于對FLASH讀寫操作。

關(guān)于STM32的FSMC(靈活的靜態(tài)存儲器控制器)這一部分內(nèi)容比較實用,在實際應(yīng)用中也是比較重要的(對于需要實用FSMC來說)。運用FSMC來控制外接器件比運用軟件模擬來控制效率要高的多,而且操作簡單。

也許對于初學(xué)者來說,對FSMC不了解,或不感興趣。因為FSMC在實際開發(fā)中主要用于外擴RAM和ROM,初學(xué)者對于RAM和ROM的需求不高,基本上內(nèi)部資源都夠了。對于喜歡使用LCD屏的人應(yīng)該了解FSMC,因為FSMC控制LCD也是一種很好的方式,市面上很多開發(fā)板上的LCD屏都兼容FSMC。

下載

今天提供下載的“軟件工程”都是在硬件板子上進行多次測試、并保證沒問題才上傳至360云盤。

今天的軟件工程下載地址(360云盤):

https://yunpan.cn/cSrN5SYtDcyBA訪問密碼 47fb

STM32F10x的資料可以在我360云盤下載:

https://yunpan.cn/crBUdUGdYKam2訪問密碼 ca90

內(nèi)容講解

工程概要說明: 提供工程是對外部SRAM讀寫,可以當做緩存(如:一個BUF)來使用,但并不是芯片的RAM(運行內(nèi)存),只是對SRAM進行讀寫操作。

程序運行流程:上電寫入外部SRAM數(shù)據(jù)“0 - 262143”(剛好是1M空間,4字節(jié)空間一數(shù)據(jù)),再通讀讀函數(shù)讀出其數(shù)據(jù),通過串口打印出來。這里每讀一次串口打印一次數(shù)據(jù),LED變化一次。(請觀測現(xiàn)象)

提供的工程以簡單為原則,詳細中文注釋,方便自己方便大家。

關(guān)于“STM32F103 片內(nèi)FLASH編程”我把重要的幾點在下面分別講述:

一、時鐘


該函數(shù)位于bsp.c文件下面;

開啟FSMC和需要使用引腳的時鐘。

二、FSMC引腳配置


該函數(shù)位于fsmc.c文件下面;

使用了FSMC的引腳都須配置為“GPIO_Mode_AF_PP”,否則不能使用(感興趣的可以試試)。對于NE3就是:NOR/PSRAM3,我測試的工程是使用FSCM存儲塊1(下圖)的NOR/PSRAM3。所以我測試工程里面的地址是“0x68000000”,其實這個地址有講究的,請看最后重點。

三、FSMC配置


該函數(shù)位于fsmc.c文件下面;

這里的配置和你的SRAM有一點的關(guān)聯(lián)(速度、數(shù)據(jù)寬度等)。

三、外部SRAM寫數(shù)據(jù)



該函數(shù)位于fsmc.c文件下面;

對1M的SRAM寫數(shù)據(jù)(為了測試),方便下面讀操作。

四、外部SRAM讀數(shù)據(jù)


該函數(shù)位于fsmc.c文件下面;

對1M的SRAM讀數(shù)據(jù),通過串口打印出來寫入的數(shù)據(jù),每讀一次,打印一次,中間有個延時,所以整個讀取的過程時間比較長。

這個地址可以修改,或者選擇一段來讀取測試也行。希望看到的人都親自修改程序來測試一下,方便記憶和鞏固。

五、今天的重點

A.關(guān)于地址的問題,今天提供的工程外部SRAM地址是“0x68000000”(宏定義在fsmc.h里),善于發(fā)現(xiàn)問題和動手的人會發(fā)現(xiàn)一個問題,我將這個地址改為“0x68100000”或“0x68200000”測試的效果都一樣。我告訴你答案,效果確實是一樣的,原因就在于外部SRAM容量“SRAM_EXT_SIZE”大小是1M,而“0x00100000”剛好是1M,這里的地址溢出部分剛好抵消了,所以為什么修改地址也是一樣的效果。但地址必須在存儲塊1的NOR/PSRAM3區(qū)域。

B.今天是自己通過標準庫來配置的FSMC,其實在“system_stm32f10x.c”文件里面有使用寄存器直接配置FSMC的源代碼,感興趣的朋友可以看一下,今天使用標準庫配置其實也是希望大家數(shù)據(jù)各個參數(shù)的功能作用。其實,希望大家在熟悉配置之后還是使用“system_stm32f10x.c”里的配置,畢竟這是官方提供的,它這樣配置效率也比較高。

說明

今天提供的軟件工程基于STM32F103大容量芯片,中等及小容量芯片沒有FSMC功能,自然也不能使用。其實只要適當修改工程的部分配置,STM32F1有FSCM功能的芯片都適用。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,分別為:1.MISO,主機數(shù)據(jù)輸入從機數(shù)據(jù)輸出線(“M”表示主機master,“I”表示輸入in,“S”表示從機slaver,“O”表示輸出o...

關(guān)鍵字: spi 通信協(xié)議 stm32f1

從圖中我們可以看出,所有內(nèi)部設(shè)備都是掛載的外設(shè)

關(guān)鍵字: stm32f1 位帶操作 地址映射 寄存器

注意:每個區(qū)都有獨立的寄存器控制,都有單獨的片選引腳,故每個區(qū)都可以接不同的外設(shè)。

關(guān)鍵字: fsmc STM32 地址塊劃分

Ⅰ、概述該文寫針對初學(xué)μC/OS的朋友,基于以下平臺來一步一步移植μC/OS嵌入式操作系統(tǒng)。UCOS移植相關(guān)平臺:系統(tǒng)平臺:μC/OS-II(最新V2.92版)硬件平臺:STM32F1(適合F1所以系列)開發(fā)平臺:Kei...

關(guān)鍵字: stm32f1 ucos2 移植

前言今天講解“STM32F103 SysTick系統(tǒng)滴答”,“SysTick系統(tǒng)滴答”是屬于Cortex-M3內(nèi)核的一部分,主要是為運行的操作系統(tǒng)提供滴答時鐘,如常見的操作系統(tǒng):uCOS、RTOS等。不管M3芯片屬于哪一...

關(guān)鍵字: stm32f1 systick 系統(tǒng)滴答

FSMC(Flexible Static Memory Controller,可變靜態(tài)存儲控制器)是STM32系列采用一種新型的存儲器擴展技術(shù)。在外部存儲器擴展方面具有獨特的優(yōu)勢,可根據(jù)系統(tǒng)的應(yīng)用需要,方便地進行不同類型...

關(guān)鍵字: fsmc STM32

在完成IO驅(qū)動彩屏的試驗后,就準備著手使用FSMC來驅(qū)動彩屏,先了解一下預(yù)備知識一、所謂的FSMC機制簡單介紹FSMC在這篇博文里面很清楚,推薦一下http://blog.csdn.net/king_bingge/art...

關(guān)鍵字: fsmc stm32f103zet6 驅(qū)動tft

本篇文章三個主題:FSMC有關(guān)配置、一串字符顯示原理、漢字顯示原理。。下面進入正題一、FSMC的有關(guān)配置(博主用的是FSMC_A10): 來自別人家的博客http://blog.csdn.net/jxnu_xiaobin...

關(guān)鍵字: fsmc STM32 驅(qū)動tftlcd

Ⅰ、概述上一篇文章是講述uC/OS-II Ports下面os_cpu_a.asm、os_cpu_c.c和os_cpu.h文件底層端口代碼的移植(修改)和說明,接著上一篇文章來講述關(guān)于UCOS移植應(yīng)用部分的代碼。該文主要針...

關(guān)鍵字: stm32f1 ucos2 移植

前言今天總結(jié)“STM32F103 外部SRAM作為運行內(nèi)存”。對于運行內(nèi)存應(yīng)該都知道它的意思,主要是程序運行時所使用的RAM,比如我們定義的全局變量、局部變量這些在程序運行時都會在RAM中為它們開辟一片空間,用于運行時所

關(guān)鍵字: stm32f1 運行內(nèi)存 外部sram
關(guān)閉