S32K148 LPSPI Busy After Transfer Complete with RXMSK

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

S32K148 LPSPI Busy After Transfer Complete with RXMSK

跳至解决方案
857 次查看
sean_dvorscak
Contributor III

I am having issues when doing LPSPI transfers in master mode with RXMSK set.

Below is the follow code snippet that I perform to write the TDR and read the RDR based on the framesize of the transfer. Once all TX FIFO write, and RX FIFO reads have occurred, we exit the transfer function.

I used to also check for the TCF in the do-while() logic, but I started noticing that the function would always timeout (3ms timeout in this instance) even though I had performed all Tx/Rx writes/reads, and the Chip Select was verified by Oscope to de-assert. This was causing me issues, so I got rid of the check for TCF, and instead clear flags at the beginning of the transfer.

When I removed the TCF check in the do-while() logic, I started dropping SPI transfers when calling this routine repeatedly due to the MBF being set when I initiated this routine. I then noticed when I performed transfers with RXMSK set (c_rxwrds = 0 when RXMSK is set) I would observe this timeout behavior, but not when RXMSK was cleared.

Guess the TCF flag taking so long to set was trying to tell me something, but I cannot find any reference material that would suggest the MBF/TCF would be set longer than the expected transfer time considering Bit Rate and Framesize (Bit Rate = 4MHz; Framesize = 16-264).

Is there any documentation related to the RXMSK and how it might affect the TCF/MBF?

Would also like to note that both CONT/CONTC are 0 during transfers.

