我使用 MSP430波特率计算器将 EUSCI_A1 UART 设置为1MHz 波特率。
EUSCI_A_UART_initParam param ={
.clockPrescalar = 16、
.selectClockSource = EUSCI_A_UART_CLOCKSOURCE_SMCLK、
奇偶校验= EUSCI_A_UART_NO_奇 偶校验、
.msborLsbFirst = EUSCI_A_UART_LSB_FIRST、
.numerofStopBits = EUSCI_A_UART_One_STOP_BIT、
uartMode = EUSCI_A_UART_MODE、
过采样= EUSCI_A_UART_LOW_FREQUENCY BAUDRATE_generation
};
我没有启用任何中断。 我需要在 UART 上传输低电平2.5ms。 我希望 EUSCI_A_UART_CLOCKSOURCE_SMCLK 为16MHz。
while (!(UCA1IFG & UCTXIFG));
UCA1TXBUF = 0x0;
_DELAY_CYCLES (40000);//发送2.5ms 低电平
UCA1TXBUF = 0x01;
当我查看示波器时、我会看到 UART TX 随 Tx 字节(A 5、或1或0)的变化而发生变化。 我可以看到 UART Tx 线路上的脉冲宽度为1us。 我是否需要一个计时器来实现该延迟? 不确定字节0与 UART 线 低电平有效时间为2.5ms 有何不同。
谢谢、
Priya