遇到一奇怪的现象, 在程序的某个地方经常增加一条指令即使是nop();会出现程序的其他地方出现延时变长的现象,如下,即使我在前后增加了关中断,延时变长差不多18%左右,现无法找到问题的根源, 出现这种情况,只要在增加程序的方再增加一个nop()或延时指令,也可以恢复正常. 有时也可能通过设置优化级别也可以取消,但在写程序过程中不时又会出现,希望大家帮忙出出主意,,,,
for(i=0; i<8; i++)
{
GPIO_WriteLow(PORT_TX791, TX791); //clrb(port_tft_tx , tft_tx);
if(temp&0x80) delay(1);
else delay(7);
GPIO_WriteHigh(PORT_TX791, TX791);
if(temp&0x80) delay(1);
else delay(7);
temp=temp<<1;
} |