在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

STM32如何通過FSMC點亮LCD

CHANBAEK ? 來源:頭條號科G棧 ? 作者:頭條號科G棧 ? 2023-03-23 10:02 ? 次閱讀

FSMC是Flexible static memory controller(可變靜態存儲控制器)的簡稱,是STM32系列采用的一種新型的存儲器擴展技術,支持SRAM、Nor Flash、LCD、PSRAM、NAND Flash、PC Card等。只在某些芯片上有,使用前要查看對應的手冊確定。

在FSMC的角度來看,外部存儲分成了4個固定的大小為256MB的bank。

pYYBAGQbsyeALt0FAADB_IK47Us138.jpg

Bank1分成了4個子bank,每一個64MB大小,并且每個bank都有獨立的片選,用來控制Nor Flash、RAM、PSRAM。Bank2和Bank3用來控制NAND Flash。Bank4控制PC Card。

不同的Bank共享了地址、數據、讀、寫信號,其他信號根據bank的用途不同會有一些差別。

pYYBAGQbsyiAGyDKAABGVE_gg2U739.jpg

下面介紹下如何通過FSMC點亮LCD。LCD可以看作是一個SRAM,通過Bank1控制。理論上支持8080接口的LCD都可以使用FSMC來點亮(不知是否有例外)。LCD有8位或16位接口的,FSMC的設置需要一致,本文以16位為例。

STM32的設置使用cubeMX很方便,下面是針對FSMC的設置,其他基礎設置這里就不羅列了。

poYBAGQbsymAV1oDAAG_xbnM61k692.jpg

這里使用了bank1的第四個子bank,片選是NE4;

內存類型是LCD接口;

LCD寄存器選擇為A0,其他A1-A24都可以,這本來是存儲器尋址信號,這里用來接LCD的RS信號,控制LCD是寫命令(低0)還是寫數據(高1)。;

數據選擇16位。

再往下

寫操作使能;

擴展模式Disabled;

地址建立時間設置為6;

數據建立時間設置為6;

總線翻轉時間設置為0.

上面建立時間范圍如下表所示,實際要根據LCD的時序確定。

poYBAGQbsyqANpN1AAG8n4G7s4c892.jpg

除了上面的配置,別忘了一般LCD還有個背光控制引腳。

pYYBAGQbsyuAWK0mAAAarHjrZ-E294.jpg

之后生成代碼。(只羅列了變量和函數內容,不是真正的函數)

背光引腳代碼如下:

poYBAGQbsy2AVjKEAAHLHXBr2dY483.jpg

FSMC的初始化代碼如下:

FSMC的引腳配置

pYYBAGQbsy-AdO4cAAIoVVKqGcw275.jpg

FSMC模式和時序配置:

pYYBAGQbszGAKNHfAAJQf3B5r_g171.jpg

到此,FSMC的初始化就搞定了,后邊就可以通過內存地址直接控制LCD了。這里有幾個需要注意的點,下面來詳細說說。

第一, 存儲基地址

bank1的基地址是0x60000000,不同的子bank地址不同,通過HADDR[27:26]這兩位的值確定。我們選擇了第四個,這兩位是11,所以子bank的基地址是

0x60000000+(0x3<<26)=0x6c000000。

poYBAGQbszOAYBVmAACWOmFuhXk160.jpg

第二, 外部存儲地址

HADDR[25:0]存儲了外部存儲器的地址,對于8位和16位略有差別。

pYYBAGQbszSALu5vAAAavL2HumE336.jpg

8位用到了HADDR[25:0]的所有位,對映FSMC_A[25:0]。而16位只用了HADDR[25:1],沒有用HADDR0,所以對于16位,HADDR[25:1]就對映了FSMC_A[24:0]。

pYYBAGQbszWAbnv2AAC81il_JTM837.jpg

第三, LCD的數據or命令選擇

LCD沒有地址,我們引出的地址線實際上接到了LCD的RS或者叫D/C引腳上。當RS為低,則通過D[15:0]的是命令,當RS為高,則通過D[15:0]的是數據。上面我們選擇了A0,在16位模式下,寫命令的地址就是0x6c000000(HADDR1為0),寫數據的地址就是0x6c000002(HADDR1為1)

(其實地址不唯一,只要保證HADDR1的0和1準確就行,其他地址位隨意,但是一般選擇最簡單或實用的地址,后邊會提到)。

pYYBAGQbszaAPt73AACjAfu5ZAQ101.jpg

