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.

[参考译文] CCS/SIMPLELINK-MSP432-SDK:UART 问题-接收到的 ASCII 值不正确

Guru**** 2573695 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/606675/ccs-simplelink-msp432-sdk-uart-issue---incorrect-ascii-value-received

器件型号:SIMPLELINK-MSP432-SDK

工具/软件:Code Composer Studio

大家好、

我正在尝试对一个简单程序进行编码、以便在从字符数组中读取指定字符后打开 LED。 在读取过程中、我希望 UART 通道上的传入字节采用 ASCII 格式(十进制的 A = 97)、这与过去的做法一样、但我没有以这种格式接收它们。 例如、我键入字符"A"、该字符应为97、而不是134。 我 将 CCS 7.2与 MSP432配合使用(红色版本)。 如果需要、我可以发布代码。 更确切地说、我的阅读流程是有效的、但我收到的值与我期望的值不同。

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

    您能发布您的代码吗? 这将大有帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    134是顶部有一个圆圈的。
    http://www.asciitable.com/

    是否确定不发送特殊字符?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    97=0x61是位反转的等效值134=0x86。

    我怀疑你正在设置 UCMSB、但你不应该。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对于同样遇到此问题的用户、我使用了 CCS 7.2上的 driverlib 示例 UART_loopback _24MHz_brclk。 在 UART 配置结构中、
    ```const eUSCI_UART_Config uartConfig =

    EUSCI_A_UART_CLOCKSOURCE_SMCLK、 // SMCLK 时钟源
    13、 // BRDIV = 13
    0、 // UCxBRF = 0
    37、 // UCxBRS = 37
    EUSCI_A_UART_NO_奇 偶校验、 //无奇偶校验
    EUSCI_A_UART_MSB_FIRST、 // MSB 优先
    EUSCI_A_UART_One_stop_bit、 //一个停止位
    EUSCI_A_UART_MODE、 // UART 模式
    EUSCI_A_UART_oversampling_BAUDRATE_generation //过采样
    ```;

    MSB 线应为 LSB。 再次感谢您的帮助! 我完全忘记了该配置选项。