青檬 发表于 2012-6-28 16:26:07

回复:【ST学习小组】STM32以太网

回复第 14 楼 于2012-06-23 21:20:20发表:
我参加,正在做这方面工作,我还有几块DEMO板可无偿提供,
 

做什么项目?大家研究下,你卖DEMO的吗?

青檬 发表于 2012-6-28 16:28:40

回复:【ST学习小组】STM32以太网

回复第 14 楼 于2012-06-23 21:20:20发表:
我参加,正在做这方面工作,我还有几块DEMO板可无偿提供,
 

做什么项目呢?大家一起探讨下,什么样的DEMO?我搞了好久的STM32也没一个DEMO.您老人家一下就搞几个,卖DEMO啊?

青檬 发表于 2012-7-9 12:12:17

回复:【ST学习小组】STM32以太网

发一个我已经应用的程序!系统数据采集传输!
/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"
#include "lwip/pbuf.h"
#include "lwip/tcp.h"
#include "lwip/memp.h"
#include
#include
#include "lwipopts.h"
#include "crc16.h"
/* Private typedef -----------------------------------------------------------*/
#define TCP_PORT  1000
static struct tcp_pcb *TcpPCB;
uint8_t Eth_Buffer;
uint8_t Eth_Counter = 0;
extern uint8_t server_err;
extern uint8_t LocalDisplay;
extern uint8_t  HostID;
/* Private function prototypes -----------------------------------------------*/
void LwIP_Init(void);
static err_t tcp_client_accept(void *arg, struct tcp_pcb *pcb, err_t err);
static err_t tcp_client_recv(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err);
/* Private functions ---------------------------------------------------------*/
/**
  * @brief  Initialize the client application.
  * @param  None
  * @retval None
  */
void tcp_client_init(void)
{
  struct tcp_pcb *tpcb;
  struct ip_addr ipaddr;
 
  IP4_ADDR(&ipaddr, 192, 168, 1, 125);  //远程主机
  /* Create a new TCP control block  */
  tpcb = tcp_new();
  /* Assign to the new pcb a local IP address and a port number */
  tcp_bind(tpcb, IP_ADDR_ANY, TCP_PORT);
  /* Connect to the server: send the SYN */
  tcp_connect(tpcb, &ipaddr, TCP_PORT, tcp_client_accept);
}
 static err_t tcp_client_accept(void *arg, struct tcp_pcb *tpcb, err_t err)
{
  /* Specify the function that should be called when the TCP connection receives data */
  tcp_recv(tpcb, tcp_client_recv);
  TcpPCB = tpcb;
  return ERR_OK; 
}
static err_t tcp_client_recv(void *arg, struct tcp_pcb *tpcb, struct pbuf *p, err_t err)
{
   uint8_t Data_len = 0;
   uint8_t Success = 0;
   uint8_t  CRC_L = 0,CRC_H = 0;
   uint16_t CRC_Temp = 0;
   /************* 接收数据 ************/
   Data_len = p->len;
   memcpy(Eth_Buffer, p->payload, Data_len);
   if((Eth_Buffer == HostID) | (Eth_Buffer == 0)) /*干扰*/
    {
       CRC_Temp = CRC16(Eth_Buffer,6);                                                          
    CRC_L = CRC_Temp;         
    CRC_H = CRC_Temp>>8;
 
    if(Eth_Buffer == CRC_L && Eth_Buffer == CRC_H)     
         { 
     Success = 1;
      }
    else
         {
        Success = 0;
      }
    }
   else
       {
      Success = 0;
    }
   /*************回复数据*************/
   if(Success)
       {
         tcp_write(tpcb,&LocalDisplay,sizeof(LocalDisplay),1); 
    }
   else
       {
    }
  /* Free the p buffer */
   pbuf_free(p);
   return ERR_OK;
}

void tcp_check(void)
{
 char hello[] = "OK?\n";
 if(tcp_write(TcpPCB,&hello,sizeof(hello),1) == ERR_CONN)
    {server_err = 1;}
 else
    {server_err = 0;}
  /* send the data right now */
 //tcp_output(TcpPCB);
}
 

青檬 发表于 2012-7-9 12:14:31

RE:【ST学习小组】STM32以太网

本小组的学习到此就结束好了!发了例子,希望对大家有点用处,TCP/IP协议本人感觉挺复杂,只了解了一点!有什么问题可以跟帖!!!!!!!!

lidi01 发表于 2012-7-10 21:01:29

RE:【ST学习小组】STM32以太网

:lol我要加入,最近一直在搞uIP;请回信!

fenchen-322257 发表于 2012-7-25 10:19:22

RE:【ST学习小组】STM32以太网

QQ 914593182申请加入

zsm123 发表于 2012-7-25 15:19:29

RE:【ST学习小组】STM32以太网

有以太网项目,很头疼啊。。。找了很久都没找到关于ETH固件库的用户手册,请问你们谁有啊,麻烦给我发一个,非常感谢!289598313@qq.com

john_patson 发表于 2012-7-30 00:54:20

回复:【ST学习小组】STM32以太网

东西太片面了。如果真的要学习的话就要开展下去了。数据通讯不是说弄几个星期搞搞就可以的。而且网络通讯协议也不是只有TCP/IP一个了。只有那么一点资料根本就让人学不了什么东西。而且这里聚集的人也太少了。难怪没怎么多人来看了。和阿莫论坛比起来真的差太多了。不说了,发份资料出来,指明各网络通讯协议所表示的功能。具体要用到哪些协议还是要去查找该协议的具体细节。

mswordl-164966 发表于 2012-12-4 08:22:18

回复:【ST学习小组】STM32以太网

水平有限,不过真心想参加:lol

wg150986 发表于 2013-6-4 22:04:06

回复:【ST学习小组】STM32以太网

最近在做STM32F107+Dp83848的以太网通信,qq382825606申请加入
页: 1 2 [3] 4
查看完整版本: 【ST学习小组】STM32以太网