中级会员
- 积分
- 259
- 威望
- 215
- 贡献
- 28
- 兑换币
- 0
- 注册时间
- 2008-3-4
- 在线时间
- 8 小时
|
1贡献
两天了,也不知道串口哪里出了问题,上位机软件总是没有反应,想显示下HELLOworld都不行
程序是这样的
/**************************************************/
/****该程序来自于智能车制作WWW.INTELLIGENTCAR.CN***/
/****************程序问题请与作者联系**************/
/**********BY DEMON EMALI:WANGPANBAO@126.COM*******/
/**************************************************/
#include <hidef.h>
#include <mc9s12dg128.h>
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
//char test[10];
unsigned char n[]={'h','e','l','l','o',' ','w','o','r','l','d','!','!','!',' '};
/*-------串口初始化----------------------*/
void SciInit(){
SCI0BDL = (unsigned char)((16000000UL /* OSC freq */ / 2) / 9600 /* baud rate */ / 16 /*factor*/);
SCI0CR1=0; /*normal,no parity*/
SCI0CR2=0X2C; /*RIE=1,TE=1,RE=1*/
}
/*-------发射端程序----------------------*/
void SciTx(unsigned char text){
while (!(SCI0SR1&0x80)); /* wait for output buffer empty */
SCI0DRH=0;
SCI0DRL=text;
}
void main()
{ int i,j;
PORTB=0x00;
DDRB=0xFF;
SciInit();
while(1)
{
PORTB=0x7e;
for(i=0;i<100;i++)
for(j=0;j<1000;j++);
PORTB=0xbd;
for(i=0;i<100;i++)
for(j=0;j<1000;j++);
PORTB=0xdb;
for(i=0;i<100;i++)
for(j=0;j<1000;j++);
PORTB=0xe7;
for(i=0;i<100;i++)
for(j=0;j<1000;j++); //PORTB小灯移动闪烁(向内侧移动)
for(i=0;i<15;i++)
{
SciTx(n); //向串口发送HELLO WORLD
}
PORTB=0xe7;
for(i=0;i<100;i++)
for(j=0;j<1000;j++);
PORTB=0xdb;
for(i=0;i<100;i++)
for(j=0;j<1000;j++);
PORTB=0xbd;
for(i=0;i<100;i++)
for(j=0;j<1000;j++);
PORTB=0x7e;
for(i=0;i<100;i++)
for(j=0;j<1000;j++); //PORTB小灯移动闪烁 (向外侧移动)
}
}
是DEMON的,我没有改动
清华的板子,直接联到电脑的串口
当不用单片机的时候,把串口的2,3脚短接在一起,调试软件发送的数据可以接收到
串口调试软是这个从论坛里下载的那个
可是就是不能显示HELLOWORLD
还请大家多多指点
我的QQ35323021
谢谢 |
|