原因找到是一个数组引起的- void diy_send_data_to_server(void)
- {
- static char buf[256]={0};
- u8 i,j;
- float data=0;
- u8 ti[6]={0};
- diy_get_os_time_6(ti);
- for(i=0;i<MAX_METER_COUNT;i++)
- {
- for(j=0;j<MAX_FUNC_COUNT;j++)
- {
- if(0!=diy_get_port_data(i,j,&data))
- continue;
- sprintf(buf,"20%2d-%2d-%2d %2d:%2d:%2d |%4d|%4d|%f",ti[0],ti[1],ti[2],ti[3],ti[4],ti[5],i,j,data);
- diy_udp_send(udpserversend,(void *) buf,strlen(buf),diy_get_server_ip(),diy_get_server_port());
- }
-
- }
- return;
- }
buf数组不加static就会出错,加上static就没问题,这是什么原因?
|