延时函数如下所示:
delay_loop()
{
long i;
for (i = 0; i < 1000; i++) {}
}
实验板用的是F2812型DSP芯片。工作频率在150Mhz,Datasheet说其最小指令周期为6nS。
实验是这样的,先把相关的GPIO引脚设置为高、低电平,然后用延时函数延时一段时间,再把GPIO相应引脚翻转,再进行延时。就这样循环,然后输出一个一定频率的信号。这个信号用示波器量了一下是6.xx Khz。然后我把延时函数的1000改为2000,再用示波器去量GPIO的引脚,发现频率变成了3.xx Khz。
GpioDataRegs.GPADAT.all =0x5555;
GpioDataRegs.GPBDAT.all =0x5555;
GpioDataRegs.GPDDAT.all =0x0041; // Four I/Os only
GpioDataRegs.GPEDAT.all =0x0005; // ThreeI/Os only
GpioDataRegs.GPFDAT.all =0x5555;
GpioDataRegs.GPGDAT.all =0x0010; // Two I/Os only
delay_loop();//?????í??????
}