GD32F450IIH6的EXMC同步模式初始化
时间: 2023-07-23 19:30:33 浏览: 220
好的,针对你的问题,我可以提供以下的初始化代码,以实现GD32F450IIH6的EXMC同步模式初始化:
1. 首先,需要在库文件中定义EXMC参数结构体,代码如下:
```
typedef struct
{
uint32_t EXMC_AddressSetupTime;
uint32_t EXMC_AddressHoldTime;
uint32_t EXMC_DataSetupTime;
uint32_t EXMC_BusTurnAroundDuration;
uint32_t EXMC_CLKDivision;
uint32_t EXMC_DataLatency;
uint32_t EXMC_AccessMode;
} EXMC_NORSRAMTimingInitPara;
```
2. 然后,需要定义EXMC初始化函数,代码如下:
```
void EXMC_NORSRAMInit(EXMC_NORSRAMInitPara* EXMC_NORSRAMInitStruct, EXMC_NORSRAMTimingInitPara* EXMC_NORSRAMTimingInitStruct)
{
/* 1. 配置NORSRAM的时序参数 */
EXMC_NORSRAMTimingInit(EXMC_NORSRAMTimingInitStruct);
/* 2. 配置NORSRAM的初始化参数 */
EXMC_NORSRAMInitStruct->EXMC_AsyncWait = EXMC_AsyncWait_Disable;
EXMC_NORSRAMInitStruct->EXMC_ExtendedMode = EXMC_ExtendedMode_Disable;
EXMC_NORSRAMInitStruct->EXMC_WriteMode = EXMC_WriteMode_Enable;
EXMC_NORSRAMInitStruct->EXMC_WaitSignal = EXMC_WaitSignal_Disable;
EXMC_NORSRAMInitStruct->EXMC_WrapBurstMode = EXMC_WrapBurstMode_Disable;
EXMC_NORSRAMInitStruct->EXMC_WriteBurstMode = EXMC_WriteBurstMode_Disable;
EXMC_NORSRAMInitStruct->EXMC_ReadWriteTimingStruct = EXMC_NORSRAMTimingInitStruct;
EXMC_NORSRAMInitStruct->EXMC_WriteTimingStruct = EXMC_NORSRAMTimingInitStruct;
/* 3. 调用库函数进行初始化 */
EXMC_NORSRAMInit(EXMC_NORSRAMInitStruct);
}
```
3. 最后,需要在主函数中调用EXMC初始化函数,如下所示:
```
int main(void)
{
/* 1. 定义EXMC参数结构体 */
EXMC_NORSRAMInitPara EXMC_NORSRAMInitStruct;
EXMC_NORSRAMTimingInitPara EXMC_NORSRAMTimingInitStruct;
/* 2. 配置EXMC时序参数 */
EXMC_NORSRAMTimingInitStruct.EXMC_AddressSetupTime = 4;
EXMC_NORSRAMTimingInitStruct.EXMC_AddressHoldTime = 2;
EXMC_NORSRAMTimingInitStruct.EXMC_DataSetupTime = 8;
EXMC_NORSRAMTimingInitStruct.EXMC_BusTurnAroundDuration = 1;
EXMC_NORSRAMTimingInitStruct.EXMC_CLKDivision = 2;
EXMC_NORSRAMTimingInitStruct.EXMC_DataLatency = 2;
EXMC_NORSRAMTimingInitStruct.EXMC_AccessMode = EXMC_AccessMode_A;
/* 3. 调用EXMC初始化函数 */
EXMC_NORSRAMInit(&EXMC_NORSRAMInitStruct, &EXMC_NORSRAMTimingInitStruct);
/* 4. 主函数其他代码 */
return 0;
}
```
以上是一个简单的初始化代码示例,其中需要根据具体的需求进行调整。同时,需要注意在使用EXMC前,还需要开启EXMC时钟和GPIO时钟。
阅读全文