器件型号:MSP432P401R
工具/软件:Code Composer Studio
您好!
我将"uartecho_MSP_EXP432P401R_tirtos_ccs"代码与 MSP432P401R Launchpad 搭配使用。 我的目标是通过 UART TX 引脚从 MSP432P401R 发送整数值。 但代码似乎用于发送一些字符、我不确定需要在哪个部分进行更改、以便能够通过 UART TX 引脚发送整数值。 有人可以帮我解决这个问题吗?
Mohammad Arifur Rahman
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.
器件型号:MSP432P401R
工具/软件:Code Composer Studio
您好!
我将"uartecho_MSP_EXP432P401R_tirtos_ccs"代码与 MSP432P401R Launchpad 搭配使用。 我的目标是通过 UART TX 引脚从 MSP432P401R 发送整数值。 但代码似乎用于发送一些字符、我不确定需要在哪个部分进行更改、以便能够通过 UART TX 引脚发送整数值。 有人可以帮我解决这个问题吗?
Mohammad Arifur Rahman
您好、Keith、
感谢您的回复。 实际上、我希望以二进制格式发送整数值。 为此、我对代码进行了一些更改。 如果我没有弄错 、"UART_WRITE (UART、INPUT、1)"输入的值应通过 UART TX 引脚。 但是、当我使用示波器检查 launchpad 的 P3.3引脚时、我看不到它。
void * mainThread (void * arg0)
{
INT 输入;
const char echoPrompt[]="回显字符:\r\n";
UART_Handle UART;
UART_Params uartParams;
/*调用驱动程序初始化函数*/
GPIO_init();
UART_INIT();
/*配置 LED 引脚*/
GPIO_setConfig (Board_GPIO_LED0、GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
/*打开用户 LED */
GPIO_WRITE (Board_GPIO_LED0、Board_GPIO_LED_ON);
/*创建一个数据处理关闭的 UART。 *
UART_PARAMS_INIT (uartParams);
uartParams.writeDataMode = UART_DATA_BINARY;
uartParams.readDataMode = UART_DATA_BINARY;
uartParams.readReturnMode = UART_return_full;
uartParams.readEcho = UART_ECHO_ON;//UART_ECHO_OFF;
uartParams.baudrate = 115200;
//
//uartParams.readMode = UART_MODE_CALLACK;
//uartParams.writeMode = UART_MODE_CALLBACK;
uartParams.dataLength = UART_LEN_8;
//uartParams.readReturnMode = UART_RETURN_FULL;
//
UART = UART_OPEN (Board_UART0、uartParams);
if (UART == NULL){
/* UART_open()失败*/
while (1);
}
UART_WRITE (UART、echoPrompt、sizeof (echoPrompt));
/*循环永久回显*/
while (1){
UART_READ (UART、INPUT、1);
输入= 2;
UART_WRITE (UART、INPUT、1);
}
}
进行了第三次。 您是否更改为 UART1? UART0使用反向通道 UART、您可以使用虚线上的 TXD>>跳线访问该 UART。
MSP_EXP432P401R.c 文件具有以下数组:
CONST UARTMSP432_HWAttrsV1 uartMSP432HWAttrs[MSP_EXP432P401R_UARTCOUNT]={ { baseAddr = EUSCI_A0_BASE、 .intNum = INT_EUSCIA0、 .intPriority =(~0)、 时钟源= EUSCI_A_UART_CLOCKSOURCE_SMCLK、 .bitOrder = EUSCI_A_UART_LSB_FIRST、 numBudrateEntry 尝试次数= sizeof (uartMSP432Budrates)/ sizeof (UARTMSP432_BudrateConfig)、 .budrateLUT = uartMSP432Budrates、 .ringBufPtr = uartMSP432RingBuffer[MSP_EXP432P401R_UARTA0]、 .ringBufSize = sizeof (uartMSP432RingBuffer[MSP_EXP432P401R_UARTA0])、 .rxPin = UARTMSP432_P1_2_UCA0RXD、 txPin = UARTMSP432_P1_3_UCA0TXD、 errorFxn =空 }、 { baseAddr = EUSCI_A2_base、 .intNum = INT_EUSCIA2、 .intPriority =(~0)、 时钟源= EUSCI_A_UART_CLOCKSOURCE_SMCLK、 .bitOrder = EUSCI_A_UART_LSB_FIRST、 numBudrateEntry 尝试次数= sizeof (uartMSP432Budrates)/ sizeof (UARTMSP432_BudrateConfig)、 .budrateLUT = uartMSP432Budrates、 .ringBufPtr = uartMSP432RingBuffer[MSP_EXP432P401R_UARTA2]、 .ringBufSize = sizeof (uartMSP432RingBuffer[MSP_EXP432P401R_UARTA2])、 .rxPin = UARTMSP432_P3_2_UCA2RXD、 TxPin = UARTMSP432_P3_3_UCA2TXD、 errorFxn =空 } };
请注意、您需要为正在测试的引脚使用 UART1。