主题中讨论的其他器件:CC3220S
大家好、
我想以"多处理器格式"使用 UART。
(数据的第一个字节通过奇偶校验位1发送。
随后的数据在奇偶校验位设置为0的情况下被发送。)
Code Composer Studio 版本:10.2.0.00009
SimpleLink CC32xx SDK (4.40.00.07)
因此、我将程序从"C:\ ti\ simplelink_cc32xx_sdk_4_40_00_07\ examples \ RTOS \ CC3220S_LAUNCHXL \ drivers \ uartecho"更改为并对其进行了测试。
* ======== uartecho.c ========
*/
#include <stdint.h>
#include <stddef.h>
/* Driver Header files */
#include <ti/drivers/GPIO.h>
#include <ti/drivers/UART.h>
/* Driver configuration */
#include "ti_drivers_config.h"
#include <ti/devices/cc32xx/inc/hw_memmap.h>
#include <ti/drivers/uart/UARTCC32XXDMA.h>
#include <ti\devices\cc32xx\inc\hw_uart.h>
/*
* ======== mainThread ========
*/
void *mainThread(void *arg0)
{
char input;
const char echoPrompt[] = "Echoing characters:\r\n";
UART_Handle uart;
UART_Params uartParams;
/* Call driver init functions */
GPIO_init();
UART_init();
/* Configure the LED pin */
GPIO_setConfig(CONFIG_GPIO_LED_0, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
/* Create a UART with data processing off. */
UART_Params_init(&uartParams);
uartParams.writeDataMode = UART_DATA_BINARY;
uartParams.readDataMode = UART_DATA_BINARY;
uartParams.readReturnMode = UART_RETURN_FULL;
uartParams.baudRate = 115200;
uart = UART_open(CONFIG_UART_0, &uartParams);
if (uart == NULL) {
/* UART_open() failed */
while (1);
}
/* Turn on user LED to indicate successful initialization */
GPIO_write(CONFIG_GPIO_LED_0, CONFIG_GPIO_LED_ON);
UART_write(uart, echoPrompt, sizeof(echoPrompt));
input = '5';
/* Loop forever echoing */
while (1) {
// UART_read(uart, &input, 1);
UARTParityModeSet( UARTA0_BASE, UART_PAR_ONE ); //Step1
UART_write(uart, &input, 1); //Step2
UARTParityModeSet( UARTA0_BASE, UART_PAR_ZERO ); //Step3
UART_write(uart, &input, 1); //Step4
usleep(20000);
}
}
当我单步执行"步骤2"行时、发送了1个字节。 这是 UART 的 TX 线。
接下来、当我单步执行"步骤3"行时、TX 线变为低电平。
我不知道原因。
则"步骤4"行不起作用。
当我步入时、UART 忙时出现错误。

请告诉我如何以多处理器格式进行通信。
谢谢你
Seitaro
