stm32 FSMC的函數(shù)解釋
介于網(wǎng)上找的庫(kù)函數(shù)中文版沒有FSMC的,所有只能在這邊轉(zhuǎn)載一下FSMC的函數(shù)解析,供像我這樣的菜鳥學(xué)習(xí)
typedef struct
{
uint32_t FSMC_Bank;//nor被分為四塊,其中這個(gè)參數(shù)是說明對(duì)那個(gè)塊編程
uint32_t FSMC_DataAddressMux;//地址數(shù)據(jù)是否復(fù)用
uint32_t FSMC_MemoryType;//存儲(chǔ)器類型
uint32_t FSMC_MemoryDataWidth;//數(shù)據(jù)總線寬度 8位/16位
uint32_t FSMC_BurstAccessMode;//是否進(jìn)行成組模式訪問
uint32_t FSMC_WaitSignalPolarity;//等待信號(hào)有效級(jí)性
uint32_t FSMC_WrapMode;//該位決定控制器是否支持把非對(duì)齊的AHB成組操作分割成2次線性操作;該位僅在存儲(chǔ)器的成組模式下有效。
uint32_t FSMC_WaitSignalActive;//當(dāng)閃存存儲(chǔ)器處于成組傳輸模式時(shí),NWAIT信號(hào)指示從閃存存儲(chǔ)器出來的數(shù)據(jù)是否有效或是否需要插入等待周期。該位決定存儲(chǔ)器是在等待狀態(tài)之前的一個(gè)時(shí)鐘周期產(chǎn)生NWAIT信號(hào),還是在等待狀態(tài)期間產(chǎn)生NWAIT信號(hào)。
uint32_t FSMC_WriteOperation;//該位指示FSMC是否允許/禁止對(duì)存儲(chǔ)器的寫操作。
uint32_t FSMC_WaitSignal;//當(dāng)閃存存儲(chǔ)器處于成組傳輸模式時(shí),這一位允許/禁止通過NWAIT信號(hào)插入等待狀態(tài)。
uint32_t FSMC_ExtendedMode;//該位允許FSMC使用FSMC_BWTR寄存器,即允許讀和寫使用不同的時(shí)序。
uint32_t FSMC_WriteBurst;//對(duì)于處于成組傳輸模式的閃存存儲(chǔ)器,這一位允許/禁止通過NWAIT信號(hào)插入等待狀態(tài)。讀操作的同步成組傳輸協(xié)議使能位是FSMC_BCRx寄存器的BURSTEN位。
FSMC_NORSRAMTimingInitTypeDef*FSMC_ReadWriteTimingStruct;//讀時(shí)序配置指針
FSMC_NORSRAMTimingInitTypeDef*FSMC_WriteTimingStruct;//寫時(shí)序配置指針
}FSMC_NORSRAMInitTypeDef
typedef struct
{
uint32_t FSMC_AddressSetupTime;//這些位定義地址的建立時(shí)間,適用于SRAM、ROM和異步總線復(fù)用模式的NOR閃存操作。
uint32_t FSMC_AddressHoldTime;//這些位定義地址的保持時(shí)間,適用于SRAM、ROM和異步總線復(fù)用模式的NOR閃存操作。
uint32_t FSMC_DataSetupTime;//這些位定義數(shù)據(jù)的保持時(shí)間,適用于SRAM、ROM和異步總線復(fù)用模式的NOR閃存操作。
uint32_t FSMC_BusTurnAroundDuration;//這些位用于定義一次讀操作之后在總線上的延遲(僅適用于總線復(fù)用模式的NOR閃存操作),一次讀操作之后控制器需要在數(shù)據(jù)總線上為下次操作送出地址,這個(gè)延遲就是為了防止總線沖突。如果擴(kuò)展的存儲(chǔ)器系統(tǒng)不包含總線復(fù)用模式的存儲(chǔ)器,或最慢的存儲(chǔ)器可以在6個(gè)HCLK時(shí)鐘周期內(nèi)將數(shù)據(jù)總線恢復(fù)到高阻狀態(tài),可以設(shè)置這個(gè)參數(shù)為其最小值。
uint32_t FSMC_CLKDivision;//定義CLK時(shí)鐘輸出信號(hào)的周期,以HCLK周期數(shù)表示:
uint32_t FSMC_DataLatency;//處于同步成組模式的NOR閃存,需要定義在讀取第一個(gè)數(shù)據(jù)之前等待的存儲(chǔ)器周期數(shù)目。 這個(gè)時(shí)間參數(shù)不是以HCLK表示,而是以閃存時(shí)鐘(CLK)表示。在訪問異步NOR閃存、SRAM或ROM時(shí),這個(gè)參數(shù)不起作用。操作CRAM時(shí),這個(gè)參數(shù)必須為0。
uint32_t FSMC_AccessMode;//訪問模式
}FSMC_NORSRAMTimingInitTypeDef;