Board logo

标题: 初学keilc 调试时遇到的串行窗口1无显示问题 [打印本页]

作者: asust2p4    时间: 2007-2-23 15:59     标题: 初学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编辑过]



图片附件: [初学keilc 调试时遇到的串行窗口1无显示问题] bV5cNMGc.jpg (2007-2-23 16:06, 133.89 KB) / 下载次数 423
http://bbs.eccn.com/attachment.php?aid=1149&k=3c28cf57bc2c92c072ed321816d71d73&t=1732307533&sid=4xniGZ


作者: caopengly    时间: 2007-2-25 18:50

你的硬件是什么?

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

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


作者: asust2p4    时间: 2007-2-25 23:49     标题: 应该不需要用到硬件资源吧

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

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

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


作者: guode    时间: 2007-3-1 18:42

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


作者: 165198646    时间: 2007-8-4 13:08

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

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






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0