久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

STM32H7+W5500以太網(wǎng)方案:從硬件連接到TCP/UDP實戰(zhàn)

STM32H7+W5500以太網(wǎng)方案:從硬件連接到TCP/UDP實戰(zhàn) 簡介這是一份面向嵌入式開發(fā)者的STM32H7與W5500以太網(wǎng)驅(qū)動移植學習資源適用于工業(yè)控制、物聯(lián)網(wǎng)節(jié)點及需要穩(wěn)定網(wǎng)絡連接的實時通信場景。W5500集成以太網(wǎng)MAC/PHY與TCP/IP協(xié)議棧通過SPI總線與STM32H7對接資源圍繞驅(qū)動移植展開涵蓋SPI底層驅(qū)動、W5500初始化與網(wǎng)絡參數(shù)配置、Socket創(chuàng)建、數(shù)據(jù)收發(fā)函數(shù)、客戶端與服務器模式示例以及相關頭文件和工程配置??蓭椭斫饧拇嫫髯x寫、TCP三次握手與四次揮手、中斷響應和DMA傳輸優(yōu)化等關鍵知識點。壓縮包為rar格式大小約21.4MB上游未提供文件清單具體文件數(shù)及類型分布暫不明確實際內(nèi)容以包內(nèi)代碼工程為準。目前已有1406人學習適合承擔STM32H7網(wǎng)絡功能開發(fā)任務、希望快速上手W5500的中級嵌入式開發(fā)者。1. 為什么是 STM32H7 W5500從一塊網(wǎng)卡芯片聊起做嵌入式聯(lián)網(wǎng)的人遲早會遇到一個尷尬場景STM32H7 這顆芯片本身自帶 MAC但想要讓它穩(wěn)定上網(wǎng)還得外掛一顆 PHY、移植 TCP/IP 協(xié)議棧、調(diào)整內(nèi)存池稍微復雜一點的 UDP/TCP 收發(fā)就能把人折騰到半夜。前兩年做一個數(shù)據(jù)采集設備甲方要求把傳感器數(shù)據(jù)通過以太網(wǎng)上報我在 STM32H7 上跑了 LwIP第一版光內(nèi)存崩潰就調(diào)了三天。后來換成外掛 W5500把協(xié)議棧從 CPU 上整個剝掉三天內(nèi)從畫板到 ping 通這個組合就成了我后續(xù)做聯(lián)網(wǎng)設備的默認起手式。STM32H7 以太網(wǎng) W5500 程序.rar 這類工程之所以被反復下載是因為它繞開了「MCU 上跑協(xié)議?!惯@條最陡的學習曲線。W5500 是一顆帶硬件 TCP/IP 協(xié)議棧的以太網(wǎng)芯片MCU 只通過 SPI 讀寫寄存器ARP、IP、ICMP、TCP、UDP 都在芯片內(nèi)部完成。適合誰適合把大量精力放在業(yè)務邏輯和穩(wěn)定性的開發(fā)者——工業(yè)數(shù)據(jù)采集、設備遠程監(jiān)控、串口轉(zhuǎn)以太網(wǎng)網(wǎng)關這類場景要的不是炫技而是能長時間跑在產(chǎn)線上的可靠性。讀完這篇你會清楚整套方案的原理、接線、移植步驟和常見坑點。2. W5500 與 STM32H7 的硬件鏈路SPI 接口與電平匹配2.1 硬件協(xié)議棧的工作原理誰在替你處理 TCP/IP 報文W5500 內(nèi)部集成了 MAC 和 PHY并在此基礎上用邏輯電路實現(xiàn)了完整的 TCP/IP 協(xié)議棧。MCU 需要做的不是解析報文而是通過 SPI 接口讀寫 W5500 內(nèi)部的寄存器與數(shù)據(jù)緩沖區(qū)。發(fā)數(shù)據(jù)時把應用數(shù)據(jù)寫進 W5500 的 TX Buffer然后發(fā)一條 SEND 命令收數(shù)據(jù)時檢測到接收事件后從 RX Buffer 把數(shù)據(jù)讀出來。TCP 的三次握手、重傳計時、ACK 應答、分片重組這些邏輯在芯片內(nèi)部完成不消耗 MCU 的 Flash 和 RAM。STM32H7 在這個方案里的角色被簡化成了「搬數(shù)據(jù)的人」。SPI 的時鐘頻率、FIFO 深度、DMA 能力都會影響吞吐量但即便不用 DMA、純輪詢寫 SPI在 20MHz 的 SPI 時鐘下也能輕松跑出幾 Mbps 的 TCP 吞吐量足夠覆蓋絕大多數(shù)工業(yè)數(shù)據(jù)采集場景。和 STM32H7 自帶 MAC 外部 PHY 的方案相比W5500 的優(yōu)勢不是性能而是確定性和開發(fā)效率——省去了 LwIP 的內(nèi)存池調(diào)優(yōu)也省去了協(xié)議棧對 Cortex-M7 緩存一致性的特殊處理。2.2 最小硬件連接七根線加一個復位別小看中斷線W5500 與 MCU 的通信最少只需要七根線四根 SPI、一根片選、一根復位、一根中斷。注意這里的 SPI 只能做主模式且片選必須用 GPIO 軟件控制不能用 STM32H7 的硬件 NSS。W5500 引腳功能STM32H7 示例引腳說明SCSSPI 片選PB7GPIO 輸出低有效整個幀傳輸期間保持拉低SCLKSPI 時鐘PF7SPI5_SCK速率建議 20MHz 以下MOSI主出從入PF9SPI5_MOSIMISO主入從出PF8SPI5_MISO注意上拉RST復位PC6低有效需保證上電復位時序INT中斷輸出PC7下降沿有效建議接外部中斷輸入3.3V / GND電源3.3V / GND就近放 10uF 0.1uF 去耦電容引腳號以你手頭開發(fā)板的原理圖為準這里給的是 STM32H743 的 SPI5 默認復用關系。有一個細節(jié)容易被忽略W5500 的 MISO 引腳在 SPI 通信空閑時是高阻態(tài)如果 STM32H7 的 SPI 配置了硬件去拉低 MISO會導致第一個字節(jié)讀到錯誤數(shù)據(jù)。最省心的做法是在 MISO 上加一個 4.7kΩ 上拉電阻或者在 STM32CubeMX 里把 MISO 配置為 GPIO 輸入上拉模式。2.3 上電時序與復位引腳W5500 不認 SPI 的常見第一個原因很多人拿到工程直接下載發(fā)現(xiàn) SPI 讀寫寄存器全是 0xFF第一反應是 SPI 配置錯了實際上大概率是復位時序沒滿足。W5500 要求 VCC 穩(wěn)定之后RST 引腳保持低電平至少 500us才能完成內(nèi)部 PHY 校準和寄存器初始化。如果 MCU 的復位引腳和 W5500 的 RST 直接連在一起或者 RST 懸空沒有上拉上電瞬間可能出現(xiàn)不可預測的初始化狀態(tài)。常見做法是給 RST 引腳加一個 10kΩ 上拉電阻和 0.1uF 對地電容形成硬件 RC 上電復位。同時軟件上在初始化 SPI 之前先把 RST 拉低、延時 10ms、再拉高、再延時 100ms等 W5500 內(nèi)部邏輯完全穩(wěn)定后再訪問寄存器。判斷 W5500 是否就緒有一個標準動作讀版本寄存器正確值應當是 0x04。如果讀回來是 0xFF 或 0x00先查復位時序再查 SPI 的極性和相位這比盲目調(diào)代碼高效得多。3. 把 .rar 里的工程跑起來從解壓到 ping 通3.1 工程里真正要關心的文件驅(qū)動庫、平臺適配與業(yè)務代碼解壓一份 STM32H7 W5500 的 .rar 工程目錄往往混合著 HAL 庫、驅(qū)動中間層和用戶代碼。不要去翻每一行先找三類文件W5500 協(xié)議棧驅(qū)動、平臺適配層、網(wǎng)絡配置頭文件。最常見的是這套結構w5500.c / w5500.h 負責寄存器讀寫socket.c / socket.h 負責封裝 Socket APIwizchip_conf.c 里是協(xié)議棧入口還有你自己寫的 spi_stm32h7.c 用來對接 STM32H7 的 SPI 外設。需要改的核心只有平臺適配層和網(wǎng)絡參數(shù)配置。協(xié)議棧驅(qū)動是標準的不要動。你自己寫的 SPI 讀寫函數(shù)需要滿足驅(qū)動庫要求的三個原語CS 控制、SPI 單字節(jié)收發(fā)、可能還有 SPI 高速連續(xù)讀寫。驅(qū)動庫在讀寫 RX/TX Buffer 時會用你提供的原語一次搬幾十到幾百字節(jié)如果你的 SPI 讀寫函數(shù)里面每個字節(jié)都重新配置一次時鐘速度會慢得離譜。我一般會把 SPI 初始化放在一個單獨的函數(shù)里只做一次然后通過一個純裸的收發(fā)函數(shù)供驅(qū)動調(diào)用。3.2 修改平臺適配層SPI 時鐘極性與 W5500 幀格式W5500 支持 SPI Mode 0CPOL0, CPHA0和 Mode 3CPOL1, CPHA1絕大多數(shù)官方例程默認 Mode 0。你用 STM32CubeMX 配置 SPI 時選擇低速主模式、8 位數(shù)據(jù)長度、MSB First極性選 Low相位選 1Edge片選選 Software就能和 W5500 對上。/* stm32h7_w5500_spi.c */ #include main.h static SPI_HandleTypeDef hspi_w5500; void w5500_spi_init(void) { hspi_w5500.Instance SPI5; hspi_w5500.Init.Mode SPI_MODE_MASTER; hspi_w5500.Init.Direction SPI_DIRECTION_2LINES; hspi_w5500.Init.DataSize SPI_DATA_SIZE_8BIT; hspi_w5500.Init.CLKPolarity SPI_POLARITY_LOW; /* CPOL 0 */ hspi_w5500.Init.CLKPhase SPI_PHASE_1EDGE; /* CPHA 0 */ hspi_w5500.Init.NSS SPI_NSS_SOFT; /* CS 用 GPIO 控制 */ hspi_w5500.Init.BaudRatePrescaler SPI_BAUDRATEPRESCALER_16; /* 約 13.5MHz 216MHz */ hspi_w5500.Init.FirstBit SPI_FIRSTBIT_MSB; if (HAL_SPI_Init(hspi_w5500) ! HAL_OK) { while (1); /* 初始化失敗直接卡住便于定位 */ } } static void spi_tx_byte(uint8_t data) { HAL_SPI_Transmit(hspi_w5500, data, 1, HAL_MAX_DELAY); } static uint8_t spi_rx_byte(void) { uint8_t rx 0xFF; HAL_SPI_Receive(hspi_w5500, rx, 1, HAL_MAX_DELAY); return rx; }這里每個字節(jié)都調(diào)用一次 HAL_SPI_Transmit 其實不是最優(yōu)的但勝在直觀可靠。HAL_SPI_Transmit 在 H7 上每次調(diào)用有固定的狀態(tài)機開銷實測在 13.5MHz 下達到 3Mbps 左右的吞吐量沒有問題。W5500 的 SPI 幀由三部分組成2 字節(jié)地址段、1 字節(jié)控制段、N 字節(jié)數(shù)據(jù)段。地址段指定寄存器偏移控制段里的 bit5 表示讀還是寫bit4-3 選擇訪問的塊——通用寄存器、Socket 寄存器、TX Buffer 或 RX Bufferbit2-0 設為 000 表示可變數(shù)據(jù)長度模式。以下是我在工程里實際使用的幀讀寫函數(shù)可以直接替換驅(qū)動庫底層的 SPI 原語/* W5500 片選控制換到你的工程時把引腳宏替換成實際定義的 GPIO */ #define W5500_CS_LOW() HAL_GPIO_WritePin(GPIOC, GPIO_PIN_6, GPIO_PIN_RESET) #define W5500_CS_HIGH() HAL_GPIO_WritePin(GPIOC, GPIO_PIN_6, GPIO_PIN_SET) void w5500_read_frame(uint32_t addr, uint8_t *buf, uint16_t len) { uint8_t ctrl (((addr 16) 0x03) 3) | (1 5); W5500_CS_LOW(); spi_tx_byte((uint8_t)(addr 8)); spi_tx_byte((uint8_t)(addr 0xFF)); spi_tx_byte(ctrl); /* 讀指令 塊選擇 變長模式 */ while (len--) { *buf spi_rx_byte(); } W5500_CS_HIGH(); } void w5500_write_frame(uint32_t addr, uint8_t *buf, uint16_t len) { uint8_t ctrl (((addr 16) 0x03) 3) | (0 5); W5500_CS_LOW(); spi_tx_byte((uint8_t)(addr 8)); spi_tx_byte((uint8_t)(addr 0xFF)); spi_tx_byte(ctrl); while (len--) { spi_tx_byte(*buf); } W5500_CS_HIGH(); }注意 ctrl 字節(jié)的低三位固定為 000這是 VDM 變長數(shù)據(jù)模式。塊選擇位來自 addr 的高位這是在驅(qū)動庫里約定好的 32 位地址編碼規(guī)則。片選必須在整個幀傳輸期間保持低電平不能每個字節(jié)都拉一次 CS否則 W5500 會認為每次都是新的事務。如果你發(fā)現(xiàn)讀回來的數(shù)據(jù)只有第一個字節(jié)正確、后續(xù)全是 0xFF九成是片選時序問題。3.3 網(wǎng)絡參數(shù)初始化MAC、IP、掩碼、網(wǎng)關缺一不可把 W5500 驅(qū)動跑起來之后下一步是配置網(wǎng)絡參數(shù)。官方驅(qū)動的做法是先給每個 Socket 分配 TX/RX 緩沖區(qū)大小再寫入 MAC、IP、掩碼和網(wǎng)關。注意 MAC 地址不要用示例里的默認值也不要和局域網(wǎng)里其他設備沖突否則會出現(xiàn)間歇性 ARP 失敗。這里給出最小初始化代碼/* 網(wǎng)絡參數(shù)結構體 */ wiz_NetInfo g_net_info { .mac {0x02, 0x00, 0x00, 0x12, 0x34, 0x56}, .ip {192, 168, 1, 233}, .sn {255, 255, 255, 0}, .gw {192, 168, 1, 1}, .dns {192, 168, 1, 1}, .dhcp NETINFO_STATIC }; static uint8_t g_tx_buf[16 * 1024]; static uint8_t g_rx_buf[16 * 1024]; void network_init(void) { uint8_t txsize[8] {16, 0, 0, 0, 0, 0, 0, 0}; /* Socket0 獨占 16KB TX */ uint8_t rxsize[8] {16, 0, 0, 0, 0, 0, 0, 0}; /* Socket0 獨占 16KB RX */ /* 復位時序拉低保持 10ms再拉高等待內(nèi)部邏輯就緒 */ HAL_GPIO_WritePin(GPIOC, GPIO_PIN_5, GPIO_PIN_RESET); HAL_Delay(10); HAL_GPIO_WritePin(GPIOC, GPIO_PIN_5, GPIO_PIN_SET); HAL_Delay(100); wizchip_init(txsize, rxsize, g_tx_buf, g_rx_buf); wizchip_setnetinfo(g_net_info); /* 讀回來核對避免結構體字節(jié)序?qū)е碌刂穼懛?*/ wiz_NetInfo verify; wizchip_getnetinfo(verify); }txsize 數(shù)組的單位是 KB16 表示 16KB。W5500 芯片內(nèi)部總共有 32KB 緩沖16KB 給 TX、16KB 給 RX所以 g_tx_buf 和 g_rx_buf 各分配 16KB。如果后續(xù)要開多個 Socket需要按比例拆分這些緩沖區(qū)每個 Socket 都要有獨立的 TX 和 RX。wizchip_init 的參數(shù)順序是 txsize、rxsize、txbuf、rxbuf很多人第一次寫反導致后續(xù) socket() 調(diào)用直接返回錯誤這一行值得反復核對。完成以上兩步后編譯下載PC 端配置同一網(wǎng)段的靜態(tài) IP比如 192.168.1.100ping 192.168.1.233。能通說明硬件鏈路、SPI、寄存器收發(fā)都正常ping 不通不要急著看代碼先用示波器量 SCLK 引腳有沒有時鐘輸出再量 RST 引腳電平是否被 W5500 拉低。硬件問題占了首輪調(diào)試的七成。4. 關鍵參數(shù)與調(diào)試技巧從 ping 通到 TCP/UDP 收發(fā)4.1 Socket 初始化與監(jiān)聽TCP 服務端連不上的常見原因W5500 的 Socket 操作流程和 BSD Socket 非常接近先 socket() 創(chuàng)建連接設置協(xié)議模式和本地端口然后 listen() 或 connect()。對 TCP 服務端來說最容易翻車的點是 socket() 返回成功就直接 while 循環(huán)里寫 send/recv沒有檢查 Socket 狀態(tài)。W5500 不會自己進入監(jiān)聽狀態(tài)你必須顯式調(diào)用 listen()并且在每次 Accept 之前確認狀態(tài)寄存器已經(jīng)是 SOCK_ESTABLISHED。#define TCP_SOCKET 0 void tcp_server_task(void) { if (socket(TCP_SOCKET, Sn_MR_TCP, 6000, 0) ! SOCK_OK) { return; /* Socket 打開失敗多半是緩沖區(qū)分配不足 */ } listen(TCP_SOCKET); while (1) { switch (getSn_SR(TCP_SOCKET)) { case SOCK_ESTABLISHED: { uint8_t buf[1024]; int16_t len recv(TCP_SOCKET, buf, sizeof(buf)); if (len 0) { send(TCP_SOCKET, buf, len); /* 回顯 */ } break; } case SOCK_CLOSE_WAIT: /* 對端關閉必須主動 disconnect 再 close否則 Socket 卡死 */ disconnect(TCP_SOCKET); close(TCP_SOCKET); break; case SOCK_CLOSED: /* Socket 被釋放后重新監(jiān)聽 */ socket(TCP_SOCKET, Sn_MR_TCP, 6000, 0); listen(TCP_SOCKET); break; default: break; } } }socket() 的第三個參數(shù) 6000 是本地端口第四個參數(shù) 0 是標志位通常不用。這里的狀態(tài)機是我在工程里一直沿用的寫法核心思想是每個 case 都要有對應的處置動作不能只處理 SOCK_ESTABLISHED。如果 TCP 客戶端連不上先讀一下 getSn_SR() 返回什么值一直停在 SOCK_INIT 說明 listen 沒生效停在 SOCK_CLOSED 說明 Socket 被斷開后沒有重新初始化。端口被占用時 socket() 本身就會失敗這時檢查是不是有上一個連接沒有 close。4.2 UDP 收發(fā)不需要握手但要注意 IP 與端口的來源UDP 的 Socket API 更簡單因為不需要 listen 和 accept。調(diào)用 socket() 指定 Sn_MR_UDP 和端口后直接用 recvfrom 和 sendto。一個容易忽略的點sendto 必須傳入對端的 IP 和端口這個信息只能從 recvfrom 返回的參數(shù)里拿不能自己編。如果你的設備需要主動向服務器發(fā)送數(shù)據(jù)目標 IP 和端口寫死沒問題如果是應答式協(xié)議請一定保存 recvfrom 回調(diào)里返回的 remote_ip 和 remote_port。#define UDP_SOCKET 1 void udp_echo_task(void) { uint8_t buf[512]; uint8_t remote_ip[4]; uint16_t remote_port; if (socket(UDP_SOCKET, Sn_MR_UDP, 6001, 0) ! SOCK_OK) { return; } while (1) { int16_t len recvfrom(UDP_SOCKET, buf, sizeof(buf), remote_ip, remote_port); if (len 0) { sendto(UDP_SOCKET, buf, (uint16_t)len, remote_ip, remote_port); } } }recvfrom 的返回值是收到的數(shù)據(jù)長度失敗時返回 SOCKERR_SOCKINVALID 這類負數(shù)。注意 remote_ip 是一個 4 字節(jié)數(shù)組remote_port 是 16 位無符號整數(shù)這兩個參數(shù)在 recvfrom 里是輸出型參數(shù)。UDP 模式下如果長時間沒有任何數(shù)據(jù)Socket 會保持打開狀態(tài)不需要像 TCP 那樣處理斷開事件所以上面的代碼可以一直輪詢。實測這個回顯邏輯在 13.5MHz SPI 下 UDP 吞吐量約 4Mbps遠低于網(wǎng)絡帶寬瓶頸但做輕量級設備控制足夠。4.3 中斷與輪詢的選擇什么時候用回調(diào)什么時候用查詢W5500 有一個 INT 輸出引腳當 Socket 發(fā)生接收事件、連接建立、斷開等狀態(tài)變化時INT 會拉低。兩種處理方式各有適用場景中斷方式響應快但你在回調(diào)函數(shù)里不能做耗時操作否則會阻塞其他中斷輪詢方式實現(xiàn)簡單但 CPU 需要頻繁讀寄存器。我的習慣是單 Socket 且數(shù)據(jù)流量不高的場景直接用 while 循環(huán)輪詢 Socket 狀態(tài)代碼簡單不容易出錯多 Socket 或者對響應延遲有要求的場景把 INT 接到外部中斷中斷服務函數(shù)里只置一個標志位實際收發(fā)放到主循環(huán)里做。判斷中斷源的方式是讀 Sn_IR 寄存器比如 Sn_IR_RECV 表示有數(shù)據(jù)到達處理完后寫回該寄存器清除標志。如果不清除INT 引腳會一直保持低電平后續(xù)中斷再也進不來。這個清標志的操作必須放在讀取數(shù)據(jù)之前還是之后我的做法是先讀數(shù)據(jù)再清標志因為清完標志后如果又有新數(shù)據(jù)到達會重新置位。如果先清標志再讀數(shù)據(jù)數(shù)據(jù)讀走之前新數(shù)據(jù)到了標志位會被置上但你可能讀漏一次。順序反了就是偶發(fā)丟包的來源。5. STM32H7 W5500 避坑指南5 條值得記錄的踩坑實錄5.1 現(xiàn)象能 ping 通但 TCP 連接總是超時現(xiàn)象是最典型的PC 能 ping 通開發(fā)板但用網(wǎng)絡調(diào)試助手連接 TCP 端口時一直沒有回應。原因ping 走的是 ICMP 協(xié)議W5500 硬件協(xié)議棧會自動回包但這并不代表你的 Socket 已經(jīng)被正確配置。應用層沒有調(diào)用 socket()、listen()或者 socket 打開失敗后沒有做任何處理都會導致端口沒有任何響應。解決先在初始化代碼里檢查 socket() 的返回值確保等于 SOCK_OK然后打印 getSn_SR() 的狀態(tài)值如果一直是 SOCK_INIT 說明 listen() 沒有生效。另外一個常見問題socket() 里填的端口號是主機字節(jié)序還是網(wǎng)絡字節(jié)序在 W5500 驅(qū)動里端口號直接傳 uint16 即可不要手動調(diào)用 htons否則本來監(jiān)聽 6000 端口實際卻變成了 0x1770 反轉(zhuǎn)后的值PC 端怎么連都連不上。5.2 現(xiàn)象SPI 讀回全是 0xFF版本寄存器讀到 0xFF現(xiàn)象調(diào)用 wizchip_init 之前的讀版本操作返回 0xFF或者讀 MAC 地址全空。原因SPI 的極性和相位與 W5500 不匹配尤其很多人移植時直接復制了之前驅(qū)動 OLED 或 Flash 的 SPI 配置。W5500 支持 Mode 0 和 Mode 3但如果你用的是 Mode 1 或 Mode 2數(shù)據(jù)會在錯誤的邊沿被采樣讀回來的全是 1。解決確認 STM32CubeMX 里 SPI 設置為 CPOLLow、CPHA1Edge即 Mode 0。如果你在別的芯片上跑過 W5500 且當時用的是 Mode 3那也要和現(xiàn)在的配置對齊不要混用。驗證手段永遠先讀 VERSION 寄存器讀到 0x04 再繼續(xù)往下調(diào)這是最省時間的判斷標準。5.3 現(xiàn)象數(shù)據(jù)偶發(fā)錯亂TCP 連接頻繁斷開現(xiàn)象設備長時間運行后收到的數(shù)據(jù)出現(xiàn)字節(jié)錯位甚至 TCP 連接直接斷開重連。原因多半是中斷處理函數(shù)里做了過重的工作。W5500 的 INT 引腳下降沿觸發(fā)后如果你在中斷里直接調(diào)用 recv() 并且 recv() 內(nèi)部又通過 SPI 讀取大量數(shù)據(jù)整個 SPI 傳輸期間其他中斷會被阻塞此時又有新數(shù)據(jù)到達導致 INT 引腳拉低但標志位還沒清除事件就丟了。解決中斷服務函數(shù)里只做一件事——置一個 volatile 標志位主循環(huán)檢測到標志后調(diào)用數(shù)據(jù)處理函數(shù)處理完畢再清除 Sn_IR。另一個隱蔽的坑是 recv() 讀完之后沒有正確回寫 Sn_RX_RD 寄存器導致 W5500 認為數(shù)據(jù)沒被讀走緩沖區(qū)被占滿后停止接收表現(xiàn)就是連接還在但數(shù)據(jù)不再更新。建議讀完一段數(shù)據(jù)后立即調(diào)用 setSn_RX_RD() 和 command(Sn_CR_RECV) 收尾。5.4 現(xiàn)象換一塊開發(fā)板就失聯(lián)甚至第一次上電就失敗現(xiàn)象同一個程序在這塊板子上跑得好好的換一塊同型號板子就不通或者重新上電后進入不可用狀態(tài)。原因W5500 的 RST 引腳懸空或者被板上的電容影響導致復位信號不完整。如果 RST 引腳沒接上拉電阻MCU 引腳默認輸入狀態(tài)時電平不確定W5500 可能一直處于復位模式。解決確認 RST 引腳接了 10kΩ 上拉到 3.3V并并聯(lián) 0.1uF 電容到地。軟件上在 SPI 初始化之前執(zhí)行一次硬復位拉低 10ms拉高再等 100ms。如果你用的板子把 W5500 的 RST 接到了 MCU 的復位引腳上那么 MCU 每次復位都會帶動 W5500 復位這沒問題但要確保 MCU 的復位時間足夠長否則 W5500 還沒完成內(nèi)部初始化MCU 就開始訪問 SPI 了。5.5 現(xiàn)象ARP 解析偶爾失敗ping 時而通時而不通現(xiàn)象設備剛上電時 ping 不通等幾秒又通了或者局域網(wǎng)內(nèi)多臺設備同時出現(xiàn)時ARP 表現(xiàn)不穩(wěn)定。原因MAC 地址沖突。很多人下載的示例工程里 MAC 地址是寫死的同一個值比如 0x00 0x08 0xDC 開頭的那串兩臺設備在同一局域網(wǎng)就會出現(xiàn) ARP 緩存互相覆蓋表現(xiàn)就是時通時斷。解決為每臺設備生成唯一 MAC。STM32H7 內(nèi)部有 96 位唯一 IDUID取低 3 字節(jié)填充到 MAC 地址的末三位前三位保持廠商前綴不變。這樣即使幾十臺設備同時接入同一個交換機MAC 沖突的概率也極低。順帶提醒改 MAC 后需要重新上電才生效W5500 只在初始化時把 MAC 寫入 SHAR 寄存器。6. 進階玩法把 W5500 從能用用到順手W5500 的入門玩法是數(shù)據(jù)回顯但真正決定這個方案價值的是三件事多 Socket 的緩沖區(qū)切割、DHCP 自動獲取 IP、以及把 W5500 做成固件升級通道。多 Socket 的緩沖區(qū)分配很容易理解W5500 總共有 16KB TX 和 16KB RX你需要通過 txsize 和 rxsize 數(shù)組把它們分配給 8 個 Socket。以下是我常用的分配策略Socket 數(shù)量TX 大小RX 大小適用場景1 個16KB16KB大包傳輸TCP 高速上傳2 個8KB / 8KB8KB / 8KB一個 TCP 一個 UDP4 個4KB / 4KB / 4KB / 4KB同左多路傳感器上報8 個2KB / 2KB ...同左長時間保持多個 TCP 連接注意一個 Socket 的 TX 和 RX 大小可以不同但芯片正常工作時不建議出現(xiàn) 0KB 的情況否則對應 Socket 打開會失敗。分配完緩沖區(qū)后記得重新調(diào)用 wizchip_init并且不能在程序運行中途隨意改只能復位后重新初始化。DHCP 功能可以省去手動配置靜態(tài) IP 的麻煩。驅(qū)動庫里提供了 DHCP 客戶端初始化時把 g_net_info 的 dhcp 字段設為 NETINFO_DHCP然后周期調(diào)用 DHCP_run() 直到分配成功。實際項目里我一般給設備一個默認靜態(tài) IP同時保留 DHCP 模式開關通過撥碼或配置項切換這樣既能在開發(fā)時快速調(diào)試又能在現(xiàn)場免配置部署。我最近做的一個項目中還把 W5500 的 TCP 服務端接到了 IAP 升級流程里設備啟動時進入一個短暫窗口PC 端通過 TCP 連接把 bin 文件分幀發(fā)給設備設備收到后寫入外部 SPI Flash全部完成后跳轉(zhuǎn)到應用區(qū)實現(xiàn)遠程升級。W5500 在這里比 MCU 自帶 MAC 方案有天然優(yōu)勢——Bootloader 不需要引入?yún)f(xié)議棧只依賴一個 Socket API 就能實現(xiàn)文件接收代碼量少風險低。這個方向適合有產(chǎn)品化需求的開發(fā)者重點投入一個是批量的設備離線升級另一個是設備日志遠程抓取兩者的技術底座都是這套 Socket API。如果非要說一條血淚經(jīng)驗那就是先把 VERSION 寄存器讀出來再寫業(yè)務代碼先 ping 通再寫收發(fā)邏輯先調(diào)好狀態(tài)機再開優(yōu)化。這十幾年做以太網(wǎng)設備的經(jīng)驗告訴我W5500 的坑基本都在硬件時序和初始化順序上軟件本身反而異常穩(wěn)定。按照上面的步驟走你也能少走那些我已經(jīng)替你們蹚過的彎路希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
超碰538| 人人操,操人人| 久久曰曰| 大香蕉五月天| 欧美成人四级在线播放| 人人摸.人人色| 嗯嗯啊啊日韩精品| 91熟女视频网| 欧亚日韩三区| 色诱avtt| 青青草色插素人| 乱人伦 国语对白:视频直接看| 中国国产精品一区视频| 亚洲欧美日韩制服另类| 9精品久久久久| 亚州久久9| 天天弄天天操| 中文字幕成人| 涩涩久久精品| 97超碰逼| 97 九色| 另类av天堂| 久久天堂婷婷网| 国产懂色精品国产av| 欧美一二三级精品在线| 精品成人无码| 日美免费黄片| 国产日韩欧美亚洲精品95| 国产一区二区三区高清视频| 久久成人国产| 九色黄站| 久青草影院| 丰满少妇高潮无码| 日韩一区二区精彩视频| 诱惑人妻欧美一区在线播放| 欧美精品久久久久久久丰满| 久久久久密臀视频| 黄骗免费网站| 超碰97欧美日韩| 很黄很污的免费网站| 亚洲蜜臀视频精品久久| 奇米狠999| 成人无码欧美一级A片狼牙直播| 亚洲女毛多水多21P| 欧美在线视频观看一二三四区高清| 乳欲人妻办公室奶水| 人妻 欧美亚洲| 久久激情网| 久操97| av大香蕉网站| 国产激情综合五月久久| 精品国产一区二区三区四区在线看| 久草色悠悠在线视频| 亚洲97久久精品亚洲| 久伊人网78| 黄色小说亚洲| 人妻熟女一区二区三区视频| 日日夜夜干| 欧美一级AAAAAAA| 妇女乱色二区| 久久久一区二区三区麻豆| 中文字幕一区 二区三四五 区日 日骚 | 亚洲国产精品无码AV在线| 67914在线兔费成人视频| 97久久精品国产| 色婷婷成人| 国产亚洲精品农村妇女| av网站在线观看了| 粉嫩不卡一区二区性爱| av在线观看不卡网站| 国产精品久久久久久久久久久久久久吹 | 久久亚洲AV无码专区首页| 欧美啪啪啪91| 亚洲骚逼少妇| 国产精品com| 天天影视综合色| 精品人妻一区二区三区视频| 美女黑人91神马| 任我爽视频在线观看| 久射吧| 在线小视频| 国模91| 99这里都是精品| 日韩国产十八禁| 91久久18禁| 丝袜性亚洲| 99爱久久视频频| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 97人人夜夜精品视频| 成人亚欧免费视频| 激情自拍 校园春色| 大香蕉啪啪啪| 中文字幕精品久久久久人妻红杏ⅰ| 最新加勒比丝袜在线| 按摩中文字幕| 91青青| 操逼操2| 中文字幕一二区二三区人妻专区| 桃色五月天| 小草精彩毛片| 超碰4A| 看全色黄大色大片免费视频| 日本网色| 99国内熟女露脸视频| 久9九综合在线| 91情色| 日韩中文字幕在线视频观看| 屌妞视频久久久久久久久久久久| 色与欲影视| 亚洲色阁| 2001天天操| 久久网亚洲| 成人a大片在线观看| 久久草草欧美精品| 欧美一级A一级a爱片久久| 377p欧洲日本亚洲大胆| 亭亭在线资源| 国产精品自在自拍视频| 97就爱干| 国产女人91精品嗷嗷嗷嗷| 裸模AV女优| 美女啊啊啊啊啊啊| 亚洲精品一区二区三区新线路| 91在线丝袜| 91在线视频观看国产| 啊好爽受不了无码| 日韩卡一卡二卡三在线| 97欧美久久久久久久| 26uuu国产成人综合| 久久国语| 色999人与兽| 欲香欲色综合天天伊人| 亚洲熟妇丝袜在线观看| 一区二区精品日韩欧美在线观看| 乱老熟女一区二区三区| 一区二区三区激情在线观看| 啊啊嗯嗯好爽| 国产中文福利| 久操大香蕉手机视频在线看| 日产操逼| 国产伊人精品在线| 99色骚| 国产伦精品一区二区三区在线观| 91观看 国产白丝| 欧美在线官网| 亚洲第一成人影院色播| 美国日韩黄片| 久久αⅴ| 色天天野狼综合社区| 99在线精品观看99| 色色香蕉| 亚洲无码国产精品久久| 综合 亚洲 欧美| 欧亚久久偷拍视频| 精品久久久无码| 九月激情婷婷| 婷婷av在线中文字幕| 亚洲日韩精品一区二区| 在线电影亚洲色图| 91N综合在线| 日本欧美成人片AAAA| 日欧亚洲二三区大片不卡| 成人一二三区| 2020中文字幕在线观看| 后入式视频国产自| 和协影院中文字幕三区| 91美腿丝袜在线观看| 亚洲精品人妻吞精av| 国产精品一区午夜福利| 成人乱人伦一区二区| 一级做a爰片性色毛片久久| 久久久久久97| 99人妻碰碰碰久久久久禁片| 天堂69亚洲精品中文字| 国产欧美日韩一区二区三区| 亚洲熟女中文字幕在线| 99热成人| 日韩精品99久久久久久中文字幕| 插入综合网| 东京日日夜夜| 欧美一区二区三区大综合| 曰本精品久久久| 97色妞| 色爽——AV| 久久有码视频| 日本成人A片网站| 国产亚洲色婷婷久久99精品91葵花宝典 | WWW啪啪的com| 开心五月婷婷激情| 情色五月天久久久| 日本 情色 1区| 男人天堂2030| 亚洲欧美综合区自拍另类| 在线观看免费视频国产| 日本日逼视频网| 亚洲淫乱骚妇AV| 狠狠躁日日躁夜夜躁A| 99精品无码| 天天视频黄| 色情乱伦AV| 欧美综合自拍成人自拍第二十页| 骚女高跟AV在线| 欧美一区二区福利在线| 欧美有码亚洲中文字幕一区二区三区四区| 4虎在线视频| 成人小电影网站tex| 八人操人人摸人人看| 久久人妻视频网| av草草在线电影| www.av家庭乱伦| 人人妻人人色| 欧美少妇人妻| 久久久久成人蜜桃精品| 偷拍新久久| 思思热免费在线视频| 国产亚卅97| 亚洲高清自拍| 久草资源欧美在线视频| 国产超碰AV在线精品| 中文字幕 码 自拍 视频 区| 亚州色图第三区| 日本天堂在线播放| 桃花色综合影院| 中文一区二区婷婷视频| 操一操摸一摸| 天美传媒Av在线| 亚洲一区二区三区不卡国产欧美| 伊人 俄罗斯 a v| 操www| 欧美日韩精品久久| 免费a在线播放v| 天堂涩涩| 真实高潮91| 无码精品久久| 欧美性视频二区三区| 无码人妻丰满热妇又大又粗| 欧美性91| 无码九九| 亚洲综合在线高清| 男人的天堂一区三区| 久久综合资源一区二区| 亚洲免费97免费| 免费中文在线| 色欲三区| 91狠狠综合网| 久久久久大香青草精品综合| 婷婷五月天激情小说| 日本欧美中文字幕| 国产又长又大又粗的视频| 中出91| 亚洲欧洲综合成人av一区| 久久黄黄黄| 又黄又粗又硬又长又大| 99热色这里只有精品| 性在久久久久久| 99re黄| 玖玖爱伊人玖玖爱| 欧美日韩天堂| 91国产丝袜美女| 91网18| 亚洲日本大香蕉1| 亚洲少妇激情视频| 乱老熟女一区二区三区| 久久久久9久久久久| 精品久久久久久亚洲| 国产女人操逼视频| 日本 欧美 国产一区| 国产欧美岛国精品一区| 日韩亚洲Av人人夜夜澡人人爽| 国产精品久久久久无码Av网曝门| 91五十路| 久久大黄片| 91丝袜| 9久久精品| 人妻精品一区二区| 98久久| 伊人五月天婷婷| 日韩一区二区精彩视频| 国产三级多多影院2022国产AA一级毛片无码 | 女人双腿搬开让男人桶| 欧美激情五月天| 91丝袜美女国产| 国产精品对白自产拍| 丝袜av一区二区三区| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 曰本熟女视频| 中国熟女91| 欧美后入式| 欧美性爱日韩高清| 中文字幕日韩人妻视频一区二区三区 | 台湾佬中文娱乐网久久久久久久久久com | 曰韩精品视频一区二区| 天天干天天拍| 久久人妻少妇| 久久久久久69国产一区二区| 91美女丝袜诱惑视频| 偷拍超碰| 亚洲综合激情五月久久| 国产精品久久久久久夜夜夜| 97天天插| 我要看免费韩日黄片| 亚欧精品久久久久久久久久久| 特级大荫道BBwBBwBBW| 九九九不卡| 中国一级操逼视频| 国产视频三区四区| 69国产对白刺激| 亚洲欧洲国产综合av| 亚洲色性情三级| 久草看看看| 人人干人人操人人..com| 欧美黄色图片| 日韩无码操逼片| 欧美熟女激情| 亚洲**2021在线观看| 欧美亚洲国内自拍| 偷拍综合网| 日本熟妇人妻中出视频| 午夜男女爽爽大片免费观看| 五月婷婷丁香| 女人香蕉久久毛毛片精品| 91人妻Pr| 亚洲av成人精品一区| 91成人在线| 欧美精品久久久久久久丰满| 日韩钢筋无码高清啾啾啾| 日韩中文字幕精品一区在线| 麻豆人妻偷人精品无码视频| 久久人妻办公室视频| 国产主播福利| 超碰97亚洲区| 六月激情网| 啪啪视频免费在线观看| 国产一区二区久久| 欧美综合97www| 加勒比在线视频一区二区三区| 免费97视频| 婷婷久久综合| 国产熟女免费观看久久| 国产精品视频在线观看| 色老汉色| 麻豆精品久久久久久久| 国产精品久久久久综合| aaa亚无码专区| 国产天天噜一噜久久久| 亚欧美综合网。| 天堂av2019| 久久久无码av精| 中文字幕丰满人妻日本| 久久这里只精品| 啊操爽品善一区二区三区| 欧美中出1| 久久精品欧美一区二区三区不卡| 啊啊啊啊啊啊啊啊视频| 国内毛片四区| 久久久免费高清中文视频| 激情文学欧美| 色天堂综合| 热久久91婷婷| 禁片 高清 在线观看视频网站| 一区不卡在线观看av| 91性高朝久久久久久久久| 亚洲 欧美 日韩另类 麻豆| 综合欧美日韩在线| 欧美日本不卡| 日本不卡免费二区| 欧美九九九| 日韩特一级久久| 亚洲性少妇| 智利AV在线网| 乱人乱色一区二区三区免费| 国产精品一区二区三| 日韩15p| 97精品国产| 国产在线视频午夜精华在| 成人国产二区三区在线,男女精品。| 大屁股熟女一区二区三区| 日韩综合97P| 嗯嗯啊啊日韩精品| 欧美乱欲| 亚欧成人综合影院| 丁香激情五月| 色眯眯射| 中文字幕午夜精品久久久| 久久久9 9 9精品| 熟女熟妇一区二区三区视频| 97超碰超碰| 日韩欧美aⅴ综合网站发布| 日本精品成人无码| 好吊色一区| 97精品一区二区视频在线观看| 人妻欧美| 色综合久| 成人在线午夜视频一区| 五月天亚洲色图| 99精品视频在线观看免费| 超碰97人人乐| 伊人五月天婷婷| 91爆操视频| 91九九九逼| 欧美图片校园春色| 日本高清一区二区在线| 久久久久久久国产| 欧美在线观看综合国产| 亚洲污污网站| 成人5码视频| 天天日天天操VV| 国产毛片毛片4p懂色| 99久热| 国产又大又粗又长视频| 欧美一级黄片视频在线| 超碰在线人妻不卡| 大JI巴好深好爽又大又粗视频| 亚洲国产精品无码AV久久久| 久久久久久久 九九九九九九九| 99这里只有精品国产| 五月婷婷激情| 亚洲色阁| 无码人妻一区二区三区免费九色| 殴美在线AⅤ| 亚洲双插| 天天爽爽爽爽| 国产又黄又粗的视频| 中文字幕天天操| 综合操逼| 欧美翘臀视频网站一区二区三区| 欧美黑人性猛交91| 一中国女人毛片水真多| 四虎免费看黄| 色小视频蜜乳| 激情五月天插| 大香蕉狠狠爱| 欧天美中出| 黄色一级视| 色综合大香蕉| 亚洲精品一卡二卡三卡福利视频网站 | 国产欧美精品日韩区二区麻豆天美| 97色综合中文网| 97超久碰| 亚洲五月丁香花狠狠干一区二区三区 | 强奸乱伦AV网址| 嗯嗯嗯啊啊在线观看| 日韩影片中文字幕一区二区三区| 日韩婷婷| 日操粉逼逼| 中文字幕三四区| 欧美综合网在线| 性暴力欧美猛交在线直播| 国产高清精品福利| 日韩78m视频| 野狼福利社区| 色丁香久久| 啊操爽品善一区二区三区| 熟妇色99| 色9999日韩国产| 大香蕉欧美国产日韩高潮| 九热中文字幕| 久久婷婷视频| 国内精品久9| 国产一区在线观看无码AV| 日韩三四五区| 99热这里都是精品| 天天日少妇逼AV| 久久精品成人一区二区三区蜜臀| 无码外流操逼视频| 日韩99神马视频片| 国产拍偷精品网站| 自拍盗摄一区| 国产亚洲色停停久久99精品91| 91九色在线| 果冻传媒A片一二三区| 人人插人人摸人人| k频道色撸撸| 亚洲第一狼人丝袜美女另类| 日韩少妇无吗| 极品尤物自安慰| 999 久久久| 免费在线黄片视频| 少妇高潮喷水无套久久久久久| 亚洲无码国产精品久久| 九九九九欧美| 国产精品免费视频不卡| 成人亚欧免费视频| 不卡六六在线91| 夜夜影视四色| 亚州欧美另类| 五月激情小说| 国产自制av蜜乳| 天天综合网91入口| 青娱乐欧美激情一区二区 | 青青草一本道福利视频| 天天干天天做| 无码动漫av中文字幕| 伊人精品视频| 嫖老熟女A片一二三区| 91模特在线观看| 一区二区三区精品黑丝白丝酒店对鸡 | julia ann久久| 亚洲偷拍自拍在线视频| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 台湾一区国产高清在线| 99操| 久热久| 一道α片欧美| 激情久久日韩精品中文字幕麻豆| 亚洲操操操| www久久国产精品| 9999亚洲精品| 久久精品国产精品亚洲艾通辽熟妇 | 亚洲鸥美色图| 青青草视频这里只有精品| 色呦呦国产精品免费看| 欧美综合网1| 五月丁香久久| 精品亚洲黄色片 国产精品导航一区二区| 激情文学小说一区二区| 丝袜制服字幕在线| 日本中文字幕在线视频| 免费的av网| 18禁的网站在线| 中文久久久| 色哟哟1区2区| 澳门成人网站久国产日韩| 久久无码成人| 亚洲不卡三级手机播放| 亚洲97网站| 中文字幕视频2区| 人看人人摸人人操| 国内偷自视频区视频综合| 国产综合久| 9999九九九久久久| 78p欧美| 婷婷综合在线| 成人八戒网站| AV天堂国产| 日本 情色 1区| 91高潮喷水美女| 中文字幕天天天天天| 五月激情在线| 97最新在线播放视频| 久久黄色性爱视频| 丰满美女一级毛片在线播放| 亚洲图片欧美色| 久久精品噜噜噜成人看免欧美大片| 91爰爱欧美| 一区=区三区视频| 91一区二区| 色婷网| 伊人五月天激情| 久草视频观看视频在线| 欧美日产国产在线成人第一区| 超碰97久久| 夜夜高潮夜夜爽夜夜爱爱一区| 91操人| 人妻人妻天天碰| 伊人操操| 人妻熟妇久草在线| 999九九精品| 91挑色欧美| 欧美综合第一| 97日视频| 色阁阁AV综合网| 亚洲精品1区| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 丝袜制服字幕在线| 少妇久久久| 天美91| 精品国产乱码久久久久久蜜臀| 久超碰这里只有精品| 久久婷婷一区| 超碰地址久久| 91n欧美| 国产精品剧情| 国产日韩精品suv| 99久久无码| 欧洲亚洲国产综合在线| 夜夜天天噜狠狠爱2021| A片三级无码| 99无码视频| 九九毛片这里只有精品| 精品人妻一区二区免费蜜桃| 精品176精品2| 久久精品成人| 另类天堂| 超碰国产精品久| 国产白嫩漂亮KTV在线| 巨爆乳肉感一区二区三区竹菊影视| 综合一区中亚洲国产成人综合精品 | 91女网站| 97免费视频在线观看视频| 五月天AV资源| 亚洲啪啪综合?v一区综合精品区| 中文字幕,人妻,日韩| 国产中文字幕曰本毛片| 欧美性猛交美女自慰91| 91天美传媒在线观看| 天天操福利视频综合网站| 欧美人妻少妇| 亚洲中文字幕久久人妻| 大香蕉丝袜一级片| 麻豆天美制片厂网站视频| 五毛骚逼极品美女怕怕| 91天天| 日韩av在线免费网站| 中文字幕一区av| 9久精品视频在线观看| 欧美啪啪啪91| 亚洲av无码成电影在线播放| 99久久9| 日夜干射色啊| 亚洲日韩电影| 亚洲精品一区二区三区在线播放| 夜色91| h无码动漫在线观看| 青青草操逼逼视频| 天美麻豆黄色录像| 中文字幕第9页萱萱影音先锋| 911粉嫩人妻| 欧美性区| 日本精品五区| 91久久久久久久| 亚州综合图片| 亚洲国产成人7777| 98色网| 超碰碰小说97| 欧美亚洲色图另类国产| 色综合中文字幕不卡| 91精品操美女| av在线免费一区二区| 啊啊啊好湿久久| 久久久亚洲精品中文字幕人妻| www.av在线视频| 人人喜人人妻| 九九九色| 白嫩嫩一区| 九九九成人| 乱伦熟女区| 色妇91| 九九精品99| 少妇三P| 91人精品妻入口| 伊人97色天使| 国产又黄又爽| 九九久久久九九| 97在线视频免费观看| 99视频内射三四| 亚洲欧美校园| 丁香啪啪| 欧洲视频在线| 夜夜中出国产| 国产高清自拍| 用力操死我| 一级片视频啪啪| 天天综和| 波多野结衣被操50分钟免费视频| 久久一二三四不卡| 中文字幕一二区二三区人妻专区| 乱老熟女一区二区三区| 国产对白刺激视频| 伊人视频| 国产情侣自拍在线播放| 激情文学亚洲| 五月丁香六月激情| 人人人干干人人干| 精品美女在线视频| 国产精品区在线12p| 蜜桃久久久久久久久久久久| 亚洲av综合色区无码一| 婷婷九月国产| 成人午夜无码视频| 亚洲麻豆av一区二区| 97久久久精品| 人妻精品视频一区二区| 伊人网高清| 久久久穴999| 啊啊啊啊啊啊啊在线| 婷婷久久网| 热99这里有精品综合久久 | 在线中文字幕视频| 96爱综合| 在线精品福利免费播放| 女人香蕉久久毛毛片精品| 亚洲天堂男人在线| 丝袜人妻av一区二区| 久久宗合亚洲| 蜜臀久久99精品久久综合| 色黄污美女啪啪啪免费网站| 欧亚韩国999| 久久精品欧美一区蜜桃| 五月婷网站| 九九热精品视频六| 久久超碰亚洲人| 粉嫩不卡一区二区性爱| 国产精品日日摸夜夜添骚逼| 亚洲自拍欧美国产首页网曝| 亚洲精品视频在线播放| 97精品一区二区视频| 941超碰| 嗯啊啊啊轻点视频 | 久久综合国产精品国产| 日本欧美不卡| 中出后入| 伊人97色天使| 久久婷婷亚洲| 欧美1区二区三区公司| 97网色| 色踪合AV| 欧美激情超碰777| 色综合久久久久| 人妻少妇被猛烈进入中| 中文字幕99999| 欧美另类天堂| av72网| 亚洲国产剧情少妇激情| 婷婷五月天福利| 婷婷激情五月天小说网| 无码动漫av中文字幕| 成人青青草原伊人| 啊啊啊好疼| 大香蕉在线视频重口味毛片在线| 东北女人高潮视频| 超碰97最新人妻| 厕所偷拍在线| 久久黄黄| 狠狠狠狠狠干| 亚洲成av人片色午夜乱码| 操高情无码| 久久五月天婷婷丁香中文字幕| 97无码视频在线播放| 91亚洲影视| 久热这里只有精品9| 久久久精| 亚洲在钱| 日韩人妻精品| 91色综合色| 91精品又粗又猛又爽| 亚洲人91| 91高潮喷水美女| 色婷婷淫色网| 热的中文 热的有码 热的国产| 国产中文福利| 熟女网站最新| 色拍偷亚洲| 午夜久久久| 亚洲欧美91√| 99re6在线视频播放免费精品| 久久国产精品视频| julia国产在线 | 国产精品久久久久9999小说| 在线二区不卡| 国产传媒日韩欧美| 91国产操逼视频| 亚欧毛片基地国产毛片基地| 1769国内精品视频| 艹精品| 日本性爱少妇| 五月天伊人| 射丝袜高跟鞋99| 亚洲第91页 | 国产成年免费大片黄在线观看| 国产高清免费不卡av| 殴美在线AⅤ| 99热综合| 91jk色拍| 亚洲性综合11| 久久久人妻| 国产一区二区三区免费视频在性观看 | 97人妻碰碰中文无码久热丝袜| 色九九九九久| 操逼精品视频| 色天使AV天堂| 亚洲欧洲激情卡通另类文学四射小说网站| 国产在线综合网| 人妻无码久久一区二区三区免费| 色悠久久久av| 欧美色涩| 日本成人电影资源网| 超碰在线99| 欧美日韩少妇色情| 日本黄色精品| 欧美一区二区福利在线| 久久婷婷精品| 330Dv国产女人终合视频极品人与兽| 智利AV在线网| 欧美成人免费在线观看| 国模无码一区二区三区在线| 欧美亚洲玖玖玖| 亚洲天堂美臀在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 亚射在线| 天天操天天日天天干| 亚洲国产97| 中国AV美女| 人妻久久久久久| 日韩国产十八禁| 国产一区二区在线看| 74成人在线| 免费A V在线| 99国产精品免费| 成人青青草原伊人| 人人操人人搞人人草| 久久婷婷精品| 超碰欧美在线欧美| 亚洲天堂久| 人妻一二三区| 久都青青视频 | 丁香五月激情综合国产| 91色五月俺来也| 久久久偷拍| 韩日性爱av| 91最新综合| 97干在线| 欧美啪啪女女| 91无码人妻| 成年人黄色视频免费| 91粉芽高清在线一区二区| 久久久久ab| 一区AV| 丁香五月激情综合| 97欧美日韩精品| 黄片无码在线制服| 密臀AV在线| 色色色日本| 婷婷人妻激情| 干婷婷综合网| 欧天美中出| 成人一级性爱| 欲香欲色天天天综合和网| 美女诱惑久久| 久操大香蕉手机视频在线看 | 啊啊啊好多水| 亚洲性综合9| 国语精品av| 成人AV在线电影| 精品国产乱码久久久久久久| 欧美成人AⅤ大片在线观看| 蜜桃久久久久久久久久久久| 亚洲国产丝袜熟女av| 国产人妻精品久久久一区二区三区 | 亚洲无 码A片在线观看麻豆| 五月色网| 我想要 啊 啊 啊| 亚洲欧美精品福利在线| 亚洲九九视频| 精品国产一区二区三区av在线资源| 色777999综合| 色九区| 亚洲a色| 少妇 综合| 色噜噜国产精品视频一区二区| 夜夜操二区| 国产亚洲精品一区二区三区| 伊人大香蕉在线| 久久久一区二区三区三州| 国产极品999| 日韩国产欧美伦理在线| 亚洲污一污二| 人妻精品视频一区二区| 人人妻人人玩人人澡人人爽| 欧美|91色综合| 亚欧毛片基地国产毛片基地| 嗯……啊…嗯嗯…啊…好舒服| 眼镜人妻101.com| 97碰碰日本乱偷人妻中文的| 国产1769在线| 99热在线观看| 亚洲射综合网| 日本一区二区做爱的视频| 人人操人人精品影片| 中文字幕在线播放2中文字幕在线观看2| 大色综合| 久久av网| 高清国产av无码| 欧美大的香蕉有线电视视频| 嗯嗯啊啊用力视频免费| 亚洲成人性| 蜜臀AV午夜精品久| 亚洲天堂情色| 色9999日韩国产| 亚洲欧洲av影音| 精品性爱久久视频| 美女黄色一级A视频| 欧美精品一区二区少妇免费A片| 亚洲人91| 97二区四区| 成人av在线播放| 大香蕉伊人75| 国产一级特黄大片处女| 美女丝袜激情小说| 夜夜操91744565| 国产精品欧美日韩久久| 97综合在线| 国产精品动态一区二区三区四四| 激情五月天婷婷| 日韩精品碰碰| 欧亚三区动漫| 天天操天天日天天干| 韩国一区二区精品亚洲| 大香网站| 黄色免费一级在线毛片| 少妇熟女视频一区二区三区| 日逼五月天| 女色视频社区| 亚洲无码一二三区| 天天看精品动漫视频一区| 91亚洲狠狠色| 精品一区二区三区四区外站| 99久久com免费视频′| 亚洲国产高清福利视频| 偷拍亚洲熟女视频播放| 熟妇人妻丰满久久久久久久无码| 97视频在线视频| 男人的天堂VA在线| 色婷婷丁香五月| 中文字幕日本久久| 国产成人无码a| 国产无码三级视频在线观看| 九九九九精| 欧美传媒一区| 91爱看| 视频在线观看一二三区| 日韩人妻资源在线看| 9999免费精彩视频| 爽极品影院| 中文字幕一区二区三区字幕| 91成人无码| 超碰99re| 超碰在线一区二区| 欧美色交| 欧美日韩亚洲少妇寂寞影院正在播放| 91丝袜熟女| www.男人天堂| 亚洲国产青青| 精品无码一二三四区| 日韩ab网 | www.久久超碰| 色老久久| 91n.欧美| 97视频一区| 91在线国产后入风骚翘臀美女素人| 欧美亚州色的图| 日日干日日| 吻戏激情性巴克| 91人人爽人人爽| 熟妇在线视频一区二区| 日韩三级久久久| 美女露胸露屁股| 97日本超碰综合| 欧美内射少妇| 亚洲日韩青青草色月| 青青草色情网站视频| 精品网站99999| 久久亚洲不卡一区二区三区| 九区国产| 激情婷婷丁香网| 久久亚州大香蕉| 久久久青青草| 欧美加勒比| 日韩激情无码影院| 很黄很色的视频在线观看| 国产一区自拍欧美日韩| 免费中文在线| 人妻熟女字幕一区二区| 亚洲天堂中文字幕无码男同| 亚洲国产一区二区三区在线| 激情网五月天| 影音综合网| 亚洲色图第一页| 美女上床网站| 九九九精品| 国产精品干干干| 日本一级性爱| www.97在线| 射丝袜大香蕉| 九九九九一区| 1000部熟女视频在线观看| 高清无码 国产精品| 国产树林里野战在线看| 夜夜操天| 美女AV一区二区| 大香蕉中文201| 欧美亚洲国产91在线| 国产操操日韩三级黄| 天天操夜夜操| 亚洲电影91| 78m成人视线| 激情抓乳插进去啪啪啪日韩| 人妻中文在线| 熟妇熟女一区二三区| 中出20p| 免费a级毛片av无码久久精品中文字幕| 人人艹亚洲| 欧美精品另类人妖xxxx| 人人澡综合涩| 色香欲影| 睡产熟女乱伦| 中文字幕 av v| 久久久精品九| 特级特黄一级毛片免费| 五月丁香社区婷婷日韩欧美精品影院 | 成人午夜高潮av猛片| 国产极品美女高潮无套在线观看| 少妇 综合| 丰满欧美放荡少妇在线| 农村女一级毛卡片| 大香蕉人妻| 亚洲色图 综合| 99久久99久久免费精品蜜臀| 国产CHASE男男GAYGA 毛多色婷婷| 色综合加勒比四四季| 亚洲第一页综合在线| 国产日韩欧美中文在线播放| 国产福利av精彩对白| 日韩欧美被操黄免费观看| 超碰九7| 粉嫩av在线一区二区| 日韩人妻精品中文字幕| 日韩欧美福利视频看看| 色综合色综合网| 熟女一区二区三区四区| 日本无码1| 国产馆极品诱惑| 99re99| 91粉芽高清在线一区二区| 亚洲大胆人体av| 人妻啪| 美女啪欧美一区| 亚洲天堂男人天堂网| 久久久久人妻| 国产一区在线看| 国产av美女被艹的乱叫| 污电影在线观看| 男女激情黄色网址| 性生活无遮挡纯毛片在线看| 免费av在线播放二区| 久久综合日韩亚洲欧美| 日日摸天天爽夜夜欢| 无码9区| 少妇久久久久久久久| 亚洲欧洲网站免费观看| 欧美丰满少妇交换91欧美精品| 亚洲成A∨人影院在线欢看| 亚州综合图片| 久久亚洲AV无码专区国产精品| 色欧洲97| 免费1级a做爰片观看| 人妻黑丝袜电影| 欧美国产伊人久久久久| 1204金沙人妻懂旧版免费| 国产精品一区二区久久精品| 白丝jkav| 国产亲戚伦亲在线| www. 男人天堂成人在线| 久久久久国产精品片区无码直播| 婷婷探花久久精品一区| 国产版a级片直播在线| 亚洲综合有码| 99热97| 测评在线观看AV| 9久久美女首页| 亚洲美女自拍偷拍视频| 啊啊啊啊啊舒服| 99热在线观看| 不卡中文字幕aⅴ在线| 久久亚洲不卡一区二区三区| 欧美少妇性爱网站| 日产欧美电影一区二区三区| 超碰九区| 天天操综合网| 88xx成人精品视频| 黄色污污污污污污网站| 国产精品96久久久久久| 欧美熟妇人体| 日韩人成网站在线播放| 国产精品久久久久久夜夜夜夜| JULIA一区二区三区在线播放| 九久精品| 成片免费播放| 久久伊人最新网址视频| 夜夜 中文视频rt| 九九Av| 中出欧美| 久久久99999久网站| 五月婷婷爱六月丁香色| 亚洲熟女诱惑| 久久久久网站-538在线视频-欧美永久乱码| 国产剧情AV不卡在线观看| 久久九九精品一区二区| 中文字幕艹艹| 欧美日韩国产中文精品字幕自在自线| 91激情国产| 91 国产丝袜在线放观看| 日韩一性一交一A片俄罗斯| 伊人操| 99抽插| 中文字幕第页| 成人免费福利在线观看| 一区二区视频在看| 夜草欧美| 久久精品人体| 啊啊啊好想要| 97在线亚洲| 青青操在线亚洲视频观看欧美在线 | 亚洲中字慕不卡| 欧美毛片在线网| 中文字幕狠狠玩| 影音先锋每日最新资源在线观看| 欧洲中文字幕| 色情成人五月天| 色情乱伦AV| 免费a级毛片av无码久久精品中文字幕| 亚州欧美总和| 天堂国产AV| 极品五月天噜噜| 亚洲欧美中文一区二区三| 91肉片| 亚州性色| 精品无人区麻豆乱码1区2区图片| 久九干| 狼天天狼天天大香蕉| 欧美一区二区亚洲天堂| 激情小说日韩无码| 亚洲成人贴图| 久久久青青草| 骚鸭AV| 啊啊啊不要啊啊受不了了视频在线| 另类天堂| 日韩视频啪啪| 国产精品ⅴ无码大片在线看.| 97日韩欧美| 超碰78| 亚洲91网| 97人人爱人人乐| 麻豆一区二区AV天美| 东京热伊久| 久久久九九| 操逼999| 国产精品久久久久久久免牛肉蒲团| 中文字日本乱码| 国产玖玖| 欧美在线官网| 任我爽视频在线观看| 青娱乐 成人娱乐在线| 欧美在线视频99| 色久综合| 六月婷激情福利天堂69| 国产剧情一区在线观看| 亚洲AV无码国产精品久久久久| 一区二区三区免费岛国片| 欧美,日韩,亚洲视频| 亚洲最新Av| 操操逼视频| 美国人人操人人操| 蜜乳AV一区| 午夜激情成人在线观看| 乱伦图一区| 人、人、摸,人、人、草| 欧美成人午夜免费福利785| 国产精品久久99日日| 国产强奸超碰AV|