|
我在使用曲线显示功能时,发现跑着跑着就卡死的现象 请问是什么原因呢?
软定时器0和1原来设置的1秒和0.5秒 也会卡死
代码如下:
u16 udata[4]={0x5aa5,0x0100,0x0001,0x0000};
u16 udata1[4]={0x5aa5,0x0100,0x0101,0x0000};
u16 current;
u16 current1;
u32 click=0;
if (GetTimeOutFlag(0))
{
StartTimer(0, 10);
current = constrained_random(current, 20, 40, 5);
udata[3]=current;
Write_Dgus(0x5000, udata[3]);
sys_write_vp(0x0310,(u8 *)udata,4);
click+=1;
printf("click:%lu\n",click);
read_dgus_vp(0x310, (unsigned char *)&tate, 1);
while(tate!=0x0000){
sys_delay_ms(10);
read_dgus_vp(0x310, (unsigned char *)&tate, 1);
};
}
if (GetTimeOutFlag(1))
{
StartTimer(1,10);
current1 = constrained_random(current1, 1, 10, 2);
udata1[3]=current1;
Write_Dgus(0x5002, udata1[3]);
sys_write_vp(0x310,(u8 *)udata1,4);
click+=1;
printf("click:%lu\n",click);
read_dgus_vp(0x310, (unsigned char *)&tate, 1);
while(tate!=0x0000){
sys_delay_ms(10);
read_dgus_vp(0x310, (unsigned char *)&tate, 1);
};
}
|
|