找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4858|回复: 8
打印 上一主题 下一主题
收起左侧

在串口调试助手上自动显示字符串

[复制链接]
跳转到指定楼层
楼主
51单片机,如何写程序,使得在串口调试助手上面不输入任何东西,能在接收窗口显示字符串,求救!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:323950 发表于 2018-5-7 09:59 | 只看该作者
不是很明白问什么
回复

使用道具 举报

板凳
ID:303383 发表于 2018-5-7 10:31 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

地板
ID:213173 发表于 2018-5-7 11:44 | 只看该作者
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar table[]="0123456789ABCDEFGHIJKLMNOPQ\n";
void main()                                                       
{
        uint i,j;

        TMOD=0x20;//定时器1方式2(8位重载)
        TH1=0xfd;//定时器1重载
        TL1=0xfd;//定时器1重载
        TR1=1;        //开定时器1
//        REN=1;        //允许串行接收
        SM0=0;        //设置串口方式1(8位UART波特率可变)
        SM1=1;        //设置串口方式1(8位UART波特率可变)

        while(1)
        {
                i++;
                if(i>=50000)                //约1S间隔发送一次
                {
                        i=0;
                        for(j=0;j<28;j++)
                        {
                                SBUF=table[j];        //发送字符串
                                while(!TI);        //等待发送中断请求标志位为1(已发送)
                                TI=0;                //发送中断请求标志位清0
                        }
                }
        }
}
回复

使用道具 举报

5#
ID:277881 发表于 2018-5-7 12:40 | 只看该作者
690405473 发表于 2018-5-7 09:59
不是很明白问什么

谢谢
就是在串口助手里边,打开串口后,不需要在发送缓冲区输入,接收缓冲区直接显示一个字符串
回复

使用道具 举报

6#
ID:277881 发表于 2018-5-7 12:42 | 只看该作者
小猫猫爱吃鱼 发表于 2018-5-7 10:31
这就是串口通讯,你是要发什么数据给上位机呢,可以加我QQ

谢谢
在串口助手接收缓冲区显示一个字符串。
回复

使用道具 举报

7#
ID:277881 发表于 2018-5-7 22:46 | 只看该作者
wulin 发表于 2018-5-7 11:44
#include
#define uint unsigned int
#define uchar unsigned char

谢谢,但是有点问题哎,就是它一直在发送那一条程序,不是就发送一次,能帮我解决一下吗?
非常感谢

捕获.PNG (2.73 KB, 下载次数: 20)

捕获.PNG
回复

使用道具 举报

8#
ID:213173 发表于 2018-5-8 05:53 | 只看该作者
z173475779 发表于 2018-5-7 22:46
谢谢,但是有点问题哎,就是它一直在发送那一条程序,不是就发送一次,能帮我解决一下吗?
非常感 ...

只发送一次
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar table[]="0123456789ABCDEFGHIJKLMNOPQ\n";
void main()                                                        
{
        uint j;
       
        TMOD=0x20;//定时器1方式2(8位重载)
        TH1=0xfd;//定时器1重载
        TL1=0xfd;//定时器1重载
        TR1=1;        //开定时器1
//        REN=1;        //允许串行接收
        SM0=0;        //设置串口方式1(8位UART波特率可变)
        SM1=1;        //设置串口方式1(8位UART波特率可变)
        for(j=0;j<28;j++)
        {
                SBUF=table[j];        //发送字符串
                while(!TI);                //等待发送中断请求标志位为1(已发送)
                TI=0;                //发送中断请求标志位清0
        }       
        while(1);
}
回复

使用道具 举报

9#
ID:277881 发表于 2018-5-9 12:19 | 只看该作者
wulin 发表于 2018-5-8 05:53
只发送一次
#include
#define uint unsigned int

非常感谢
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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