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

请教板主一个HCS128的SCI0与PC通讯的问题:急!急!急!

请教板主一个HCS128的SCI0与PC通讯的问题:急!急!急!


请教一个HCS128的SCI0与PC通讯的问题: 在PC上用超级终端和串口调试软件上接收的数据都不对,为什么呢?
unsigned char chr;

void main(void) {
unsigned char string[]="ABCDEFGH";
int i;
SCI_Init();

for (;;){
for(i=0;i<8;i++)
{
chr=string;
SCI0Output_char (chr);
}
//EnableInterrupts;
}
}


void SCI_Init(void) {
SCI0CR2 = 0x0c; // enable T and R
SCI0BDH = 0x00;
SCI0BDL = 0x9c; // sci0 for 9600
}

void SCI0Input_char(unsigned char ch)
{
while(!(SCI0SR1&0x20))
{
}
ch=SCI0DRL;

}

void SCI0Output_char(unsigned char ch)
{
while(!(SCI0SR1&0x80))
{
}
SCI0DRL = ch;
}
你好,我是刚开始学习单片机的菜鸟,希望能得到帮助,谢谢!!
请参考这个帖子。你可以用PC的HyperTerminal进行调试。
http://bbs.eccn.com/dispbbs.asp?boardID=3&RootID=117348&ID=117348
海纳百川  有容乃大
链接好像改了:
http://bbs.eccn.com/dispbbs.asp?boardID=3&RootID=117348&ID=117348
海纳百川  有容乃大
谢谢板主,我的问题解决了,是我在初始化时忘记了对时钟初始化,谢谢板主!
你好,我是刚开始学习单片机的菜鸟,希望能得到帮助,谢谢!!
怎么对时钟初始化???
你可以参看前面帖子里给出的程序:
void Init_SCI(void)
{
//SCI0ÓëMonitorͨÐÅ
////SCI0BDL=6;
SCI0BDL=13;
SCI0BDH=0; //CLOCK=7.3728MHz, bps=38400
////SCI0CR1=0x16; //9 bit, żЧÑé
SCI0CR1=0x06; //8 bit, żЧÑé
SCI0CR2=0x2C; //ÖÐÖ¹·û²úÉúÆ÷¹Ø±Õ
SCI0CR2 |= 0x80; /*Enable TDRE interrupt*/
}
海纳百川  有容乃大
返回列表