diff --git a/tb/sw/src/halfLvdsMacSvr.c b/tb/sw/src/halfLvdsMacSvr.c index 92f9c95..fabca28 100644 --- a/tb/sw/src/halfLvdsMacSvr.c +++ b/tb/sw/src/halfLvdsMacSvr.c @@ -93,7 +93,7 @@ uint32_t HLM_poll(uint32_t mode) //开始发送工作 - *tx0_txLen = tx_pkt_len + 8; + *tx0_txLen = tx_pkt_len + 4; *tx0_txFifo = (tx_pkt_len << 20) | (0 << 16) | 0; uint32_t tx_index = 0; @@ -114,7 +114,7 @@ uint32_t HLM_poll(uint32_t mode) { status = *HLM_status; - if (((tx_index * 4) < tx_pkt_len) && (status & HLM_TX0_FIFO_FULL)) + if (((tx_index * 4) < tx_pkt_len) && (!(status & HLM_TX0_FIFO_FULL))) { *tx0_txFifo = tx_data_ptr[tx_index]; tx_index++; @@ -161,16 +161,16 @@ uint32_t HLM_poll(uint32_t mode) while (1) { - //status = *HLM_status; + status = *HLM_status; - if (rx_start)// && (status & HLM_RX0_VALID)) + if (rx_start && (status & HLM_RX0_VALID)) { uint32_t data; data = *rx0_rxFifo; if (rx_index == 0) { rx_pkt_len = (data >> 20) + 4; - *tx1_txLen = rx_pkt_len + 4; + *tx1_txLen = rx_pkt_len; } rx_index++; @@ -178,19 +178,6 @@ uint32_t HLM_poll(uint32_t mode) if (rx_pkt_len <= (rx_index * 4)) { rx_start = 0; - #if 0 - *plic_enable_0_31 = 1 << CDR_INT_TX0END - | 1 << CDR_INT_TX1END - - | 1 << CDR_INT_RX0ERROR - | 1 << CDR_INT_RX1ERROR - - | 1 << CDR_INT_RX0START - | 1 << CDR_INT_RX1START - - | 1 << CDR_INT_RX0END - | 1 << CDR_INT_RX1END; - #endif } } @@ -199,27 +186,7 @@ uint32_t HLM_poll(uint32_t mode) { isr_flag[CDR_INT_RX0START] = 0; rx_start = 1; - //*plic_enable_0_31 = 0; } - #if 0 - //rx1 上行 - if (isr_flag[CDR_INT_RX1START]) - { - isr_flag[CDR_INT_RX1START] = 0; - } - - if (isr_flag[CDR_INT_RX0END]) - { - isr_flag[CDR_INT_RX0END] = 0; - //break; - } - - if (isr_flag[CDR_INT_RX1END]) - { - isr_flag[CDR_INT_RX1END] = 0; - //break; - } - #endif } } else