主题中讨论的其他器件:MSP430G2553、
尊敬的 TI:
我们正在尝试在两个 MCU 之间建立通信。 一个是 msp430g2553和 cc3235sf,MSP430运行良好,它正在发送小字母('a' ),我们通过连接外部 TTL 来检查这一点。
cc3235sf 方面的问题,我在 MSP430有按钮,当按钮打开时,它正在发送数据,否则不发送数据。
最初、在启动设置时、我将成功获取数据。 但是当按钮处于关闭状态时、数据不在 cc3235sf 上、但控制器仍在运行。 但当按钮打开时。 整个程序在 cc3235sf 端崩溃。 为什么会发生这种情况?
帮助我解决这个问题。
这是我的代码...
UART_INIT(); // InitTerm(); /*创建一个数据处理关闭的 UART。 * UART_PARAMS_INIT (uartParams); uartParams.writeDataMode = UART_DATA_BINARY; // uartParams.readDataMode = UART_DATA_BINARY; uartParams.readDataMode = UART_DATA_TEXT; uartParams.readReturnMode = UART_return_full; uartParams.readMode = UART_MODE_CALLACK; // uartParams.readMode = UART_MODE_BLOCKING; uartParams.writeMode = UART_MODE_BLOCKING; uartParams.readTimeout = UART_WAIT_FOREVER; uartParams.writeTimeout = UART_WAIT_FOREVE; uartParams.readCallback = readCallbackFunction; // uartParams.readCallback = NULL; uartParams.writeCallback = NULL; uartParams.readEcho = UART_ECHO_OFF; uartParams.dataLength = UART_LEN_8; uartParams.stopbits = UART_STOP_ONE; uartParams.parityType = UART_PAR_NONE; uartParams.baudrate = 9600; uart0 = UART_open (CONFIG_UART_0、uartParams); uart1 = UART_open (CONFIG_UART_1、uartParams); UART_CONTROL (uart0、UART_CMD_RXENABLE、NULL); UART_CONTROL (uart1、UART_CMD_RXENABLE、NULL); if (uart1 ==空) { /* UART_open()失败*/ while (1) ; } if (uart0 == NULL) { /* UART_open()失败*/ while (1) ; }
回调函数....
静态空 readCallbackFunction (UART_Handle handle、void * buffer、size_t size)
{
// UART_control (uart0、UART_CMD_RXDISABLE、NULL);
// UART_PRINT ("********* 收到的数据 !\r\n");
UART_PRINT ("正在接收:%c "、*(char*) buffer);
// reciverData[0]= 0;
// memset (reciverData、'\0'、sizeof (reciverData));
// uart_print ("、%x\r\n"、recreceData[1]);
// UART_CONTROL (uart0、UART_CMD_RXENABLE、NULL);
}
主循环中的数据接收函数...
UART_READ (uart0、reciverData、sizeof (reciverData));
接收器数据的大小 为单字节、发送数据的大小也相同。
我正在使用 uart0进行通信,即..
另一个用于串行监视器的 UART (uart1)...
请告诉我问题在哪里? 这是使用 UART 中断接收数据的正确方式吗?
提前感谢。
Sarju Bhatnagar