首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

初学keilc 调试时遇到的串行窗口1无显示问题

初学keilc 调试时遇到的串行窗口1无显示问题

 #include<stdio.h>
 main()
 {int i,s=0;
 i=1;
 while(i<=100)
 {s=s+i;
 i++;
 }
 printf("1+2+3+`````+100=%d\n",s);
 while(1);
 }

基本上原封不动的照超教科书的例子,但在build target进入Debug按下Go以后,Serial#1却什么也没有?按理该显示1+2+3+`````+100=5050不是吗?什么原因呢?

bV5cNMGc.jpg

[此贴子已经被作者于2007-2-23 16:06:02编辑过]

你的硬件是什么?

一般常用的单片机上都有串口控制器,通过它可以很好的访问上位机。

从你的程序上看,你没有使用什么硬件资源,计算机怎么接受你的信息呢?

这个版主不太冷 =========================== 我的中电网博客:http://blog.chinaecnet.com/u/20/index.htm

应该不需要用到硬件资源吧

我这里用的是keil的软件仿真(simulator),根据教材(见Keil Cx51 V7.0单片机高级语言编程与uVision2应用实践P13~15)的说法:用户程序里采用scanf()和printf()所进行的输入输出操作,都是通过串行窗口1实现的

百思不得其解的是完全按照书上来的却行不通

[此贴子已经被作者于2007-2-25 23:51:06编辑过]

你的程序里面没有对串行口进行设置,

你没有写串口通讯协议的代码加上就好了

SCON = 0x50; //串口方式1,允许接收
TMOD = 0x20; //定时器1 定时方式2
TCON = 0x40; //设定时器1 开始计数
TH1 = 0xE8; //11.0592MHz 1200 波特率
TL1 = 0xE8;
TI = 1;
TR1 = 1; //启动定时器

返回列表