注册 登录
查看: 322|回复: 5

想用串口助手接收一个字符串,为什么只接收了一个字母

[复制链接]
发表于 2017-8-18 15:55:40 | 显示全部楼层 |阅读模式
想用串口助手接收一个字符串,为什么只接收了一个字母


#include "common.h"
#include "include.h"

/*!
*  @brief      main函数
*  @since      v5.2
*  @note       测试查询接收多个字符串函数
*/
void main()
{
    char str[100];
    //uart_init(UART3,115200);     //初始化串口(由于 printf 函数 所用的端口就是 UART3,已经初始化了,因此此处不需要再初始化)
    printf("\n山外论坛:www.vcan123.com");
    uart_putstr    (UART3 , "\n\n\n请上位机发送多个字符:");             //发送字符串
    while(1)
    {
        if(uart_querystr (UART3,str,sizeof(str)) != 0)                //查询是否接收到字符串
        {
            uart_putstr (UART3, "\n接收到字符串:");                    //发送字符串
            uart_putstr (UART3, (uint8 *)str);                          //发送字符串
        }
    }
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2017-8-18 16:07:14 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2018-7-5 15:43:53 | 显示全部楼层
你好,请问你怎么解决 的
回复 支持 反对

使用道具 举报

发表于 2018-7-5 16:39:21 | 显示全部楼层
chensonghuai 发表于 2018-7-5 15:43
你好,请问你怎么解决 的

代码问题,查询接收,不能干太多活,楼主的代码,发多个字符串到上位机,时间比较长的,从而导致上位机发送到单片机的数据丢失
回复 支持 反对

使用道具 举报

发表于 2018-7-7 09:52:59 | 显示全部楼层
oqffuptoxl 发表于 2018-7-5 16:39
代码问题,查询接收,不能干太多活,楼主的代码,发多个字符串到上位机,时间比较长的,从而导致上位机发 ...

那我要发送一个数字12 ,它只显示了一个1,该如何解决
回复 支持 反对

使用道具 举报

发表于 2018-7-7 11:14:51 | 显示全部楼层
chensonghuai 发表于 2018-7-7 09:52
那我要发送一个数字12 ,它只显示了一个1,该如何解决

改成串口中断接收,接收后,先保存到缓存里,等主函数循环查询处理
回复 支持 反对

使用道具 举报

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

本版积分规则

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