// Check if module is free, and attempt to set TCR
if (0U == (pInst->SR & LPSPI_SR_MBF_MASK))
{
  // Clear any lingering status flags
  pInst->SR |= SR_W1C_FLAGS;

  // Checking for true garuntees we are able to start the intended transfer
  if (true == Set_Tcr(pInst, pTcr))
  {
    // Get time at start of transfer
    start_time = Timer_Get_LptmrCnr();

    // Perform all necessary Tx/Rx actions
    do
    {
      // Attempt to fill Tx fifo if there are still words to transmit
      while ((c_txwrds > 0U)
      && (true == Set_Tdr(pInst, tx_data[exp_wrds - c_txwrds])))
      {
        c_txwrds--;
      }

      // Attempt to empty Rx fifo if there are still words to receive
      while ((c_rxwrds > 0U)
      && (true == Get_Rdr(pInst, &rx_data[exp_wrds - c_rxwrds])))
      {
        c_rxwrds--;
      }
    } while ( ((c_txwrds + c_rxwrds) > 0U)
                && (false == Timer_TimerExpired(start_time, timeout)));

}

0 项奖励
回复
1 解答
823 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi,

the TCF is set when the LPSPI returns to idle state with the transmit FIFO empty.
The code you shared does not show where SR flags are checked, if ever, maybe in Set_Tdr or Get_Rdr.
You should rather use RDF and TDF flags to know when RX FIFO/TX FIFO can be read/written. With RXMSK no data is expected to be read out, but you should rely on TDF to be sure TX FIFO is ready to accept new data.

BR, Petr

在原帖中查看解决方案

0 项奖励
回复
2 回复数
824 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi,

the TCF is set when the LPSPI returns to idle state with the transmit FIFO empty.
The code you shared does not show where SR flags are checked, if ever, maybe in Set_Tdr or Get_Rdr.
You should rather use RDF and TDF flags to know when RX FIFO/TX FIFO can be read/written. With RXMSK no data is expected to be read out, but you should rely on TDF to be sure TX FIFO is ready to accept new data.

BR, Petr

0 项奖励
回复
795 次查看
sean_dvorscak
Contributor III
Thanks for the reply.

I found a couple of problems with the logic I had, and I also updated my Get_Rdr/Set_Tdr functions to poll the RDF/TDF instead of monitoring the RXCOUNT/TXCOUNT.

I think a combination of both these changes has made my function overrun problem go away for now.
0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2343296%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32K148%20%E4%BD%BF%E7%94%A8%20RXMSK%20%E5%AE%8C%E6%88%90%E4%BC%A0%E8%BE%93%E5%90%8E%20LPSPI%20%E5%BF%99%E7%A2%8C%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2343296%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%9C%A8%E8%AE%BE%E7%BD%AE%E4%BA%86%20RXMSK%20%E7%9A%84%E4%B8%BB%E6%A8%A1%E5%BC%8F%E4%B8%8B%E8%BF%9B%E8%A1%8C%20LPSPI%20%E4%BC%A0%E8%BE%93%E6%97%B6%EF%BC%8C%E6%88%91%E9%81%87%E5%88%B0%E4%BA%86%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98%E3%80%82%3C%2FP%3E%3CP%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%88%91%E6%A0%B9%E6%8D%AE%E4%BC%A0%E8%BE%93%E5%B8%A7%E5%A4%A7%E5%B0%8F%E5%86%99%E5%85%A5%20TDR%20%E5%92%8C%E8%AF%BB%E5%8F%96%20RDR%20%E7%9A%84%E4%BB%A3%E7%A0%81%E7%89%87%E6%AE%B5%E3%80%82%E4%B8%80%E6%97%A6%E5%AE%8C%E6%88%90%E6%89%80%E6%9C%89%20TX%20FIFO%20%E5%86%99%E5%85%A5%E5%92%8C%20RX%20FIFO%20%E8%AF%BB%E5%8F%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E9%80%80%E5%87%BA%E4%BC%A0%E8%BE%93%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E6%9B%BE%E7%BB%8F%E4%B9%9F%E5%9C%A8%20do-while()%20%E9%80%BB%E8%BE%91%E4%B8%AD%E6%A3%80%E6%9F%A5%20TCF%EF%BC%8C%E4%BD%86%E6%88%91%E5%BC%80%E5%A7%8B%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E5%8D%B3%E4%BD%BF%E6%88%91%E5%B7%B2%E7%BB%8F%E6%89%A7%E8%A1%8C%E4%BA%86%E6%89%80%E6%9C%89%E7%9A%84%20Tx%2FRx%20%E5%86%99%E5%85%A5%2F%E8%AF%BB%E5%8F%96%E6%93%8D%E4%BD%9C%EF%BC%8C%E8%80%8C%E4%B8%94%20Oscope%20%E4%B9%9F%E9%AA%8C%E8%AF%81%E4%BA%86%E8%8A%AF%E7%89%87%E9%80%89%E6%8B%A9%E5%B7%B2%E6%96%AD%E5%BC%80%EF%BC%8C%E4%BD%86%E8%AF%A5%E5%87%BD%E6%95%B0%E4%BB%8D%E7%84%B6%E4%BC%9A%E8%B6%85%E6%97%B6%EF%BC%88%E6%9C%AC%E4%BE%8B%E4%B8%AD%E8%B6%85%E6%97%B6%203%20%E6%AF%AB%E7%A7%92%EF%BC%89%E3%80%82%E8%BF%99%E7%BB%99%E6%88%91%E5%B8%A6%E6%9D%A5%E4%BA%86%E5%BE%88%E5%A4%9A%E9%97%AE%E9%A2%98%EF%BC%8C%E6%89%80%E4%BB%A5%E6%88%91%E5%8F%96%E6%B6%88%E4%BA%86%20TCF%20%E6%A3%80%E6%9F%A5%EF%BC%8C%E8%80%8C%E6%98%AF%E5%9C%A8%E8%BD%AC%E8%B4%A6%E5%BC%80%E5%A7%8B%E6%97%B6%E6%B8%85%E9%99%A4%E6%A0%87%E8%AE%B0%E3%80%82%3C%2FP%3E%3CP%3E%E5%BD%93%E6%88%91%E7%A7%BB%E9%99%A4%20do-while()%20%E9%80%BB%E8%BE%91%E4%B8%AD%E7%9A%84%20TCF%20%E6%A3%80%E6%9F%A5%E6%97%B6%EF%BC%8C%E7%94%B1%E4%BA%8E%E5%90%AF%E5%8A%A8%E6%AD%A4%E4%BE%8B%E7%A8%8B%E6%97%B6%20MBF%20%E5%B7%B2%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%8C%E5%BD%93%E9%87%8D%E5%A4%8D%E8%B0%83%E7%94%A8%E6%AD%A4%E4%BE%8B%E7%A8%8B%E6%97%B6%EF%BC%8C%E6%88%91%E5%BC%80%E5%A7%8B%E4%B8%A2%E5%BC%83%20SPI%20%E4%BC%A0%E8%BE%93%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E5%9C%A8%E8%AE%BE%E7%BD%AE%20RXMSK%20%E6%97%B6%E6%89%A7%E8%A1%8C%E4%BC%A0%E8%BE%93%EF%BC%88%E8%AE%BE%E7%BD%AE%20RXMSK%20%E6%97%B6%20c_rxwrds%20%3D%200%EF%BC%89%E4%BC%9A%E5%87%BA%E7%8E%B0%E8%BF%99%E7%A7%8D%E8%B6%85%E6%97%B6%E8%A1%8C%E4%B8%BA%EF%BC%8C%E8%80%8C%E6%B8%85%E9%99%A4%20RXMSK%20%E6%97%B6%E5%88%99%E4%B8%8D%E4%BC%9A%E3%80%82%3C%2FP%3E%3CP%3E%E7%8C%9C%E7%8C%9C%E8%8A%B1%E4%BA%86%E8%BF%99%E4%B9%88%E9%95%BF%E6%97%B6%E9%97%B4%E6%89%8D%E8%AE%BE%E7%BD%AE%E7%9A%84%20TCF%20%E6%A0%87%E5%BF%97%E6%AD%A3%E8%AF%95%E5%9B%BE%E5%91%8A%E8%AF%89%E6%88%91%E4%B8%80%E4%BA%9B%E4%BA%8B%E6%83%85%EF%BC%8C%E4%BD%86%E6%88%91%E6%89%BE%E4%B8%8D%E5%88%B0%E4%BB%BB%E4%BD%95%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99%E8%A1%A8%E6%98%8E%EF%BC%8C%E8%80%83%E8%99%91%E5%88%B0%E6%AF%94%E7%89%B9%E7%8E%87%E5%92%8C%E5%B8%A7%E5%A4%A7%E5%B0%8F%EF%BC%88%E6%AF%94%E7%89%B9%E7%8E%87%20%3D%204MHz%EF%BC%9B%E5%B8%A7%E5%A4%A7%E5%B0%8F%20%3D%2016-264%EF%BC%89%EF%BC%8CMBF%2FTCF%20%E7%9A%84%E8%AE%BE%E7%BD%AE%E5%B0%86%E8%B6%85%E8%BF%87%E9%A2%84%E6%9C%9F%E7%9A%84%E4%BC%A0%E8%BE%93%E6%97%B6%E9%97%B4%E3%80%82%3C%2FP%3E%3CP%3E%E6%98%AF%E5%90%A6%E6%9C%89%E4%BB%BB%E4%BD%95%E4%B8%8E%20RXMSK%20%E4%BB%A5%E5%8F%8A%E5%AE%83%E5%A6%82%E4%BD%95%E5%BD%B1%E5%93%8D%20TCF%2FMBF%20%E7%9B%B8%E5%85%B3%E7%9A%84%E6%96%87%E6%A1%A3%EF%BC%9F%3C%2FP%3E%3CP%3E%E8%BF%98%E6%83%B3%E6%8C%87%E5%87%BA%E7%9A%84%E6%98%AF%EF%BC%8C%E5%9C%A8%E4%BC%A0%E8%BE%93%E8%BF%87%E7%A8%8B%E4%B8%AD%EF%BC%8CCONT%2FCONTC%20%E5%9D%87%E4%B8%BA%200%E3%80%82%3C%2FP%3E%3CP%3E%3CFONT%20color%3D%22%230000FF%22%3E%2F%2F%20%E6%A3%80%E6%9F%A5%E6%A8%A1%E5%9D%97%E6%98%AF%E5%90%A6%E7%A9%BA%E9%97%B2%EF%BC%8C%E5%B9%B6%E5%B0%9D%E8%AF%95%E8%AE%BE%E7%BD%AE%20TCR%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3Eif%20(0U%20%3D%3D%20(pInst-%26gt%3BSR%26amp%3B%20LPSPI_SR_MBF_MASK))%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%7B%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%2F%2F%20%E6%B8%85%E9%99%A4%E4%BB%BB%E4%BD%95%E6%AE%8B%E7%95%99%E7%9A%84%E7%8A%B6%E6%80%81%E6%A0%87%E5%BF%97%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20pInst-%26gt%3BSR%20%7C%3D%20SR_W1C_FLAGS%EF%BC%9B%3C%2FFONT%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%2F%2F%20%E6%A3%80%E6%9F%A5%E6%98%AF%E5%90%A6%E4%B8%BA%20true%EF%BC%8C%E4%BB%A5%E7%A1%AE%E4%BF%9D%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E5%90%AF%E5%8A%A8%E9%A2%84%E5%AE%9A%E7%9A%84%E4%BC%A0%E8%BE%93%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20if%20(true%20%3D%3D%20Set_Tcr(pInst%2C%20pTcr))%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%7B%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%2F%2F%20%E8%8E%B7%E5%8F%96%E4%BC%A0%E8%BE%93%E5%BC%80%E5%A7%8B%E6%97%B6%E7%9A%84%E6%97%B6%E9%97%B4%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20start_time%20%3D%20Timer_Get_LptmrCnr()%EF%BC%9B%3C%2FFONT%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%2F%2F%20%E6%89%A7%E8%A1%8C%E6%89%80%E6%9C%89%E5%BF%85%E8%A6%81%E7%9A%84%E5%8F%91%E9%80%81%2F%E6%8E%A5%E6%94%B6%E6%93%8D%E4%BD%9C%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%E6%89%A7%E8%A1%8C%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%7B%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%20%20%2F%2F%20%E5%A6%82%E6%9E%9C%E4%BB%8D%E6%9C%89%E5%AD%97%E8%A6%81%E4%BC%A0%E8%BE%93%EF%BC%8C%E5%88%99%E5%B0%9D%E8%AF%95%E5%A1%AB%E6%BB%A1%20Tx%20fifo%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%20%20while%20((c_txwrds%26gt%3B%200U)%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%20%20%26amp%3B%26amp%3B%20(true%20%3D%3D%20Set_Tdr(pInst%2C%20tx_data%5Bexp_wrds%20-%20c_txwrds%5D)))%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%20%20%7B%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%20%20%20%20c_txwrds--%EF%BC%9B%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%20%20%7D%3C%2FFONT%3E%3C%2FP%3E%3CP%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%20%20%2F%2F%20%E5%A6%82%E6%9E%9C%E4%BB%8D%E6%9C%89%E5%AD%97%E8%A6%81%E6%8E%A5%E6%94%B6%EF%BC%8C%E5%88%99%E5%B0%9D%E8%AF%95%E6%B8%85%E7%A9%BA%20Rx%20fifo%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%20%20while%20((c_rxwrds%26gt%3B%200U)%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%20%20%26amp%3B%26amp%3B%20(true%20%3D%3D%20Get_Rdr(pInst%2C%26amp%3Brx_data%5Bexp_wrds%20-%20c_rxwrds%5D)))%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%20%20%7B%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%20%20%20%20c_rxwrds--%EF%BC%9B%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%20%20%7D%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%7D%20while%20(%20((c_txwrds%20%2B%20c_rxwrds)%26gt%3B%200U)%3C%2FFONT%3E%3CBR%20%2F%3E%3CFONT%20color%3D%22%230000FF%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26amp%3B%26amp%3B%20(false%20%3D%3D%20Timer_TimerExpired(start_time%EF%BC%8Ctimeout))%EF%BC%89%EF%BC%9B%3C%2FFONT%3E%3C%2FP%3E%3CP%3E%3CFONT%20color%3D%22%230000FF%22%3E%7D%3C%2FFONT%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2343510%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K148%20LPSPI%20Busy%20After%20Transfer%20Complete%20with%20RXMSK%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2343510%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FP%3E%0A%3CP%3E%3CSPAN%3ETCF%20%E6%98%AF%E5%9C%A8%20LPSPI%20%E8%BF%94%E5%9B%9E%20IDLE%E7%8A%B6%E6%80%81%20%E4%B8%94%E4%BC%A0%E8%BE%93%E5%85%88%E5%87%BA%E5%85%88%E5%87%BA%E4%B8%BA%E7%A9%BA%E6%97%B6%E8%AE%BE%E7%BD%AE%E7%9A%84%E3%80%82%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3E%E6%82%A8%E5%85%B1%E4%BA%AB%E7%9A%84%E4%BB%A3%E7%A0%81%E6%B2%A1%E6%9C%89%E6%98%BE%E7%A4%BA%E5%9C%A8%E5%93%AA%E9%87%8C%E6%A3%80%E6%9F%A5%20SR%20%E6%A0%87%E5%BF%97%EF%BC%88%E5%A6%82%E6%9E%9C%E6%9C%89%E7%9A%84%E8%AF%9D%EF%BC%89%EF%BC%8C%E4%B9%9F%E8%AE%B8%E6%98%AF%E5%9C%A8%20Set_Tdr%20%E6%88%96%20Get_Rdr%20%E4%B8%AD%E3%80%82%20%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%3E%E6%82%A8%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%20RDF%20%E5%92%8C%20TDF%20%E6%A0%87%E5%BF%97%E6%9D%A5%E4%BA%86%E8%A7%A3%E4%BD%95%E6%97%B6%E5%8F%AF%E4%BB%A5%E8%AF%BB%2F%E5%86%99%20RX%20FIFO%2FTX%20FIFO%E3%80%82%E4%BD%BF%E7%94%A8%20RXMSK%20%E6%97%B6%EF%BC%8C%E9%A2%84%E8%AE%A1%E4%B8%8D%E4%BC%9A%E6%9C%89%E6%95%B0%E6%8D%AE%E8%A2%AB%E8%AF%BB%E5%87%BA%EF%BC%8C%E4%BD%86%E6%82%A8%E5%BA%94%E8%AF%A5%E4%BE%9D%E9%9D%A0%20TDF%20%E6%9D%A5%E7%A1%AE%E5%AE%9A%20TX%20FIFO%20%E5%B7%B2%E5%87%86%E5%A4%87%E5%A5%BD%E6%8E%A5%E5%8F%97%E6%96%B0%E6%95%B0%E6%8D%AE%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EBR%2C%20Petr%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2344808%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K148%20LPSPI%20Busy%20After%20Transfer%20Complete%20with%20RXMSK%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2344808%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%9B%9E%E5%A4%8D%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%88%91%E5%8F%91%E7%8E%B0%E4%BA%86%E9%80%BB%E8%BE%91%E4%B8%8A%E7%9A%84%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98%EF%BC%8C%E8%BF%98%E6%9B%B4%E6%96%B0%E4%BA%86%20Get_Rdr%2FSet_Tdr%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%BD%AE%E8%AF%A2%20RDF%2FTDF%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E7%9B%91%E6%B5%8B%20RXCOUNT%2FTXCOUNT%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%88%91%E8%AE%A4%E4%B8%BA%EF%BC%8C%E8%BF%99%E4%B8%A4%E9%A1%B9%E6%94%B9%E5%8A%A8%E7%9A%84%E7%BB%BC%E5%90%88%E4%BD%9C%E7%94%A8%E4%BD%BF%E6%88%91%E7%9A%84%E5%8A%9F%E8%83%BD%E8%B6%85%E9%99%90%E9%97%AE%E9%A2%98%E6%9A%82%E6%97%B6%E5%BE%97%E5%88%B0%E4%BA%86%E8%A7%A3%E5%86%B3%E3%80%82%3C%2FLINGO-BODY%3E