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.
团队、您好!
我使用 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 代码:
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.
萨尔
但通信间歇性成功,大多数时候都失败。
失败的原因是什么? 发送? 接收? 奇偶校验错误? 组帧错误?