智能车制作

标题: 急急急!大神帮我看下代码,飞思卡尔通信示例小程序。 [打印本页]

作者: tangyikejun    时间: 2012-5-4 16:13
标题: 急急急!大神帮我看下代码,飞思卡尔通信示例小程序。
我用在线调试的时候发现状态寄存器SCIRDL的值不会改变。
然后我用SCI0对应引脚无法输出数据,换用SCI1能输出数据,但是输出的数据不对,比如程序上是0X01,输出就是0X06,程序上是0x02,输出是0x18.

我怀疑板子坏了,哪个大神可帮调试下?

程序如下:
#include <hidef.h>     
#include <MC9S12XS128.h>   
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"

void SCIInit(void)
{
    unsigned char t;
    //定义波特率Bt=9600,SCI1BD=fBUS/(16*Bt)
    SCI1BDH = 0x00;    //再给低8位赋值
    SCI1BDL = 0x68; //须先给高8位赋值//主频16M  
    SCI1CR1 = 0x00;    //设置允许SCI,正常码输出,8位数据,无校验
    t = SCI1DRL;       //读数据寄存器(清0)
    t = SCI1SR1;       //读状态寄存器(清0)
    SCI1CR2 = 0x2C;    //允许SCI1接收和发送 查询方式
}
void main()
{
DisableInterrupts;
     SCIInit();     
     EnableInterrupts;
    while(1)  
    {
      while(SCI1SR1_TDRE!=1); //这句话很重要,第一个发送完在发送第二个,否则发送错误
      SCI1DRL= 0x01;
      }
}
硬件连接方式:单独的板子上的S3口接 串口,并供电。其他脚都悬空。

我怀疑板子坏了,哪个大神可帮调试下?





欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2