void http_server(void *pdata) { struct netconn *HTTPNetConn = NULL, *xHTTPNetConn; err_t rc1; if (xSemaphoreTake(xDhcpCmplSemaphore_2, portMAX_DELAY) == pdTRUE) { /* Create a new TCP connection handle */ HTTPNetConn = netconn_new(NETCONN_TCP); // netconn_set_recvtimeout(HTTPNetConn, 100); if (HTTPNetConn == NULL) { /*No memory for new connection? */ UART_PrintStr("No mem for new HTTP con\r\n"); } /* Bind to port 80 (HTTP) with default IP address */ netconn_bind(HTTPNetConn, NULL, 80); /* Put the connection into LISTEN state */ netconn_listen(HTTPNetConn); while (1) { rc1 = netconn_accept(HTTPNetConn, &xHTTPNetConn); if(rc1 == ERR_OK){ // http_server_serve(xHTTPNetConn); UART_PrintStr("netconn accept\r\n"); netconn_close(xHTTPNetConn); netconn_delete(xHTTPNetConn); }else{ PrintERR(rc1); } } } while (1) vTaskDelay(1000/portTICK_RATE_MS); }
/* Print data over UART */ void UART_PrintData(unsigned char *data, unsigned int n) { char str[16]; UART_PrintStr("[ "); while (n--) { sprintf(str, "%d ", *data++); UART_PrintStr(str); } UART_PrintStr("]\r\n"); }
void UART_Printf (uint8_t *format, ...) { static char buffer[40 + 1]; va_list vArgs; va_start(vArgs, format); vsprintf((char *)buffer, (const char *)format, vArgs); va_end(vArgs); UART_PrintStr((uint8_t*) buffer); }
/* Main routine */ int main(void) { /* Hardware initialization */ RCC_Configuration(); GPIO_Configuration(); #ifdef DEBUG USART_Configuration(); #endif LED2_ON; UART_PrintStr("Hello!\r\n"); while(1) { LED1_ON; delay(1000); LED1_OFF; delay(1000); } }