请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP432P401R 工具/软件:TI-RTOS
您好!
我有一个 MSP 432、大部分时间处于休眠状态。
但是、当它唤醒时、它必须尽快通过移动网络(UART)接口发送一些数据。
UART 在115200的速度下工作正常、但如果我尝试使用230400等更高的速度、则会挂起。 甚至可以将 UART 的此速度设置 为48M 时钟。
感谢你的帮助
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.
工具/软件:TI-RTOS
您好!
我有一个 MSP 432、大部分时间处于休眠状态。
但是、当它唤醒时、它必须尽快通过移动网络(UART)接口发送一些数据。
UART 在115200的速度下工作正常、但如果我尝试使用230400等更高的速度、则会挂起。 甚至可以将 UART 的此速度设置 为48M 时钟。
感谢你的帮助
尊敬的 David:
我已将设置更改为:
CONST UARTMSP432_BudrateConfig uartMSP432BAUDRAates []={ /*{波特率、输入时钟、预分频器、UCBRFx、UCBRSx、 过采样}* //*已添加*/ { .outputBudrate = 230400、 .inputClockFreq = 48000000、 .prescalar = 13、 .hwRegUCBRFx = 0、 .hwRegUCBRSx = 37、 过采样= 1 }、 {230400、24000000、6、8、 32、1}、 {230400、12000000、3、 4、2、1}、 {230400、6000000、 1、10、0、1}、 {230400、 3000000、13、0、0、0}、 {115200、24000000、13、0、37、 1}、 {115200、12000000、6、8、 32、1}、 {115200、6000000、3、 4、2、1}、 {115200、3000000、 1、10、0、1}、 {9600、 24000000、156、4、0、1}、 {9600、12000000、78、2、0、 1}、 {9600、6000000、39、1、 0、1}、 {9600、3000000、19、 8、85、1}、 {9600、32768、 3、0、146、0} };
波特率更改为:
uartParams.budrate = 230400;
遗憾的是、它不起作用。
我使用 uartecho 作为测试的起点。
还有其他需要更改的东西吗?
谢谢你
Miha.
您好、Miha、
真有意思。 我使用了您的设置、但它在我这边工作、请参阅以下内容:
CONST UARTMSP432_BudrateConfig uartMSP432Budrates []={ /*{波特率、输入时钟、预分频器、UCBRFx、UCBRSx、 过采样}*/ { .outputBudrate = 115200、 .inputClockFreq = 24000000、 .prescalar = 13、 hwRegUCBRFx = 0、 hwRegUCBRSx = 37、 过采样= 1. }、 {230400、24000000、6、8、32、 1}、 {230400、12000000、3、4、2、 1}、 {230400、6000000、1、10、0、 1}、 {230400、3000000、13、0、0、 0}、 {115200、12000000、6、8、32、 1}、 {115200、6000000、3、4、2、 1}、 {115200、3000000、1、10、0、 1}、 {9600、24000000、156、4、0、 1}、 {9600、12000000、78、2、0、 1}、 {9600、6000000、39、1、0、 1}、 {9600、3000000、19、8、85、 1}、 {9600、32768、 3、0、146、0}、 {4800、24000000、312、8、0、 1}、 {4800、12000000、156、4、0、 1}、 };
uartecho.c
/*创建一个数据处理关闭的 UART。 * UART_PARAMS_INIT (uartParams); uartParams.writeDataMode = UART_DATA_BINARY; uartParams.readDataMode = UART_DATA_BINARY; uartParams.readReturnMode = UART_return_full; uartParams.readEcho = UART_ECHO_OFF; uartParams.budrate =230400/*115200*/; UART = UART_OPEN (Board_UART0、uartParams); if (UART == NULL){ /* UART_open()失败*/ while (1); }
打开 UART 时是否出现错误? 或者您在终端上看不到任何回显字符??
此外、您使用的是哪个 COM 端口??
uartecho 项目是否工作@ 115200?
谢谢、
David