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.

[参考译文] ADS112U04:无法使用 UART 读取寄存器–ADS112U04

Guru**** 2774995 points

Other Parts Discussed in Thread: ADS112U04

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1619529/ads112u04-unable-to-read-register-using-uart-ads112u04

部件号: ADS112U04

您好:

我使用的是 ADS112U04(UART 版本)、无法使用 RREG 命令读取寄存器。

  • MCU:(例如 STM32H733)

  • IDE:cube IDE
  • 波特率:9600 (8N1)

  • 电压:2.048V

  • 增益:1

  • 连接:

    • MCU TX→ADS112U04 RX

    • MCU RX→ADS112U04 TX

通用 GND 连接代码:

UART8_u8aA_TX_Data[0]= 0x55;//同步字

UART8_u8aA_TX_Data[1]= 0x06;//reset 命令

HAL_UART_TRANSMIT (&huart8、UART8_u8aA_TX_Data、2、1);

//HAL_delay (1);

 

//config 0

UART8_u8aA_TX_Data[0]= 0x55;

UART8_u8aA_TX_Data[1]= 0x40;//WREG 地址 0

UART8_u8aA_TX_Data[1]= 0xE0;

HAL_UART_TRANSMIT (&huart8、UART8_u8aA_TX_Data、2、1);

//HAL_delay (1);

 

//阅读摄片

UART8_u8aA_TX_Data[0]= 0x55;

UART8_u8aA_TX_Data[1]= 0x21;//RREG 和读取地址 0

//UART8_u8aA_TX_Data[2]= 0x00;//chat GPT

HAL_UART_TRANSMIT (&huart8、UART8_u8aA_TX_Data、2、1);

HAL_UART_RECEIVE (&huart8、UART8_u8aA_RX_Data、2、1);

 

//config 0

UART8_u8aA_TX_Data[0]= 0x55;

UART8_u8aA_TX_Data[1]= 0x40;//WREG 地址 0

UART8_u8aA_TX_Data[2]= 0x61;// 0x81 WREG 数据 AIN0 选择和 PGA 禁用// 0x71 对于 7--ain2(负极)、3(正极)//0x61 6-(AIN2、AIN3 负极)

HAL_UART_TRANSMIT (&huart8、UART8_u8aA_TX_Data、3、1);

HAL_DELAY (1);

 

//配置 1

UART8_u8aA_TX_Data[0]= 0x55;

UART8_u8aA_TX_Data[1]= 0x42;//WREG 地址 1

UART8_u8aA_TX_Data[2]= 0x48;// 0x08 WREG 数据连续转换模式//0x48(对于 SPS 90 和连续)

HAL_UART_TRANSMIT (&huart8、UART8_u8aA_TX_Data、3、1);

HAL_DELAY (1);

 

//配置 2

UART8_u8aA_TX_Data[0]= 0x55;

UART8_u8aA_TX_Data[1]= 0x44;//WREG 地址 2

UART8_u8aA_TX_Data[2]= 0x40;// WREG DATA DRDY:1:新的转换结果就绪-–0x80、、、、数据计数器启用。 –0x40

HAL_UART_TRANSMIT (&huart8、UART8_u8aA_TX_Data、3、1);

HAL_DELAY (1);

 

//配置 3

UART8_u8aA_TX_Data[0]= 0x55;

UART8_u8aA_TX_Data[1]= 0x46;

UART8_u8aA_TX_Data[2]= 0x00;//自动数据读取

HAL_UART_TRANSMIT (&huart8、UART8_u8aA_TX_Data、3、1);

HAL_DELAY (1);

 

//config4

UART8_u8aA_TX_Data[0]= 0x55;

UART8_u8aa_tx_Data[1]= 0x48;

UART8_u8aA_TX_Data[2]= 0x00;

HAL_UART_TRANSMIT (&huart8、UART8_u8aA_TX_Data、3、1);

HAL_DELAY (1);

 

/* UART8_u8aA_TX_Data[0]= 0x55;

UART8_u8aA_TX_Data[1]= 0x20;//RREG 和读取地址 0

UART8_u8aA_TX_Data[2]= 0x00;//chat GPT

HAL_UART_TRANSMIT (&huart8、UART8_u8aA_TX_Data、3);

HAL_DELAY (1);

HAL_UART_RECEIVE (&huart8、UART8_u8aA_RX_Data、2);*/

UART8_u8aA_TX_Data[0]= 0x55;

UART8_u8aA_TX_Data[1]= 0x08;

HAL_UART_TRANSMIT (&huart8、UART8_u8aA_TX_Data、2、1);

while (1)

UART8_u8aA_TX_Data[0]= 0x55;

UART8_u8aA_TX_Data[1]= 0x10;

HAL_UART_TRANSMIT (&huart8、UART8_u8aA_TX_Data、2、1);

//HAL_delay (5);

UART8_RX_checkfunctin ();

HAL_DELAY (5);

UART8_u8aA_TX_Data[0]= 0x55;

UART8_u8aA_TX_Data[1]= 0x02;

HAL_UART_TRANSMIT (&huart8、UART8_u8aA_TX_Data、2、1);

//HAL_delay (5);  

}

您能告诉我这里的问题是什么

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

    尊敬的 Bhavani:  

    欢迎来到 E2E 论坛、感谢您关注我们的精密 ADC。

    您能否解释一下“无法读取“寄存器、是未获得预期值、未全部为零、还是其他情况?

    在读取和写入命令期间、如果可能、可以通过数字逻辑分析仪发送 MCU 和 ADS112U04 之间通信的屏幕截图可能会有所帮助。  

    固件中 可能导致问题的一件事是第一次写入配置 0、这里有一个小的拼写错误:  UART8_u8aA_TX_Data[1]= 0xE0;   应为  UART8_u8aA_TX_Data[2]= 0xE0;  

    //config 0

    UART8_u8aA_TX_Data[0]= 0x55;

    UART8_u8aA_TX_Data[1]= 0x40;//WREG 地址 0

    UART8_u8aA_TX_Data[1]= 0xE0;  

    UART8_u8aA_TX_Data[2]= 0xE0;//已校正行

    HAL_UART_TRANSMIT (&huart8、UART8_u8aA_TX_Data、2、1);

    //HAL_delay (1);

    此致、  

    Andrew