我們再假設選擇A3,那么寫命令的地址還是0x6c000000(HADDR4為0),寫數據的地址是0x6c000010(HADDR4為1)。所以結論就是,寫命令的地址可以都是0x6c000000,寫數據的地址根據選擇的地址線確定。這是最簡單的地址。

pYYBAGQbszaAXM9rAADrhh7RyYU120.jpg

第四, 巧用結構體,只需定義一個地址

在很多參考例程中,會出現下面的實現方法:

pYYBAGQbszeAKcvZAAB9YNtN71o340.jpg

我們都知道結構體是順序排列的,所以LCD_REG的地址是0x6c000000,變量大小是2個字節(16位),所以LCD_RAM的地址就是0x6c000002,剛好就是我們選擇A0地址線(HADDR1)拉高的值。

那如果選擇其他地址線,這里就需要做一點變動。比如選擇A3,我們逆向操作來解決這個問題,A3寫數據地址是0x6c000010,也就是LCD_RAM的地址。LCD_REG比LCD_RAM小兩個字節,減2就得到了0x6c00000e,此時HADDR4為0,那這個就是我們需要的LCD基地址,因為只有這個值加2后會變成寫數據的地址,這就是那個實用的地址。

poYBAGQbsziATdmqAAB4Dg8Xu7w197.jpg

操作框圖如下圖所示,FSMC初始化好后就跟透明的一樣,只需要往指定的地址送命令或者數據即可。類似串口藍牙的透傳,一旦設置配對好,就可以無視藍牙的存在。

poYBAGQbszmAG-uqAADLTESdCI8539.jpg

