找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

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

查看数: 5788 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-5-7 09:26

正文摘要:

51单片机,如何写程序,使得在串口调试助手上面不输入任何东西,能在接收窗口显示字符串,求救!

回复

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

非常感谢
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);
}
ID:277881 发表于 2018-5-7 12:42
小猫猫爱吃鱼 发表于 2018-5-7 10:31
这就是串口通讯,你是要发什么数据给上位机呢,可以加我QQ

谢谢
在串口助手接收缓冲区显示一个字符串。
ID:277881 发表于 2018-5-7 12:40
690405473 发表于 2018-5-7 09:59
不是很明白问什么

谢谢
就是在串口助手里边,打开串口后,不需要在发送缓冲区输入,接收缓冲区直接显示一个字符串
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
                        }
                }
        }
}
ID:303383 发表于 2018-5-7 10:31
提示: 作者被禁止或删除 内容自动屏蔽
ID:323950 发表于 2018-5-7 09:59
不是很明白问什么

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

Powered by 单片机教程网

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