增加代码,调试延迟释放;对比波形,延迟释放功能正确

This commit is contained in:
2025-02-12 01:17:54 +08:00
parent 82919d861a
commit 0aa00781e5
2 changed files with 27 additions and 13 deletions

View File

@@ -77,7 +77,7 @@ uint32_t HLM_poll(uint32_t mode)
{
if (mode == WORKMODE_MASTER)
{
uint32_t tx_pkt_len = 128;
uint32_t tx_pkt_len = 256;
uint32_t rx_pkt_len = 0;
uint32_t rx_start = 0;
uint32_t status;
@@ -94,7 +94,7 @@ uint32_t HLM_poll(uint32_t mode)
//开始发送工作
*tx0_txLen = tx_pkt_len + 4;
*tx0_txFifo = (tx_pkt_len << 20) | (0 << 16) | 0;
*tx0_txFifo = (tx_pkt_len << 20) | 0;
uint32_t tx_index = 0;
uint32_t rx_index = 0;
@@ -120,6 +120,14 @@ uint32_t HLM_poll(uint32_t mode)
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;
@@ -130,6 +138,8 @@ uint32_t HLM_poll(uint32_t mode)
if (rx_pkt_len <= (rx_index * 4))
{
rx_start = 0;
rx_index = 0;
break;
}
}
@@ -139,15 +149,6 @@ uint32_t HLM_poll(uint32_t mode)
rx_start = 1;
rx_index = 0;
}
#if 0
if (isr_flag[CDR_INT_RX1_FIFO_ENQ])
{
isr_flag[CDR_INT_RX1_FIFO_ENQ] = 0;
MST_RX_BUF[rx_index] = *rx1_rxFifo;
rx_index++;
}
#endif
}
}
else if (mode == WORKMODE_SLAVE)
@@ -158,6 +159,12 @@ uint32_t HLM_poll(uint32_t mode)
uint32_t rx_start = 0;
uint32_t status;
*rx0_rxTxPair = 1;
*rx0_rxTimerAim = 0; //240;
*rx1_rxTxPair = 0;
*rx1_rxTimerAim = 0;
*plic_enable_0_31 = 0;
while (1)
{
@@ -180,13 +187,20 @@ uint32_t HLM_poll(uint32_t mode)
rx_start = 0;
}
}
else
{
if (status & HLM_RX0_VALID)
rx_start = 1;
}
#if 0
//rx0 下行
if (isr_flag[CDR_INT_RX0START])
{
isr_flag[CDR_INT_RX0START] = 0;
rx_start = 1;
}
#endif
}
}
else