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.

[参考译文] MSP430FR5994:MSP430如何存储来自 BQ79616的响应帧串

Guru**** 2386620 points
Other Parts Discussed in Thread: MSP430FR5994, BQ79616
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1201334/msp430fr5994-how-does-msp430-store-a-string-of-response-frames-from-bq79616

器件型号:MSP430FR5994
主题中讨论的其他器件: BQ79616

大家好、团队成员:

  我使用 msp430fr5994 Launchpad 和 BQ79616EVM 器件  完成 UART 通信。

现在、我从 BQ79616收到了一组响应帧。

:帧如下所示

01 00 05 68 17 97 CE 84 (__LW_AT__我用示波器读取的数据)

我    在 UCA3RXBUF_L 中读取了00 68 97 84   

我在 UCA3RXBUF_H 中读取的所有 内容都是0  

我       在 UCA3RXBUF 中读取01 05 17 CE

8位存储和16位存储的区别是什么?为什么8位存储高8位值都是0?我的 UART 数据长度配置为8位数据

8位存储和16位存储这两种模式下、该系列的响应帧如何存储在 UCA3RXBUF 中?

期待您的答复。

请尽快与我联系

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

    L 和_H 符号只是16位寄存器的低字节和高字节。 只使用低字节:高字节始终读取为零。

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

    现在,在 UART 中断中,我定义了一个名为 temp1[38]的数组,数据类型是 uint8_t。  

    (1)当我执行以下两行代码时

    TEMP1[I]=UCA3RXBUF_H;
    TEMP1[I+1]= UCA3RXBUF_L;

    结果 如下、也就是说、高8个字节全部为0。"只使用低字节:高字节读取时始终为0。" 这句话的意思是、当 UCA3RXBUF_H 和 UCA3RXBUF_L 同时在代码中使用时、UCA3RXBUF_H 将始终为0,对吧?

    /resized-image/__size/320x240/__key/communityserver-discussions-components-files/166/pastedimage1677722591786v1.png

    (2)当我执行以下两行代码时

    TEMP1[i]= UCA3RXBUF;//(注意 UCA3RXBUF 是一个16位值、我现在想赋值                          //UCA3RXBUF 到8位阵列)
    TEMP1[I+1]= UCA3RXBUF_L

    结果可以存储为 I PRET。

    但我想问、将一个16位变量分配给一个8位变量、通常低8位是对齐的、所以这相当于将低16位字节分配给数组。

    因此我认为 "temp1[i]= UCA3RXBUF"和 "temp1[I+1]= UCA3RXBUF_L" 实际上是等效的、结果为什么不同?

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

    您的结果告诉我您的 ISR 错误。 我不能这样说,因为你没有包括全部的东西。

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

    我认为可能需要以特定的格式解析 BQ79616发送的数据。 我可能在时间上有问题。 我将检查此器件是否有时序要求。 非常感谢。 如有必要、我会与您联系。 感谢您的快速响应。