注册 登录
查看: 757|回复: 4

[K60] 用山外的库,到串口这一步,想从电脑发送字符串给单片机,然后单片机借助串口助手显示

[复制链接]
发表于 2013-8-13 11:59:02 | 显示全部楼层 |阅读模式
代码是这样的:
void  main(void)
{
   char ch;
   char str[20];

    uart_init(UART1, 19200);                    //初始化串口1,波特率为19200 ,波特率太大,容易不稳定
    printf("串口查询接收实验\n\n");             //发送提示信息
    printf("\t\t——山外kinetis开发板\n\n");

    while(1)
    {
        /**********    测试无限等待接收    **********/
       printf("请发送数据:\n");
        ch = uart_getchar(UART1);                //从串口1中等待接收数据
        printf("你发送的字符为:%c\n\n", ch);    //从串口1中发送出去

       time_delay_ms(1000);                     //延时1s

        /**********    测试有限等待接收一个字符    **********/
        printf("快点发送字符哦,不等你的哦:\n");
        if(uart_pendchar (UART1, &ch))  printf("哈哈,赶得及哦!你发送的字符为:%c\n\n", ch);   //从串口1中发送出去
        else                           printf("o(︶︿︶)o 唉,赶不及了!收不到你的数据。\n\n");     //从串口1中发送出去

        time_delay_ms(1000);


        /**********    测试有限等待接收字符串    **********/
        printf("快点发送字符串哦,不等你的哦:\n");

        if(uart_pendstr(UART1, str))
            printf("哈哈,赶得及哦!你发送的字符为:%s\n\n", str);    //从串口1中发送出去
        else
            printf("o(︶︿︶)o 唉,赶不及了!收不到你的数据。\n\n");     //从串口1中发送出去*/
    }
}

然后出现了只能接受单个字符,从电脑发送给单片机的字符串只有第一个被存进数组,其他的都没有
回复

使用道具 举报

发表于 2013-8-13 12:06:10 | 显示全部楼层
uart_pendchar 是 获取 一个字符 的,所以 你看到 只能接受单个字符
好像是有获取一个字符串的吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-13 15:40:29 | 显示全部楼层
风落小鱼 发表于 2013-8-13 12:06
uart_pendchar 是 获取 一个字符 的,所以 你看到 只能接受单个字符
好像是有获取一个字符串的吧

恩恩,那个是获取一个字符的,不过问题就是程序里面也有uart_pendstr(UART1, str)这句获取字符串的,不过发送给单片机的字符串只有第一个被接收,网上说是因为发送得太快,单片机跟不上~~~可是我调低波特率就乱码了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-13 15:40:49 | 显示全部楼层
风落小鱼 发表于 2013-8-13 12:06
uart_pendchar 是 获取 一个字符 的,所以 你看到 只能接受单个字符
好像是有获取一个字符串的吧

恩恩,那个是获取一个字符的,不过问题就是程序里面也有uart_pendstr(UART1, str)这句获取字符串的,不过发送给单片机的字符串只有第一个被接收,网上说是因为发送得太快,单片机跟不上~~~可是我调低波特率就乱码了
回复 支持 反对

使用道具 举报

发表于 2013-8-13 18:53:59 | 显示全部楼层
刚、到 发表于 2013-8-13 15:40
恩恩,那个是获取一个字符的,不过问题就是程序里面也有uart_pendstr(UART1, str)这句获取字符串的,不过 ...

不是,你应该是 用 uart_pendstr
因为你接收完一个字节后,就调用其他函数,不再接收,而电脑此时发信息过来,就接收不到
回复 支持 反对

使用道具 举报

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

本版积分规则

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