您好!
我正在尝试切换 GPIO 引脚、它看起来非常慢。
我的微控制器主时钟为120MHz。
我删除了中间延迟、但仍然非常慢。
下面是我的时钟的配置方式。 我已通过读取 uint32_t sys_clock 来验证时钟是否为120MHz。
//将系统时钟初始化为120MHz // uint32_t sys_clock; SYS_CLOCK = ROM_SysCtlClockFreqSet ( (SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480)、 System_clock); assert (sys_clock == system_clock);
以及用于切换引脚的代码;
void adc_conv_start (void) { GPIOPinWrite (ADC_CTRL1_PORT、ADC_CNVSTARTA |ADC_CNVSTARTB、0); //for (i=0;i<1;i++){} //SysCtlDelay (1); GPIOPinWrite (ADC_CTRL1_PORT、ADC_CNVSTARTA | ADC_CNVSTARTB、ADC_CNVSTARTA | ADC_CNVSTARTB); }
这里是示波器的快照、显示延迟为3.9微秒。