我这里用make后,连接的*.exe运行是没有问题的。
但是从接受到的8019的单片机的灯来看,发送的数据间隔时间是不对的。我已经用了delay(30)这样的话,在接收端8019的灯,应该也是30ms亮一次。可以好像不对。
我在8019这边单步跟踪数据,发现发过来的数据好像是对的。
为什么我一定要在BC31里加入*.lib,道理很简单,因为我想对自己的c文件进行进行单步跟踪呀。可是到现在还是不行呀。
下面我是在DOS应用WATTCP,对原来的\apps\tcptack参考后,自己修改的,通过网络发送514字节,前面2个自己表示后面数据包长度是512个,通过make连接成功的.c源代码。请大家参考,指正。事实说明这个代码发送数据的间隔是有问题的。
#include
#include
#include
#include
#include
#include
#define LIGHT_PORT 12345
int main(int argc, char *argv)
{
longword remoteip;
static tcp_Socket s;
char *host;
unsigned char inbuf,outbuf;
sock_init();
remoteip = inet_addr( "192.168.0.10" );
if ( !tcp_open( &s, 0, remoteip, LIGHT_PORT, NULL )) {
cputs("Unable to open connection."

;
exit( 1 );
}
printf("Connect..Sucess\n"

;
// sock_wait_established( &s, sock_delay,NULL, &status);
// sock_puts( &s, inet_ntoa(buffer,gethostid()));
// sock_puts( &s, user );
// sock_wait_input( &s, sock_delay, NULL, &status );
// sock_gets( &s, buffer, sizeof( buffer ));
/* we are connected */
while ( 1 ) {
// if (sock_dataready( &s )) {
// sock_gets( &s, rbuffer, sizeof( rbuffer ));
// add_msg( remoteuser, rbuffer );
// sock_read( &s, inbuf, 5140 );
// }
*(unsigned int*)outbuf = (unsigned int)512;
outbuf = 1;outbuf = 2;
sock_write( &s, outbuf,514 );
delay(30);
printf("Out data Over \n"

;
if( kbhit() )
break;
}
exit( 0 );
return (0); /* not reached */
}