久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3380|回復: 3
打印 上一主題 下一主題
收起左側

STM32107_LAN8720網口程序lwip

[復制鏈接]
跳轉到指定樓層
樓主
ID:256792 發(fā)表于 2021-4-23 10:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
網上的關于這個組合的程序非常少,特地拿出來分享下面是部分代碼
  1. /*********************************************************************************
  2. **********************************************************************************
  3. * 文件名稱: TCP_SERVER.c                                                         *
  4. * 文件簡述:TCP服務器運用                                                        *
  5. * 創(chuàng)建日期:2018.3                                                           *
  6. * 版    本:V1.0                                                                 *
  7. * 作    者:Clever                                                               *
  8. * 說    明:                                                                     *
  9. **********************************************************************************
  10. *********************************************************************************/


  11. /****************************************************************************
  12. * 名    稱: tcp_server_recv(void *arg, struct tcp_pcb *pcb,struct pbuf *p,err_t err)
  13. * 功    能:TCP數(shù)據(jù)接收和發(fā)送
  14. * 入口參數(shù):
  15. * 返回參數(shù):
  16. * 說    明:這是一個回調函數(shù),當一個TCP段到達這個連接時會被調用      
  17. ****************************************************************************/        
  18. static err_t tcp_server_recv(void *arg, struct tcp_pcb *pcb,struct pbuf *p,err_t err)
  19. {
  20.         struct pbuf *p_temp = p;
  21.         
  22.         if(p_temp != NULL)
  23.         {        
  24.                 tcp_recved(pcb, p_temp->tot_len);    //獲取數(shù)據(jù)長度 tot_len:tcp數(shù)據(jù)塊的長度
  25.                 while(p_temp != NULL)        
  26.                 {                                
  27.                         tcp_write(pcb,p_temp->payload,p_temp->len,TCP_WRITE_FLAG_COPY);         // payload為TCP數(shù)據(jù)塊的起始位置      
  28.                         tcp_output(pcb);
  29.                         p_temp = p_temp->next;
  30.                 }               
  31.         }
  32.         else
  33.         {
  34.                 tcp_close(pcb);         // 作為TCP服務器不應主動關閉這個連接
  35.         }
  36.         pbuf_free(p);                  // 釋放該TCP段  
  37.         err = ERR_OK;
  38.         return err;
  39. }

  40. /****************************************************************************
  41. * 名    稱: tcp_server_accept(void *arg, struct tcp_pcb *pcb,struct pbuf *p,err_t err)
  42. * 功    能:回調函數(shù)
  43. * 入口參數(shù):
  44. * 返回參數(shù):
  45. * 說    明:這是一個回調函數(shù),當一個連接已經接受時會被調用
  46. ****************************************************************************/        
  47. static err_t tcp_server_accept(void *arg,struct tcp_pcb *pcb,err_t err)
  48. {
  49.         tcp_setprio(pcb, TCP_PRIO_MIN);                 /* 設置回調函數(shù)優(yōu)先級,當存在幾個連接時特別重要,此函數(shù)必須調用*/
  50.         tcp_recv(pcb,tcp_server_recv);                                 /* 設置TCP段到時的回調函數(shù) */
  51.         err = ERR_OK;
  52.         return err;
  53. }

  54. /****************************************************************************
  55. * 名    稱: TCP_server_init(void)
  56. * 功    能:完成TCP服務器的初始化,主要是使得TCP通訊快進入監(jiān)聽狀態(tài)
  57. * 入口參數(shù):
  58. * 返回參數(shù):
  59. * 說    明:
  60. ****************************************************************************/        
  61. void TCP_server_init(void)
  62. {
  63.         struct tcp_pcb *pcb;

  64.         pcb = tcp_new();                                                                               // 建立通信的TCP控制塊(pcb)
  65.         tcp_bind(pcb,IP_ADDR_ANY,TCP_Server_PORT);           // 綁定本地IP地址和端口號(作為tcp服務器)  
  66.         pcb = tcp_listen(pcb);                                                                   // 進入監(jiān)聽狀態(tài)  
  67.         tcp_accept(pcb,tcp_server_accept);                               // 設置有連接請求時的回調函數(shù)  
  68. }
復制代碼

全部代碼51hei下載地址:
STM32F107-LWIP.7z (7.2 MB, 下載次數(shù): 71)

評分

參與人數(shù) 2黑幣 +55 收起 理由
清魂默 + 5 贊一個!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:328014 發(fā)表于 2021-4-29 23:27 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

板凳
ID:691028 發(fā)表于 2022-4-19 09:02 | 只看該作者
其中沒有找到LAN8720的驅動,不知道是不是我看漏了
回復

使用道具 舉報

地板
ID:640695 發(fā)表于 2022-12-6 16:13 | 只看該作者
能求一個這部分原理圖嗎 我都弄一禮拜了 一直Ping不通 (lan8720外接20MHZ   RMII)
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一二三四在线视频观看社区 | 国产特级毛片aaaaaa喷潮 | 亚洲国产精品一区二区第一页 | 一级片免费视频 | av一区二区三区四区 | 精品免费在线 | 天天干天天草 | 日韩欧美久久精品 | 九色 在线| 亚洲国产成人精品女人久久久 | 亚洲视频免费在线看 | 丁香色婷婷 | 精品99久久久久久 | 久久久久久中文字幕 | 日韩成人免费视频 | 精品一区二区电影 | 国产日韩欧美精品一区二区三区 | 中文字幕精品视频 | 91精品一区二区三区久久久久 | 暖暖成人免费视频 | 中文字幕一区二区三区精彩视频 | 久久中文视频 | 日韩成人精品一区 | 日本不卡视频在线播放 | 91精品国产91久久久久久 | 国产精品日韩欧美一区二区 | 欧美高清视频 | 99久久99久久精品国产片果冰 | 久久综合久久久 | 国产目拍亚洲精品99久久精品 | 色偷偷888欧美精品久久久 | 亚洲精品一区二区久 | 欧美国产一区二区三区 | 免费看片国产 | 精精国产xxxx视频在线播放 | 成人激情视频免费观看 | 在线国产一区 | 精品91久久久 | 亚洲视频在线观看一区二区三区 | 美日韩精品 | 久草视频在线播放 |