STM32
直播中

李皓圳

7年用户 1074经验值
私信 关注
[问答]

enc28j60网络实验网页显示乱码

最近在参照原子的例程做enc28j60网络实验,修改了一下网页,结果网页下面出现乱码,led和温度时间都不变化了(如图。)不知是什么问题?

乱码问题好像论坛上早有人出现过,不知哪位大神解决了没有,能否指导一下啊!!

回帖(21)

周莹

2019-1-28 09:53:55
这个问题,貌似是一次通信的数据超过了一个网络包的最大数据导致的,暂时没找到解决办法。
举报

李桂英

2019-1-28 10:13:48
这样,好的,谢谢原子哥!
举报

周志光

2019-1-28 10:22:00
原子哥,这是我新发现的问题,能否请你看一下?http://www.openedv.com/posts/list/0/7384.htm?privmsg=1#164726
                                        
原子哥,这个问题现在解决了。我现在加进了dht11温湿度功能,但为什么温湿度更新不了呢?


 


 
这是我加入的函数和相关代码(粗体部分),请问哪里有问题呢?
main.c文件:
void get_dht11(u8 *dht)
{   
    u8 temp;      
 u8 humi;
 DHT11_Init();      
 DHT11_Read_Data(&temp,&humi) ;
 num2str(temp,dht,2);  //温度->字符串
 num2str(humi,dht+2,2); //湿度->字符串
 dht[5]=0;
}
httpd.c文件:
//处理HTTP输入数据
static PT_THREAD(handle_input(struct httpd_state *s))
{           ...
strx=strstr((const char*)(data_index_html+13),"室内温度:");//找到"室内温度:"字符
  if(strx)
  {
   get_dht11(dbuf);                     //得到dht11温度 
  
   strncpy(strx+34,(const char*)dbuf,2); //更新dht11温度 
   
  }
 // strx=strstr((const char*)strx,"%");//找到"%"字符
      strx=strstr((const char*)(data_index_html+13),"%");
  if(strx)
  {
   get_dht11(dbuf);                        //得到dht11湿度 
   
   strncpy(strx-2,(const char*)dbuf+2,2); //更新dht11湿度
  }
  strx=strstr((const char*)(data_index_html+13),"℃");//找到"℃"字符
  if(strx)
  {
   get_temperature(dbuf); //得到温度  
   strncpy(strx-4,(const char*)dbuf,4); //更新温度 
  }
  strx=strstr((const char*)strx,"RTC时间:");//找到"RTC时间:"字符
  if(strx)
  {
   get_time(dbuf);   //得到时间 
   strncpy(strx+33,(const char*)dbuf,16); //更新时间
  }
 ....
} 这程序哪里出了问题呢?请原子哥指导。 
            
 
举报

衡辉

2019-1-28 10:35:10
不止更新不了,温湿度显示根本不对。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分