按照状态寄存器里各个fifo的剩余字节工作,测试代码完成。测试主站正常工作

This commit is contained in:
2025-02-12 17:52:55 +08:00
parent 45f470dc19
commit 80010b89e9
2 changed files with 29 additions and 23 deletions

View File

@@ -77,32 +77,34 @@ uint32_t HLM_poll(uint32_t mode)
{
status = *HLM_status;
if (((tx_index * 4) < tx_pkt_len) && (!(status & HLM_TX0_FIFO_FULL)))
for (i = 0; i < HLM_TX_FIFO_LEN - HLM_TX0_FIFO_LEFT(status); i++)
{
*tx0_txFifo = tx_data_ptr[tx_index];
tx_index++;
}
status = *HLM_status;
if (((tx_index * 4) < tx_pkt_len) && (!(status & HLM_TX0_FIFO_FULL)))
{
*tx0_txFifo = tx_data_ptr[tx_index];
tx_index++;
}
if ((rx_start) && (status & HLM_RX1_VALID))
{
rx_data_ptr[rx_index] = *rx1_rxFifo;
if (rx_index == 0)
rx_pkt_len = (rx_data_ptr[rx_index] >> 20) + 4;
rx_index++;
if (rx_pkt_len <= (rx_index * 4))
if ((tx_index * 4) < tx_pkt_len)
{
rx_start = 0;
rx_index = 0;
*tx0_txFifo = tx_data_ptr[tx_index];
tx_index++;
}
else
break;
}
for (i = 0; i < HLM_RX1_FIFO_LEFT(status); i++)
{
//if ((rx_start) && (status & HLM_RX1_VALID))
if (rx_start)
{
rx_data_ptr[rx_index] = *rx1_rxFifo;
if (rx_index == 0)
rx_pkt_len = (rx_data_ptr[rx_index] >> 20) + 4;
rx_index++;
if (rx_pkt_len <= (rx_index * 4))
{
rx_start = 0;
rx_index = 0;
break;
}
}
}