按照手册所述
正常可倍频至48MHZ,22分频,IO速率理论达到2M以上
下面是测试代码:
int main(void)
{
GPIO_InitSettingType x;
PLLClock_Config(Enable, SCU_PLL_IN16M, SCU_PLL_48M, Enable); //PLL使能,倍频到48M(可关闭打开分别观察指示灯闪烁差异)
SystemInit();
DeviceClockAllEnable();
x.Signal = GPIO_Pin_Signal_Digital;
x.Dir = GPIO_Direction_Output;
x.Func = GPIO_Reuse_Func0;
x.ODE = GPIO_ODE_Output_Disable;
x.DS = GPIO_DS_Output_Normal;
x.PUE = GPIO_PUE_Input_Disable;
x.PDE = GPIO_PDE_Input_Disable;
GPIO_Init(GPIO_Pin_A1, &x);
while(1)
{
GPIO->PADATABSR.Word = 2; //置1
GPIO->PADATABCR.Word = 2; //清0
GPIO->PADATABSR.Word = 2; //置1
GPIO->PADATABCR.Word = 2; //清0
GPIO->PADATABSR.Word = 2; //1
GPIO->PADATABCR.Word = 2; //清0
}
}
测试结果: 差不多快到2M
但是使用库函数进行位操作翻转IO测试,结果如下:不到200K
原因分析:库函数进行位操作时,实际也增加了一些与或指令运算,这些运算也是要耗费时间;