微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > STM32-enc28j60+lwip+DHT11怎样发送读出的温湿度值到网页显示

STM32-enc28j60+lwip+DHT11怎样发送读出的温湿度值到网页显示

时间:10-02 整理:3721RD 点击:
各位大侠们,我刚接触STM32不太久,LWIP协议栈更没仔细研究过,我现在在做基于STM32和LWIP的网页控制,我现在想在程序里加一个DHT11传感器,检测温湿度,想把检测到的温湿度传到网页上显示出来,但我只能显示一些常数例如:
uint8_t tem_hum[] ="HELLO";通过    tcp_write(pcb,tem_hum,sizeof(tem_hum),0);这个函数就能在网页上显示HELLO
uint8_t led_ctrl_on[] =LED_CTRL_ON;;通过        tcp_write(pcb,led_ctrl_on,sizeof(led_ctrl_on),0);   就能显示#define LED_CTRL_ON "\定义的网页部分
我现在想在网页上显示通过DHT11传感器读回来的tem,hum;温湿度值,怎么写程序,是不是只通过改写tcp_write函数不能实现这一功能,是否还需要借助别的函数,就大神赐教了,我都愁死了,老师还催的很紧,我还不知道去从那下手,如果哪位大神有实现了这个小小功能的程序,能否分享给我一份,拜托了
下面是tcp_write函数的定义
tcp_write(struct tcp_pcb *pcb,  void*data, u16_t len, u8_t apiflags)
//pcb:只想相应连接的控制块
//data:待发送数据的起始地址
//len:待发送数据的长度
//apiflags:数据是否进行拷贝
{
  LWIP_DEBUGF(TCP_OUTPUT_DEBUG, ("tcp_write(pcb=%p, data=%p, len=%"U16_F", apiflags=%"U16_F")\n", (void *)pcb,
    data, len, (u16_t)apiflags));
  /* connection is in valid state for data transmission? */
  if (pcb->state == ESTABLISHED ||
     pcb->state == CLOSE_WAIT ||
     pcb->state == SYN_SENT ||
     pcb->state == SYN_RCVD) {
    if (len > 0) {
#if LWIP_TCP_TIMESTAMPS
      return tcp_enqueue(pcb, (void *)data, len, 0, apiflags,
                         pcb->flags & TF_TIMESTAMP ? TF_SEG_OPTS_TS : 0);
#else
      return tcp_enqueue(pcb, (void *)data, len, 0, apiflags, 0);
#endif
    }
    return ERR_OK;
  } else {
    LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_STATE | LWIP_DBG_LEVEL_SEVERE, ("tcp_write() called in invalid state\n"));
    return ERR_CONN;
  }
}

你把DHT11接受到的数据存到一个数组里面,把这个数组发送到网页不就行了吗,跟你发送hello有什么区别吗

大哥看到后请回信,小弟在做ENC28J60串口转以太网数据时遇到了阻力,还请不信赐教。
最主要的问题是:串口发送过来的数据时数据链路层的数据,保存在内存后,怎样封包。

你可以参考一下神舟的http实验,找不到联系我给你发。1334391942

小编弄好了没有,求源码,我们课程设计,要交了,火烧眉毛

希望对你有用:http://blog.csdn.net/haha1fan/article/details/70007875

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top