智能车制作
标题:
SCI程序接收不到数据,求解答
[打印本页]
作者:
花小美
时间:
2012-12-7 20:06
标题:
SCI程序接收不到数据,求解答
#include <hidef.h>
#include<mc9s12xs128.h>
void SET_PLL()
{
CLKSEL=0x00;
PLLCTL_PLLON=1;
SYNR=0xc0|0x02;
REFDV=0x80|0x01;
POSTDIV=0x00;
_asm(nop);
_asm(nop);
while(!(CRGFLG_LOCK==1));
CLKSEL_PLLSEL=1;
while(1);
}
void uart_init (void)
{
SCI0CR2=0x80;
SCI0BDH=0x00;
SCI0BDL=0x9c;
}
void uart_putchar(unsigned char ch)
{
while(!(SCI0SR1&0x40))
{}
SCI0DRL=ch;
}
void main (void)
{
uchar str []={'h','e','l','l','o'};
uchar i=0;
SET_PLL();
EnableInterrupts;
uart_init ();
for (;i<5;i++)
uart_putchar(str[i]);
for(;;)
{}
}
程序有问题吗?
作者:
mxj1005071012
时间:
2012-12-8 16:35
没有发现错误
作者:
花小美
时间:
2012-12-11 19:39
好吧,谢了~
作者:
houhongyi
时间:
2013-1-21 01:36
你看看是不是因为波特率不匹配造成误码率太高。我也是弄了一下午,现在数据流稳定了。。。你用PLL变频到26M再用9600的波特率,可实现0.76%的误码率。效果不错。只不过我现在发00,单片机返回80。。。不过误码率几乎可以忽视了。。。24M在9600下的误码率在6.9%左右,太高了,发00 回的数据都不一样,通讯就是不可靠的。。。。
都是新手,如有不妥之处还请包涵哦~~~
作者:
微电部队
时间:
2013-1-30 15:34
SCI0CR2=0x80;改成 SCI0CR2=0x08;
作者:
465153179
时间:
2013-2-3 10:28
有可能0通道不行,你它换成1通道看看,比如SCI1CR2=0x80
作者:
夏夜之星
时间:
2013-4-12 19:20
问一下你的问题解决吗?这位车友
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2