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.
您好、Everrybody、
我将使用 MSP-FET 与 CCSv7.4对 MSP432器件进行调试和编程(当前为 MSP432P401R LaunchPad,后来为我们自己的 MSP432P401M 设计)。 它工作正常。
我还想使用反向通道 UART 进行调试。 目标 MCLK 为16MHz、28800波特在没有流控的情况下工作正常。 根据文档(SLAU647K)、更高的速度只能用于流量控制或握手。
流控制是指硬件流控制信号(RTS 和 CTS)? 还是软件流控制也可用于 XONN/XOFF?
是否有 eUSCI 支持 CTS 和 RTS 信号?
也许有人可以帮助我!
谢谢、
Zoltan
Zoltan、
此处的流控制表示 RTS/CTS、由于 eUSCI 外设中没有对这些信号的硬件支持、因此将在 MCU 侧的软件中实施。 正如您提到的、SLAU647中的流控制建议、但我认为如果您使用的是>8MHz 的 MCLK、则无需流控即可获得更高的速度(这可能是 MSP-FET 的一个限制)。 我使用 MSP432P401 LaunchPad 以115200波特试用了一个小型 PC-echo 示例、没有遇到串行端口程序(TeraTerm)可能看到的困难或丢失的字符。 下面是根据 SimpleLink SDK 中的 UART_PC_ECHO_12MHz_brclk 示例进行调整的代码片段。
希望这对您有所帮助。
-Bob L.
//通过配置为115200的 PC 串行端口回显字符
// 8b/no Parity / 1停止/无流量控制
const eUSCI_UART_Config uartConfig =
{
EUSCI_A_UART_CLOCKSOURCE_SMCLK、// SMCLK 时钟源
6、// BRDIV = 6
8、// UCxBRF = 2
0、// UCxBRS = 0
EUSCI_A_UART_NO_奇 偶校验、//无奇偶校验
EUSCI_A_UART_LSB_FIRST、// LSB 优先
EUSCI_A_UART_One_stop_bit、//一个停止位
EUSCI_A_UART_MODE、// UART 模式
EUSCI_A_UART_oversampling_BAUDRATE_generation //过采样
};
int main (空)
{
MAP_WDT_A_HOLDTimer (); //停止 WDT *
/*在 UART 模式下选择 P1.2和 P1.3 */
MAP_GPIO_setPeripheralModuleFunctionInputPin (GPIO_PORT_P1、
GPIO_PIN2 | GPIO_PIN3、GPIO_PRIMARY_MODULE_FUNCTION);
/*将 DCO 设置为12MHz */
CS_setDCOCenteredFrequency (CS_DCO_FREQUENCY 12);
/*配置 UART 模块*/
MAP_UART_initModule (EUSCI_A0_BASE、uartConfig);
/*启用 UART 模块*/
MAP_UART_enableModule (EUSCI_A0_BASE);
/*启用中断*/
MAP_UART_enableInterrupt (EUSCI_A0_BASE、EUSCI_A_UART_receive_interrupt);
MAP_Interrupt_enableInterrupt (INT_EUSCIA0);
MAP_Interrupt_enableSlepOnIsrExit();
MAP_Interrupt_enableMaster();
while (1){
MAP_PCM_gotoLPM0 ();
}
}
/* EUSCI A0 UART ISR -将数据回传到 PC 主机*/
空 EUSCIA0_IRQHandler (空)
{
uint32_t status = MAP_UART_getEnabledInterruptStatus (EUSCI_A0_BASE);
MAP_UART_clearInterruptFlag (EUSCI_A0_BASE、STATUS);
if (status & EUSCI_A_UART_receive_interrupt_flag) {
MAP_UART_transmitData (EUSCI_A0_BASE、MAP_UART_receiveData (EUSCI_A0_BASE));
}
}
你好,Chris!
遗憾的是、我没有用于 CTS 和 RTS 的免费 GPIO。 不用担心、我将使用不具有流控制和最大值的 MSP-FET 反向通道 UART 28800波特
谢谢、
Zoltan