后面的事情就跟具體的LCD有關了,比如讀取ID,寫初始化序列等,這里就不多介紹了。

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

    關注

    34

    文章

    4504

    瀏覽量

    170720
  • 存儲器
    +關注

    關注

    38

    文章

    7636

    瀏覽量

    166421
  • sram
    +關注

    關注

    6

    文章

    782

    瀏覽量

    115673
  • STM32
    +關注

    關注

    2290

    文章

    11017

    瀏覽量

    362404
  • FSMC
    +關注

    關注

    0

    文章

    55

    瀏覽量

    38532
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    stm32cubumx使用1.28.0固件包無法初始化fsmc怎么解決?

    在使用CUBEMX配置fsmc驅動norflash時,勾選寫使能選項,在初始化fsmc函數中,程序會進入void Error_Handler(void)導致死機,而這個情況在1.25.2版本并不會出現
    發表于 06-06 07:16

    FP7103 高效降壓恒流驅動芯片:內置模擬調光技術,徹底消除 LCD 背光頻閃難題# #LCD顯示

    lcd
    深圳市雅欣控制技術有限公司
    發布于 :2025年04月29日 10:27:20

    stm32cubumx使用1.28.0固件包無法初始化fsmc怎么解決?

    在使用CUBEMX配置fsmc驅動norflash時,勾選寫使能選項,在初始化fsmc函數中,程序會進入void Error_Handler(void)導致死機,而這個情況在1.25.2版本并不會出現
    發表于 04-27 08:15

    如何通過J-Link實現STM32H5控制調試端口

    基于J-Link實現STM32H5安全編程介紹了在禁用TrustZone時,如何通過J-Link實現STM32H5控制調試端口的安全鎖定或回歸打開。
    的頭像 發表于 03-17 10:25 ?353次閱讀
    如何<b class='flag-5'>通過</b>J-Link實現<b class='flag-5'>STM32</b>H5控制調試端口

    stm32f401的PROTEUS仿真

    搭建了一個stm32f401的PROTEUS仿真模型,PA9接一個發光二極管,以閃亮的方式點亮,在KEIL 5 中編輯了源代碼,仿真通過。 *附件:simulation.rar
    發表于 02-27 09:26

    通過STM32CubeMonitor,實現對MCU數據監控

    STM32CubeMonitor 系列工具通過實時讀取和可視化變量,幫助在運行時微調和診斷 STM32 應用程序。除了專用版本(電源、射頻、USB-PD)之外,多功能
    的頭像 發表于 01-27 08:00 ?635次閱讀
    <b class='flag-5'>通過</b><b class='flag-5'>STM32</b>CubeMonitor,實現對MCU數據監控

    FPGA與STM32通過FSMC總線通信的實驗

    FSMC總線通信簡介 FSMCSTM32系列采用的一種新型存儲器擴展技術。在外部存儲器擴展方面具有獨特的優勢,可根據系統的應用需要,方便進行不 同類型大容量靜態存儲器的擴展。 FSMC
    的頭像 發表于 11-12 17:20 ?3452次閱讀
    FPGA與<b class='flag-5'>STM32</b><b class='flag-5'>通過</b><b class='flag-5'>FSMC</b>總線通信的實驗

    基于FPGA的LCD1602液晶顯示模塊驅動設計

    本文通過LCD1602液晶顯示模塊為基礎,介紹FPGA驅動LCD1602原理,詳細介紹硬件原理圖設計及FPGA驅動LCD1602軟件設計,通過
    的頭像 發表于 10-24 14:42 ?3782次閱讀
    基于FPGA的<b class='flag-5'>LCD</b>1602液晶顯示模塊驅動設計

    利用MSP430的LCD外設驅動大型LCD

    電子發燒友網站提供《利用MSP430的LCD外設驅動大型LCD.pdf》資料免費下載
    發表于 10-22 09:22 ?0次下載
    利用MSP430的<b class='flag-5'>LCD</b>外設驅動大型<b class='flag-5'>LCD</b>

    tft屏幕屬于lcd屏幕的一種嗎

    TFT屏幕確實屬于LCD(液晶顯示器)屏幕的一種。LCD屏幕是一種廣泛使用的顯示技術,它通過液晶分子的排列變化來控制光線的通過,從而實現圖像的顯示。TFT(Thin Film Tran
    的頭像 發表于 10-12 10:31 ?2463次閱讀

    AM3352+WM8137+LM386+LCD聲音通過揚聲器輸出,LCD屏幕出現水波紋的原因?

    你好,系統組成:AM3352+WM8137+LM386+LCD,聲音通過揚聲器輸出,就是一個8歐姆的喇叭,喇叭響的時候輸入電源5V會被干擾,導致了其他電源的問題,LCD的屏幕出現水波紋。
    發表于 08-20 07:30

    使用STM32的外部數據總線與CY7C68013建立連接,如何獲得更高的傳輸速率?

    我試圖使用 STM32 的外部數據總線(如 FSMC)與 CY7C68013 建立連接,但不知道這樣能否成功連接并獲得更高的傳輸速率。 我還沒有找到這樣使用的例子。
    發表于 07-23 07:12

    在rtthread系統中STM32103VET6使用硬件FSMC驅動LCD刷屏速度慢怎么解決?

    STM32103VET6板子,使用rtthread系統,用硬件FSMC驅動LCD(SSD1963)時,初始化時刷屏超級快,但進入線程中速度就變慢了,請教有無大佬遇到過這樣的情況,有解決思路么?
    發表于 07-16 07:00

    使用RGB接口時發現一直無法點亮屏幕怎么解決?

    如圖,在使用RGB接口時發現一直無法點亮屏幕,使用邏輯分析儀后發現DE的下降沿始終處于數據線為0的時候,需要調整DE的下降沿位置或者數據發送的時間,但是找不到相對應的接口,完整代碼如下
    發表于 06-19 07:28

    請問ESP32-S3如何驅動QSPI接口的LCD?

    點亮屏,已修改部分請參考附件代碼。發現應該要修改esp_lcd_panel_io_spi.c這個文件來適配QSPI的時序。 請問能否提供一些修改指南?或者類似項目參考,謝謝!
    發表于 06-07 06:51
    主站蜘蛛池模板: 成年人网站免费观看 | 韩日毛片 | 狠狠的操 | 天天摸夜班摸天天碰 | 色秀视频免费网站在线观看 | 久久国内 | 亚洲网色| 播放毛片| 亚洲一成人毛片 | 色噜噜在线视频 | 亚洲成人网在线 | 一区二区三区影视 | 五月月色开心婷婷久久合 | 香蕉视频色版在线观看 | 欧美性黑人极品1819hd | 日本写真高清视频免费网站网 | 婷婷综合网站 | 成人免费一区二区三区 | 欧洲不卡一卡2卡三卡4卡网站 | 四虎影院免费在线播放 | 国产小福利 | 午夜精品区 | 狠狠色噜噜狠狠狠狠97老肥女 | 男女艹逼软件 | 96福利视频| 热re99久久精品国产99热 | 亚洲国产综合久久精品 | 熟妇毛片 | 在线观看网站国产 | 55夜色66夜色国产精品站 | 拍拍拍美女黄色1000视频 | 四虎4444hu4影视最新地址 | 天天狠天天透 | 国产女人伦码一区二区三区不卡 | 人人干网站 | 看真人一级毛多毛片 | 国产亚洲精品成人一区看片 | 91色多多| 久久99热久久精品23 | 福利视频入口 | 手机视频在线播放 |