需要驅動的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.改了晶元...