阅读:1772回复:4
问题!!!
我在程序中加入以下代码:(目的是看到printf语句的串口输出)
#ifndef MONITOR51 SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */ TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */ TH1 = 221; /* TH1: reload value for 1200 baud @ 16MHz */ TR1 = 1; /* TR1: timer 1 run */ TI = 1; /* TI: set TI to send first char of UART */ #endif 它说SCON 没有定义!!! 于是我在前面加入#include <REG52.H>, 他又说很多东西重复定义了!!! [编辑 - 10/28/04 by Xman] |
|
|
沙发#
发布于:2004-12-09 15:54
如果你用 是52系列CPU,最好用 #include "reg52.h",将#include "reg51.h"去掉。
这样就可避免重复定义了。 |
|
|
板凳#
发布于:2004-11-02 17:25
最简单的是把REG52.H中SCON的定义拷贝到你的头文件里
|
|
|
地板#
发布于:2004-11-02 09:43
肯定是你的头文件里面没有定义SCON,你看看是不是你定义的寄存器的地址没有设置好,或是你的寄存器压根就没有定义,这个和你的那个#include <REG52.H>没有很大的关系的,主要是看你的头文件里头的“SCON”啊!你仔细查查看吧!
|
|
地下室#
发布于:2004-10-28 16:50
你的程序中肯定有#include <REG52.H>,#include <REG51.H>之类的东西,你在加一个#include <REG52.H>当然是重复定义了,关于SCON没有定义的问题,你仔细查看你的头文件,应该容易找出来
|
|
|