增加代码,验证cdr的status寄存器,功能正确了
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user