This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DAC8741H:读取 FIFO

Guru**** 2392905 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/939504/dac8741h-reading-fifo

器件型号:DAC8741H

我被尝试检索到 HART 3字节、例如0x11、0x33、0x44。 在所有字节都已传输后、我 读取 FIFO_M2D 寄存器并获取0x3111。  我正在尝试再次读取该寄存器、 并且得到相同的值(0x311)。  如何正确读取接收到的数据?  以下是用于读取的代码:

MODEM_Status = DAC8741_Read (MODEM_STATUS);
if ((Modem_Status &(1<<5)))=0)
{
while ((Modem_Status &(1<5))=0)
{
recieve_Reg = DAC8741_Read (FIFO_M2D);
Modem_Status = DAC8741_Read (MODEM_STATUS
);} 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Alexey、

    您使用的是 SPI 还是 UART? 您能否确认 MCU 的结果是否与硬件上传输的实际数据相匹配? 例如、您能否使用示波器或逻辑分析仪验证回读?

    谢谢、

    Paul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Paul!  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我解决了这个问题。 读取 FIFO 时、第一个帧必须包含第一 个字节中的地址 FIFO_M2D、下一个帧主机必须发送3字节0x00。 否则读取相同的值