主题中讨论的其他器件: MSP-FET
工具/软件:Code Composer Studio
尊敬的 TI 支持团队:
我想通过波特率为921600的 UART 与 MSP430F5529通信。
有可能吗? 如果是、正确的配置是什么?
如果没有,最大波特率是多少 ?
此致、
海他们。
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.
工具/软件:Code Composer Studio
尊敬的 TI 支持团队:
我想通过波特率为921600的 UART 与 MSP430F5529通信。
有可能吗? 如果是、正确的配置是什么?
如果没有,最大波特率是多少 ?
此致、
海他们。
BTW、5529具有 USB 硬件模块、(CDC /批量)传输可高达1Mbyte/s
根据 MCLK 和 UCA 源时钟、UART 的速率可高达6Mbps。
http://forum.43oh.com/topic/3413-msp430-uart-benchmark/
有许多用于 MSP 的在线 BR 计算器、这里是我的离线设置...
如数据表所示、最大波特率为1MHz。
UART 的时钟源必须至少是波特率的三倍(在过采样模式下至少为十六倍)。 然而、当 USCI 波特率发生器能够将时钟源除以一个大分频值时、它往往工作得最好、所以您应该使时钟源尽可能快。 用户指南第36.3.9节介绍了如何计算产生的误差;或者只需使用 USCI UART 计算器即可。 在使用一些值后、24MHz 似乎是一个良好的时钟源。
请注意、DCO 不是很精确、会引入抖动;您需要直接从24MHz 晶体(振荡器)获取时钟源。
此处设置为1Mbps、24MHz XT2 MCLK 作为 UART 时钟源。 24 / 18h = 24 / 24 = 1Mbps (无错误)。
我想 eZ-FET Lite USB/UART 桥接器被限制在一些固定波特率值、例如 MSP-FET。
2xx/5xx 器件 UART 在较高速率下没有问题。 在这里、您可以看到我的双桥接器、2xx 器件的运行速度为4Mbps。
MOV.w #WDTPW + WDTHOLD、&WDTCTL
mov.b &CALBC1_16MHz、&BCSCTL1
mov.b &CALDCO_16MHz、&DCOCTL
BIS.b #UCSWRST、&UCA0CTL1
BIS.b #(BIT4 + BIT4)、&P3SEL;P3.4/P3.5 = TXD/RXD
BIS.b #UCSSEL_2、&UCA0CTL1;SMCLK
; 16000000 Hz 4000000 bps
mov.b #004h、&UCA0BR0
mov.b #000h、&UCA0BR1
bs.b #(UCBRS_0 + UCBRF_0)、&UCA0MCTL
BIC.b #UCSWRST、&UCA0127 CTL1
mov.w #70、RCBR0 + UCBR15
、UCA1.b
环路、UCA15、UCA0b #mb #15、UCA1.mb #mb、UCA0rb #mb、UCA1.mb、UCA1.mb、UCA0b #15、UCArb #mb #mb、UCA1.muCA1.mb、UCA1.mb、UCA1.mb、UCA1.mb、UCA1.mb、UCA0r
我使用的是 RX 中断, 以下代码 适用于(115200, 230400, 460800),但不适用于 921600:
您能告诉我 在快速模式下会出现什么类型的问题吗?
[引用用户="Haithem Rahmounti"]
我使用的是 RX 中断, 以下代码 适用于(115200, 230400, 460800),但不适用于 921600:
您能告诉我 在快速模式下会出现什么类型的问题吗?
[/报价]
您可以在没有 DMA 的情况下实现它。 我的双桥接器代码从2个端口以4Mbps 的速率接收、并且在没有 DMA 的情况下完成。 根据我的经验、在这种情况下、DMA 会使事情变得更复杂、而不是更快。
只需将接收到的字节存储在 ISR 内的循环缓冲区中。 其他处理(分析循环缓冲器竞赛)可在 ISR 外部完成。