MC9S12上的SCI无法接收数据

时间:2011-05-24 18:51:50

标签: c

我被困了几天。我只是想在我的龙12板(MC9S12)上使用SCI1传输和接收数据。我已经成功地将数据传输到PC但是我似乎无法接收数据。

我的主板上的Rx从未亮起。我知道数据正在成功发送到电路板,因为我有一个usb /串线,当我向电路板发送数据时,它有一个闪烁的灯。

这是我的代码:

void main(void)
{
     set24MHzClock();

     initializeLCD();

     clearDisplay();

     SCI1BDH=0x00;    //48MHz/2=24Mhz, 24Mhz/16= 1.5MHz, 1.5MHz/9600=156
     SCI1BDL=156;     //baud rate

     SCI1CR1 = 0x00;

     SCI1CR2 = 0x0C;

     for( ; ; )
     {
          if(SCI1SR1 & 0x20) //never receives data
          {
               clearDisplay();
               RXdata = SCI1DRL;       

               displayChar(RXdata);

               cl = SCI1SR1;

               displayCString("Rx");
          }

          SerWrite('0'); //this works
          wait500ms(); 
     }
}

我尝试了多种不同的东西......从中断驱动,分离到不同的功能等等。我还将控制寄存器更改为所有内容,但仍然没有Rx显示出来。

1 个答案:

答案 0 :(得分:0)

我最后通过使用SCI0来解决这个问题......完全相同的代码 - 不同的端口和结果。