串口接收

在使用DA14531进行在线仿真时,我使用UART1接收据数据,但是在接收一些数据后,串口就不在接收数据了,发现是程序进入了while(uart_is_busy_getf(uart_id));中,不再运行,是什么原因导致的

  • Hi zhhe,

    请问使用的是DSPS例程吗?

    进行测试时候的操作是?

    比如说在进行数据收发时有没有手动断连、重连的情况?

    程序有没有进行过改动?

    Br

    Martin

  • 感谢你的回答。

    所使用的不是DSPS例程,在我们公司自己的开发板上,根据例程所修改的程序,测试串口一的收发情况,在PC端通过串口助手给蓝牙串口一发送数据,然后蓝牙再将数据通过串口一发送到PC上,在进行一段时间测试后,发现会进入while(uart_is_busy_getf(uart_id));循环中,不知是哪里出现了问题;串口一接收是使用中断的方式,发送是使用UART_OP_BLOCKING方式。

  • 谢谢你的回答。

    例程具体是哪一个不清楚,我接手时,已经有了完备的功能;

    开发板是我们公司自己画的,适用于本公司的开发需求;

    发送的数据是30bytes, 一次间隔3-4s;

  • Hi, 

    如果是自己的模块和程序,无法做出准确的判断。

    我的猜想是应该发生了消息阻塞,可以通过debug的方式查看。

    如果是采用中断的方式进行数据收发,可以参考codeless 例程中的 binary mode的数据收发流程。

    Br

    Martin