找回密码
 立即注册

QQ登录

只需一步,快速开始

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

关于51单片机小系统SCH51 V1.45 的串口疑问

[复制链接]
跳转到指定楼层
楼主
ID:212881 发表于 2020-3-8 16:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好,我有一个问题想得到你的解答,不胜感激。
我加了一个任务
void  Task_Pulse_com  (void)
{
//        SBUF = 200;            // 将字符送入串口2的发送缓冲寄存器  
//        while(TI==1) TI=0;
        
        printf   ("Hello World!\n");
}

加入printf   ("Hello World!\n");后程序就死了,其它任务灯也不闪了,
如果只运行SBUF = 200;            
           while(TI==0) TI=0;
就没问题,串口一直可以发送。
感 到很疑惑,
我把程序一起发给你,希望能指点一下,谢谢了;

51os研究.rar

681.52 KB, 下载次数: 4

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:674113 发表于 2020-3-8 17:52 | 只看该作者
检查一下时钟设置,附送51打印程序#include<reg51.h> #include<stdio.h> void main(void) {  SCON = 0x50;//串口方式1,允许接收  TMOD = 0x20;//定时器1定时方式2  TCON = 0x40;//设定时器1开始计数  TH1 = 0xE8;//11.0592MHz 1200波特率  TL1 = 0xE8;  TI = 1;  TR1 = 1; //启动定时器 while(1)   {    printf ("Hello World!\n"); //显示Hello World   } }
回复

使用道具 举报

板凳
ID:275826 发表于 2020-3-8 18:49 | 只看该作者
这样写:
TI=1;
printf   ("Hello World!\n");
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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