263|7

988

帖子

3

资源

纯净的硅(中级)

【GD32E503评测】 UART通讯实验 [复制链接]

    这几天进行了串口通讯实验,串口发送测试正常,但接收却失败,即使使用范例编译下载测试也是接收不到任何信息,至今不清楚原因。

    按照用户手册的说明,串口通讯使用的是开发板上的USART0接口,但此接口却没有对开发板进行供电,仍然需要通过GD_LINK接口供电,因此需要连接两根USB线:

UART_01.jpg

 

UART_04.jpg

    首先测试的是串口发送,范例是按下KEY_B(上图的红色箭头处)时发送一串字符,测试很顺利,下图是串口调试助手接收到的信息:

UART_02.jpg

    但在测试轮询法接收并发送时却不成功,以下是测试的代码,是我从中断法范例中移植过来的,但接收不到电脑发送的信息,也许是我的代码有问题:

//串口接收并回应测试
	    if(RESET != usart_interrupt_flag_get(EVAL_COM0, USART_INT_FLAG_RBNE)){ //数据缓冲区不为空
            gd_eval_led_on(LED1);
			/* receive data */
            rx_buffer[rx_count++] = usart_data_receive(EVAL_COM0);
            if(rx_count >= rx_buffer_size){
                usart_interrupt_disable(EVAL_COM0, USART_INT_RBNE);            //缓冲区超限
            }
			usart_data_transmit(EVAL_COM0, tx_buffer[tx_count-1]);
            while(RESET == usart_flag_get(EVAL_COM0, USART_FLAG_TC)){ //等待传输完成
            }
			gd_eval_led_off(LED1);
        }

 

    轮询法测试不成功,于是我就直接使用范例中的中断法,直接将范例编译下载到开发板上,按照《用户手册》的提示,上电之后开发板首先发送256字节的数据到超级终端,然后接收超级终端返回的数据:

UART_05.jpg

    测试时串口调试助手接收到完整的256字节数据:

UART_03.jpg

    但我尝试通过串口调试助手发送数据却得不到任何回应,查看范例中的串口中断处理代码,有接收并回应(发送)的代码,也许是还缺少哪项设置吧:

UART_06.jpg

 

    随后我又测试了DMA方式,结果仍然是发送正常,接收却没有任何反应。不知道有谁测试过串口接收么,是不是我的代码有什么问题?

 

 

赞赏

1

查看全部赞赏


回复

120

帖子

0

资源

一粒金砂(中级)

可能是串口助手的问题,我的串口助手每次运行前重新打开并设置。

点评

    好象不是这个原因,我用各种方式测试,结果均一样,单片机接收不到数据,就象串口接收功能没有启用一样。     我一直都用这个串口调试助手,从来没有遇到过问题。  详情 回复 发表于 6 天前

回复

988

帖子

3

资源

纯净的硅(中级)

superstar_gu 发表于 2021-1-14 17:07 可能是串口助手的问题,我的串口助手每次运行前重新打开并设置。

    好象不是这个原因,我用各种方式测试,结果均一样,单片机接收不到数据,就象串口接收功能没有启用一样。

    我一直都用这个串口调试助手,从来没有遇到过问题。


回复

713

帖子

2

资源

版主

到时候我试一下,这个是个问题,最近忙了点,没时间测评。有时间试一下。


回复

3182

帖子

1

资源

五彩晶圆(初级)

回环模式测一下。如果回环模式是对的,就检查线材和USB转串

个人签名人已离开,无事别找,找也找不到。

回复

988

帖子

3

资源

纯净的硅(中级)

    范例是发送完数据后再接收数据,然后对比,数据正解点亮LED,不正确则闪烁LED。我使用的串口调试助手不知道如何设置将接收到的数据自动发送回去,因此测试时自然就不可能会收到返回数据。但是范例中断处理函数中有接收数据并直接发送回去的代码,按理串口调试助手发送数据后应该收到返回的数据,但实际上没有反应。另外我将接收缓存数组打印在屏幕上,也是空白的,间接证明没有接收到任何数据,就象接收功能没有使能一样。


回复

175

帖子

0

资源

一粒金砂(中级)

usb转虚拟串口那个吗?

点评

不是,是板上的USART0接口,用户手册上有说明的。  详情 回复 发表于 4 天前
个人签名

gitee/casy


回复

988

帖子

3

资源

纯净的硅(中级)

caizhiwei 发表于 2021-1-15 21:27 usb转虚拟串口那个吗?

不是,是板上的USART0接口,用户手册上有说明的。


回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/7 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表