现在使用TMS320F2812芯片,外部时钟24MHz,SYSCLK=24MHz,测试工具:示波器(500MHz)
为了测试指令周期采用GPIO的形式,部分代码如下
#define LED1_ON GpioDataRegs.GPFDAT.bit.GPIOF12=0 //1 灭 0 亮
#define LED1_OFF GpioDataRegs.GPFDAT.bit.GPIOF12=1
#define LED1_TOG GpioDataRegs.GPFTOGGLE.bit.GPIOF12=1
while(1)
{
LED1_ON;
LED1_ON;
LED1_ON;
LED1_ON;
LED1_ON;
LED1_ON;
LED1_ON;
LED1_ON;
LED1_OFF;
LED1_OFF;
LED1_OFF;
LED1_OFF;
}
测得低电平(LED1_ON)宽度2.01us,高电平(LED1_OFF)宽度1.07us,若是单周期指令的话理论应该是低电平约为0.3us,高电平为0.15us。为什么测得有如此大的偏差,是计算方式有误还是其它原因,请大家帮忙解答一下,谢谢了