打印
[CC3200]

uart_read 读取不到数据?

[复制链接]
907|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
exiao2011|  楼主 | 2020-10-21 20:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我使用CC3220SF中ti驱动uartecho例程。自己修改了sysconfig中uart驱动的Rx和Tx引脚。然后我创建了Txbuf和Rxbuf两个缓冲区,并用杜邦线把RX引脚与Tx引脚相连。以此实现自发自收的目的。
1.我使用uart_write()发送数据给Rx引脚,发现uart_read的始终不能读取到数据?
代码如下:
/*
*  ======== uartecho.c ========
*/
#include <stdint.h>
#include <stddef.h>

/* Driver Header files */
#include <ti/drivers/GPIO.h>
#include "UART.h"

/* Driver configuration */
#include "ti_drivers_config.h"
#include "unistd.h"
/*
*  ======== mainThread ========
*/
void *mainThread(void *arg0)
{
    UART_Handle uart;
    UART_Handle uart1;
    UART_Params uartParams;
    uint8_t TX_data[8] = {0x01,0x03,0x00,0x64,0x00,0x01,0xc5,0xd5};
    uint8_t RX_data[8] = {0};
    uint8_t count = 0;
    /* 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);

    /* Turn on user LED */
    GPIO_write(CONFIG_GPIO_LED_0, CONFIG_GPIO_LED_ON);


    /* Create a UART with data processing off. */
     UART_Params_init(&uartParams);
     uartParams.readMode = UART_MODE_BLOCKING;
     uartParams.writeMode = UART_MODE_BLOCKING;
//     uartParams.writeTimeout = 1000;
     uartParams.writeDataMode = UART_DATA_BINARY;
     uartParams.readDataMode = UART_DATA_BINARY;
     uartParams.readReturnMode = UART_RETURN_FULL;
     uartParams.readTimeout = 1000;
     uartParams.baudRate = 9600;
     uartParams.dataLength = UART_LEN_8;
     uartParams.stopBits = UART_STOP_ONE;
     uartParams.parityType = UART_PAR_NONE;
     uartParams.readEcho = UART_ECHO_OFF;
    uart = UART_open(CONFIG_UART_0, &uartParams);

    if (uart == NULL) {
        /* UART_open() failed */
        while (1);
    }

    uart1 = UART_open(CONFIG_UART_1, &uartParams);
    if (uart1 == NULL) {
            /* UART_open() failed */
            while (1);
     }

    /* Loop forever echoing */
    while (1) {
        UART_write(uart1, TX_data, 8);
        count =  UART_read(uart1, RX_data, 8);
        if(count > 0)
        {
            GPIO_toggle(CONFIG_GPIO_LED_0);
        }
    }
}

使用特权

评论回复

相关帖子

沙发
dirtwillfly| | 2020-10-21 21:15 | 只看该作者
建议先通过串口助手先分别测试发送端和接收端是否正常,然后再进行两个板子间的联合测试

使用特权

评论回复
板凳
玛尼玛尼哄| | 2020-10-21 21:34 | 只看该作者
串口没配置对吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

141

帖子

0

粉丝