智能车制作

标题: XS128一个简单的SCI中断,卡主了。求助啊 [打印本页]

作者: 小车车    时间: 2013-11-16 15:42
标题: XS128一个简单的SCI中断,卡主了。求助啊
void Sci0_Init(void) {  
  SCI0BD=0X52;
  SCI0CR1=0X00;
  SCI0CR2=0X0C;
}
void delay() {

  unsigned int loop_i,loop_j;
  for(loop_i=0;loop_i<500;loop_i++) {

    for(loop_j;loop_j<500;loop_j++) {

      ;
    }
  }
}
char flag=0;
void main(void)
{



  unsigned char loop_index;
  Sci0_Init();
  EnableInterrupts;
  for(loop_index=0;loop_index<100;loop_index++)
  {

     while(!SCI0SR1_TDRE);
      SCI0DRL=loop_index;
      delay();

  }
while(1)
{;
}

}
上面是利用SCI模块连续发送0-99,要改成中断完成数据发送该怎么办啊。
char flag=0;
void main(void)
{



  unsigned char loop_index;
  Sci0_Init();
  EnableInterrupts;
  for(loop_index=0;loop_index<100;loop_index++)
  {

     while(!flag);
     flag=0;
      SCI0DRL=loop_index;
      delay();

  }

}
#pragma CODE_SEG NON_BANKED
void interrupt VectorNumber_Vsci0  SCI0(void)
{
     if(while(!SCI0SR1_TDRE) {
      flag=1;
     }

}
#pragma CODE_SEG DEFAULT   

这样改为什么不能成功啊,谁能帮我改下啊。找下错误

作者: 小车车    时间: 2013-11-16 15:57
谁能帮我把那个改成中断形式的啊。
作者: 机遇    时间: 2013-11-16 16:48
我好像就记得接受要中断 发送可以不用中断
作者: 小车车    时间: 2013-11-18 10:13
机遇 发表于 2013-11-16 16:48
我好像就记得接受要中断 发送可以不用中断

MC9S12XS 单片机原理及嵌入式系统开发这本书  249页这个例子他留了一个思考改成中断怎么做,但是我怎么也改不成功。感觉不难,但是就是没有达到实际效果

作者: ゞ亂⒎㈧糟    时间: 2014-3-28 21:38
SCI0CR2寄存器中  中断没有使能。
作者: 就一菜    时间: 2014-4-19 22:10
我的SCI中断进去之后怎么好像出不来了,请问知不知道是怎么回事?是不是标志位没清,但是我不知道标志位是什么
作者: yyyzrxh    时间: 2014-4-19 22:35
5楼正解
作者: 244880113    时间: 2015-2-26 16:46
这个例程可以在串口调试助手上观察到接受的数据吗??





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