工具与软件:
我在 TMS320F28379D 微控制器上有一个程序。
我的方案结构如下:
void main (void)
{
init_program ();//初始化时钟、计时器、硬件、外设 软件变量。
delay_ms (5000);
start_FLAG = true;
while (1)
{
SW_Task_1 ();//我的应用程序
}
}
我的 delay_ms()函数为:
void delay_ms (uint32_t time_ms)
{
int16_t i;
while (time_ms--)
{
对于(I = 0;I < 10000;I++);
}
}
最初、我使用 CpuTimer0和 debug 来测量、delay_ms (5000)函数的执行时间大约为4秒。
但当我将程序更改为结构时:
void main (void)
{
init_program ();//初始化时钟、计时器、硬件、外设 软件变量。
delay_ms (5000);
start_FLAG = true;
while (1)
{
SW_Task_1 ();//我的应用程序1.
SW_Task_2 ();//我的应用2.
}
}
这次、我测量出 DELAY_ms (5000)函数的执行时间大约为4.7s。
我添加了一些 SW_Tasks、并从3.8更改为5.4s 更改了测量时间。
请帮我解释一下这个现象。