设为首页收藏本站

Discuz! Board

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 5057|回复: 6
打印 上一主题 下一主题

串口能够接收到数据,但是发送数据调试助手接收不到?

[复制链接]

2

主题

7

帖子

49

积分

新手上路

Rank: 1

积分
49
跳转到指定楼层
楼主
拓拔野 发表于 2018-3-8 11:32:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 拓拔野 于 2018-3-8 13:05 编辑

我用nrf52832的串口外设程序直接测试,可是调试助手能够发送数据给板子,板子也能够接收到数据;但是当板子发送数据给调试助手是,调试助手却不能显示数据,程序都没有更改。请问有没有大神知道怎么办?@admin

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

6

帖子

85

积分

注册会员

Rank: 2

积分
85
沙发
ltkks 发表于 2018-3-8 17:23:57 | 只看该作者
流控的问题,把它关掉!
回复 支持 反对

使用道具 举报

243

主题

1706

帖子

6151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6151
板凳
admin 发表于 2018-3-9 16:26:51 | 只看该作者
ltkks 发表于 2018-3-8 17:23
流控的问题,把它关掉!

正解
回复 支持 反对

使用道具 举报

2

主题

7

帖子

49

积分

新手上路

Rank: 1

积分
49
地板
 楼主| 拓拔野 发表于 2018-3-9 19:37:42 | 只看该作者
ltkks 发表于 2018-3-8 17:23
流控的问题,把它关掉!

关掉还是不行,就是改成APP_UART_FLOW_CONTROL_DISABLED?
回复 支持 反对

使用道具 举报

2

主题

7

帖子

49

积分

新手上路

Rank: 1

积分
49
5#
 楼主| 拓拔野 发表于 2018-3-9 19:41:39 | 只看该作者

改成这个APP_UART_FLOW_CONTROL_DISABLED,串口调试助手还是不能显示
回复 支持 反对

使用道具 举报

2

主题

7

帖子

49

积分

新手上路

Rank: 1

积分
49
6#
 楼主| 拓拔野 发表于 2018-3-9 19:59:31 | 只看该作者
本帖最后由 拓拔野 于 2018-3-9 20:01 编辑

改过后的main函数
int main(void)
{
    LEDS_CONFIGURE(LEDS_MASK);
    LEDS_OFF(LEDS_MASK);

    uint32_t err_code;
    const app_uart_comm_params_t comm_params =
      {
          RX_PIN_NUMBER,
          TX_PIN_NUMBER,
          RTS_PIN_NUMBER,
          CTS_PIN_NUMBER,
          APP_UART_FLOW_CONTROL_DISABLED,
          false,
          UART_BAUDRATE_BAUDRATE_Baud115200
      };

    APP_UART_FIFO_INIT(&comm_params,
                         UART_RX_BUF_SIZE,
                         UART_TX_BUF_SIZE,
                         uart_error_handle,
                         APP_IRQ_PRIORITY_LOW,
                         err_code);

    APP_ERROR_CHECK(err_code);

//#ifndef ENABLE_LOOPBACK_TEST
                        
   printf("\r\nStart0000000000000154564646:\r\n");

    while (true)
    {        
        uint8_t cr;
        while(app_uart_get(&cr) != NRF_SUCCESS);
                //        printf(cr);
        while(app_uart_put(cr) != NRF_SUCCESS);
                                //LEDS_INVERT(LEDS_MASK);
                            LEDS_OFF(LEDS_MASK);
                        
        if (cr == 'q' || cr == 'Q')
        {
                                        nrf_delay_ms(500);
            printf("\n\rExit!Start0000000000000154564646\n\r");
                                        LEDS_ON(LEDS_MASK);
                                        nrf_delay_ms(500);
                                        //LEDS_ON(LEDS_MASK);
                //        printf("Start646\n\r");
    }
//#else
/*
    // This part of the example is just for testing the loopback .
    while (true)
    {
        uart_loopback_test();
    }
                */
//#endif
}
}
回复 支持 反对

使用道具 举报

2

主题

7

帖子

49

积分

新手上路

Rank: 1

积分
49
7#
 楼主| 拓拔野 发表于 2018-3-9 20:00:08 | 只看该作者
本帖最后由 拓拔野 于 2018-3-9 20:02 编辑
ltkks 发表于 2018-3-8 17:23
流控的问题,把它关掉!

改过后的main函数
int main(void)
{
    LEDS_CONFIGURE(LEDS_MASK);
    LEDS_OFF(LEDS_MASK);

    uint32_t err_code;
    const app_uart_comm_params_t comm_params =
      {
          RX_PIN_NUMBER,
          TX_PIN_NUMBER,
          RTS_PIN_NUMBER,
          CTS_PIN_NUMBER,
          APP_UART_FLOW_CONTROL_DISABLED,
          false,
          UART_BAUDRATE_BAUDRATE_Baud115200
      };

    APP_UART_FIFO_INIT(&comm_params,
                         UART_RX_BUF_SIZE,
                         UART_TX_BUF_SIZE,
                         uart_error_handle,
                         APP_IRQ_PRIORITY_LOW,
                         err_code);

    APP_ERROR_CHECK(err_code);

//#ifndef ENABLE_LOOPBACK_TEST
                        
   printf("\r\nStart0000000000000154564646:\r\n");

    while (true)
    {        
        uint8_t cr;
        while(app_uart_get(&cr) != NRF_SUCCESS);
                //        printf(cr);
        while(app_uart_put(cr) != NRF_SUCCESS);
                                //LEDS_INVERT(LEDS_MASK);
                            LEDS_OFF(LEDS_MASK);
                        
        if (cr == 'q' || cr == 'Q')
        {
                                        nrf_delay_ms(500);
            printf("\n\rExit!Start0000000000000154564646\n\r");
                                        LEDS_ON(LEDS_MASK);
                                        nrf_delay_ms(500);
                                        //LEDS_ON(LEDS_MASK);
                //        printf("Start646\n\r");
    }
//#else
/*
    // This part of the example is just for testing the loopback .
    while (true)
    {
        uart_loopback_test();
    }
                */
//#endif
}
}

回复 支持 反对

使用道具 举报

Archiver|手机版|小黑屋|Comsenz Inc.   

GMT+8, 2024-11-26 13:35 , Processed in 0.159068 second(s), 28 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表