STM32F407 驅動外部SRAM

2021-10-02 04:00:37 字數 1255 閱讀 5789

需要驅動的sram型號為is61lv25616al,價效比比51216的高很多

配置cubemx

這幾個時序比較關鍵,可以按照手冊來計算,我用下來這幾個數值比較合適。

然後就沒有然後了,生成**就可以用了。。。

檢查sram內容是否正確

uint8_t bsp_testextsram(void);	

/* 寫sram */

psram = (uint32_t *)ext_sram_addr;

for (i = 0; i < ext_sram_size / 4; i++)

/* 讀sram */

err = 0;

psram = (uint32_t *)ext_sram_addr;

for (i = 0; i < ext_sram_size / 4; i++) }

printf("sdram check round 1 error = %d\n", err);

if (err > 0)

#if 1

/* 對sram 的資料求反並寫入 */

psram = (uint32_t *)ext_sram_addr;

for (i = 0; i < ext_sram_size/4; i++)

/* 再次比較sram的資料 */

err = 0;

psram = (uint32_t *)ext_sram_addr;

for (i = 0; i0)

#endif

/* 測試按位元組方式訪問, 目的是驗證 fsmc_nbl0 、 fsmc_nbl1 口線 */

pbytes = (uint8_t *)ext_sram_addr;

for (i = 0; i < sizeof(bytebuf); i++)

/* 比較sram的資料 */

err = 0;

pbytes = (uint8_t *)ext_sram_addr;

for (i = 0; i < sizeof(bytebuf); i++) }

printf("sdram check round 3 error = %d\n", err);

if (err > 0)

return 0;

}

函式返回值是錯誤的個數,正常應該返回0

enjoy!

STM32F407配置pca9685驅動

pca9685是16路12位pwm訊號發生器,可用於控制舵機 led 電機等裝置,i2c通訊,節省主機資源。在 上隨處可見,arduino用它非常方便,不過stm32要想使用它必須要寫好驅動才行,本文簡述如何配置其驅動以及一些需要注意的地方。應用與除錯 當然對於老手,看datasheet是最好的選擇...

STM32F407使用硬體SPI驅動MCP3008

前段時間校企合作專案裡一塊板子上用了mcp3008,一開始老是得到值,後來終於得到了,以此來寫一下部落格分享給大家,讓大家少走彎路。言歸正傳,我們開始 mcp3008是乙個逐漸接近的10位模擬數字轉化器,板載取樣和保持電路.它可程式設計,提供四個偽差分輸入對或八個單端輸入.微分非線性 dnl 積分非...

基於stm32f407建立stm32F427工程

分為三個部分 1.啟動檔案 2.fwilib 包含兩個資料夾inc和src。src裡面是stm32資源的c檔案,inc則是32資源的h檔案 3.user這也是我不太理解的部分 ddbugconfig只包含了用於debug的初始化,則是f4的系統檔案。我是在f407的基礎上改的 總的來說 1.改了晶元...