谢谢!
还是关于printf的问题,我现在试着要去掉所有的printf,结果在初始化的时候我本来设置如下:
tmEthTtcpIoctl( TM_ETHTTCP_AUTONEG, &autoNeg);
printf("If Auto-Negotiation OK,press Enter!\n");
getchar();
我是把pnx1500和pc用网线直接连接的,如果初始化时的自适应过程成功,pc端的就会提示连接成功,然后我再按enter键让pnx1500继续执行,后面可以顺利发送tcp数据,现在我改成如下:
tmEthTtcpIoctl( TM_ETHTTCP_AUTONEG, &autoNeg);
tmEthTtcpIoctl( TM_ETHTTCP_STATUS, &CurrentStatus);
while(CurrentStatus.linkStatus != TM_ETHTTCP_LINK_OK)
{tmEthTtcpIoctl( TM_ETHTTCP_STATUS, &CurrentStatus);}
tmosalTaskSleep(3000);
就是在启动自适应过程后然后循环读取pnx1500的网络状态,如果自适应完成(已建立连接),再延迟一段时间,然后再继续执行,这样应该是没问题的,但改完后就编程tcp只能执行到连接部分不再发送数据了。
printf应该是只影响到程序的执行时间,不会影响到任务的优先级的吧? |