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.

[参考译文] MSP430F67791A:针对波特率115200的通信只成功一次

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1263678/msp430f67791a-communication-is-successful-only-once-for-the-baudrate-115200

器件型号:MSP430F67791A
主题中讨论的其他器件: MSP430FR6043

团队、您好!

我使用 TTL 直接通信进行通信。 通信仅成功一次、但之后持续失败。

我使用了 UCOS16=1和 UCOS16=0时的 UART 寄存器设置

 

 我已经尝试了其他波特率设置、它们都工作正常。

我使用了 SMCLK 并将其设置为4MHz。

如果需要进行任何修改、敬请告知。

此致

GVS

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

    您好、GVS:

    我建议您将您的代码与 UART 的参考代码进行检查:

    https://dev.ti.com/tirex/explore/node?node=A__AKjkBdLbzC2yNgi8o.TDcA__msp430ware__IOGqZri__LATEST

    然后、如果配置正确、请首先检查  MSP430F67791A 中的 UART 通信回显(自发送和自接收)。

    B.R.

    萨尔

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

    大家好、

    我已经成功运行波特率配置的波特率9,600,19219200,38400。 只有波特率115200 ,我面临的问题。 我的设置包括:

    UCA1CTL1 = UCSWRST;
    UCA1CTL1|=UCSSEL_SMCLK;
    UCA1BRW= 2;
    UCA1MCTLW = 0xBB00 | UCBRF_2 | UCOS16;
    UCA1CTL1 &=~μ H UCSWRST;
    UCA1IE |= UCRXIE;

    ////////////// ////////////// ////////////// ////////////// ////////////// //////////////

    UCA1CTL1 = UCSWRST;
    UCA1CTL1|=UCSSEL_SMCLK
    UCA1BRW= 34;
    UCA1MCTLW = UCBRS6+UCBRF0;
    UCA1CTL1 &=~μ H UCSWRST;
    UCA1IE |= UCRXIE;

    是否需要采取措施来补偿 TX 误差%和 Rx 误差%。 USCI 和 eUSCI 波特率表都显示了115200的较高误差百分比。

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

    大家好、

    我成功地与其他波特率9,600,38438400,19200通信。 仅当波特率为115200时才会出现问题。

    对于115200、Tx 误差百分比和 RX 误差百分比都很高。 我们是否需要采取任何措施来补偿该误差。

    我参考的是 Dev TI 代码:

    dev.ti.com/.../node

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    我已经使用了 SMCLK 并将其设置为4 MHz。

    如何设置? 表中的比特率误差假定4MHz 完美、而 DCO 将会不同。 (当然还要加上其温度变化。)

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

    尊敬的 David:

    正弦波。 您是否建议更改时钟源?  

    此外、如果我们提高时钟频率、它是否会有所帮助?  

    此致

    GVS

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

    您好、GVS:

    当然、这会产生一些影响、也会对主机精度/时钟精度产生影响。 这会使数据传输不正确、误差较大、但预计不会 失败。

    我发现您提到:

    Unknown 说:
    通信仅成功一次,但随后失败。

    它是否仍然存在-成功一次? 什么是故障现象?

    同时、我建议您使用16MHz 并试一试。

    欢迎任何反馈。 如果我下周能在办公桌上找到类似的器件、我可能会参加测试。

    B.R.

    萨尔

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

    大家好、

    115200波特率仍然存在问题。 我已经使用通过 DCO 设置的16MHz 时钟频率进行了验证。 但是、通信是间歇性成功的、并且大多数时候都失败。

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

    您好、GVS:

    我已在 LP-FR6043中进行了测试、因为我找不到类似的器件。 430器件的 UART 模块应该相同。

    其结果就是可以在波特率为115200的1MHz 或4MHz 上工作。 (主机为 MSP430、目标为 PC)

    该设置与您所执行的操作完全相同:

    //使用4MHz 启动时钟系统-用于 MSP430FR6043
    CSCTL0_H = CSKEY_H;//解锁 CS 寄存器
    CSCTL3 = DIVS__2;
    CSCTL0_H = 0;

    UCA1CTL1 = UCSWRST;
    UCA1CTL1|=UCSSEL_SMCLK;
    UCA1BRW= 2;
    UCA1MCTLW = 0xBB00 | UCBRF_2 | UCOS16;
    UCA1CTL1 &=~μ H UCSWRST;
    UCA1IE |= UCRXIE;

    好的、我认为这可能与您的通信电路相关、负载可能会使其运行电压不能高于115200。

    我建议您使用连接到 PC 的430器件、并确定它是否能成功。

    B.R.

    萨尔

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

    大家好、  

    感谢您的答复。

    我还确认可以 使用9600至115200波特率范围内的所有常用波特率与 PC 进行通信。  我将在接下来的五到六天内检查货物。  RequestE2E 团队以使此论坛保持活动状态。

    此致

    GVS

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

    您好、GVS:

    如果您有任何反馈、欢迎您参加本次课程。

    此外、它可能与连接板的波特率精度相关。

    B.R.

    萨尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但通信间歇性成功,大多数时候都失败。

    失败的原因是什么? 发送? 接收? 奇偶校验错误? 组帧错误?

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

    接收错误