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/MSP430FR5994:使用 UART 与 PC 通信

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/838467/ccs-msp430fr5994-use-uart-to-talk-to-pc

器件型号:MSP430FR5994

工具/软件:Code Composer Studio

大家好、

我是一名学习嵌入式 C 和 MCU 的学生、因此我正在研究一个项目、以使用 PC 与 MCU 进行通信。

想法是通过 PySeial 使用 python 代码向 MSP430发送信号以更改 PWM 占空比、并通过 ADC 读取功率值、然后将其发回 PC 终端进行验证。  

我的 PWM 代码工作(TA0CCR0 = 1000-1; TA0CCR1 = 500; 占空比为50%时)、我认为来自 PC 的信号需要更改 TA0CCR1值以更改占空比、但我不知道如何实现该值、我无法从 TI 示例中真正了解 UART 设置。 请尽量简化。 谢谢!

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

    你(们)好、Bobo

    这是演示 http://dev.ti.com/tirex/explore/node?node=AJmGc-VBVbiVnrjQIxKm4g__IOGqZri__LATEST 中 UART 的设置 

    //将 USCI_A3配置为 UART 模式
    UCA3CTLW0 = UCSWRST; //将 eUSCI 置于复位状态,以便配置寄存器
    UCA3CTLW0 |= UCSSEL_SMCLK; //将 UART 模块配置为 CLK = SMCLK
    //波特率计算
    // 800000000 /(16*9600)= 52.083
    //分数部分= 0.083
    //用户指南表21-4:UCBRSx = 0x04
    // UCBRFx = int ((52.083-52)*16)= 1.
    UCA3BRW = 52; // 800000000 / 16/9600
    UCA3MCTLW |= UCOS16 | UCBRF_1 | 0x4900;
    UCA3CTLW0 &=~UCSWRST; //初始化 eUSCI 以保护 UART 寄存器
    UCA3IE |= UCRXIE; //启用 USCI_A3 RX 中断 

    此处的要点是为此处的值配置与 UCA3BRW 和 UCA3MCTLW 相关的波特率 、您可以在用户指南中的表30-5中找到该值  

    此致

    Gary