亿加合和智能车制作

标题: XS128串口接收中断不能用的原因? [打印本页]

作者: 戥家三少    时间: 2014-3-14 11:41
标题: XS128串口接收中断不能用的原因?
void Init_SCI0(void)    //9600 520  115200 43
{
  SCI0BD=416;               
  //波特率9600  416   
  //57600   69     
  //115200 35     N=BUS/16/波特率
  SCI0CR1=0X00;         
  SCI0CR2=0X2C;      
}

这是初始化,明明开了接收器满中断使能位,而且中断序号都没错,但就是进不了中断。
求解
作者: 戥家三少    时间: 2014-3-14 14:37
真的没人知道吗?

作者: loveCSU    时间: 2014-3-14 21:10
你中断是怎么写的哟?
作者: 戥家三少    时间: 2014-3-14 21:13
loveCSU 发表于 2014-3-14 21:10
你中断是怎么写的哟?

interrupt 20 void SciInt(){
  char GetFlag = 0;    //接收上位机的调整标识
  float a;                  //存放浮点数据
  char *p;                //接收的指针标志
  int i;
  p = &a;

  Left(0);
  Right(0);

  SCI0CR2_RIE = 0;    //关接收中断
  SCI0SR1_RDRF = 1;   //清除标志位

  GetFlag = SCI0DRL;

  for(i=0;i<4;i++){
    GetData(p);
    p++;
  }


  if(GetFlag == 0x00) {
    Stand_P = a;
  }
  else if(GetFlag == 0x01){
    Stand_I = a;
  }

  else if(GetFlag == 0x02){
    LeftKp = a;
  }
  else if(GetFlag == 0x03){
    LeftKi = a;
  }
  else if(GetFlag == 0x04){
    LeftKd = a;
  }
  else if(GetFlag == 0x05){
    RightKp = a;
  }
  else if(GetFlag == 0x06){
    RightKi = a;
  }
  else if(GetFlag == 0x07){
    RightKd = a;
  }


  SCI0CR2_RIE = 1;    //开接收中断
}



作者: ゞ亂⒎㈧糟    时间: 2014-3-31 20:23
总中断开了吗
作者: 戥家三少    时间: 2014-3-31 21:34
ゞ亂⒎㈧糟 发表于 2014-3-31 20:23
总中断开了吗

其他中断能产生
作者: ゞ亂⒎㈧糟    时间: 2014-4-1 20:06
戥家三少 发表于 2014-3-31 21:34
其他中断能产生

那我就不懂了,我现在也遇到一个问题。SCI中断能进,我在调试模式能运行到给SCI0DRL赋值的这步,但串口调试助手上就是没有显示有收到数据。。。
不用中断写的话, 串口收发数据正常。 但是中断也能进入,就是没有收到数据。 这问题困扰我两天了


作者: 风少    时间: 2014-5-11 16:57
ゞ亂⒎㈧糟 发表于 2014-4-1 20:06
那我就不懂了,我现在也遇到一个问题。SCI中断能进,我在调试模式能运行到给SCI0DRL赋值的这步,但串口调 ...

请问你这个问题解决了吗?我也遇到了同样的问题。
作者: ゞ亂⒎㈧糟    时间: 2014-5-11 18:15
风少 发表于 2014-5-11 16:57
请问你这个问题解决了吗?我也遇到了同样的问题。

额,没有。直接放弃了中断这个方法。

作者: 854248633    时间: 2014-6-21 16:22
你好我还是遇到这个问题,请问你解决没有,
作者: 东东东    时间: 2014-8-25 16:11
你好 我也遇到这个问题了 请问你解决了没  已经快纠结死我了
作者: 东东东    时间: 2014-8-25 16:12
我现在一按发送数据 就会跳出程序
作者: 东东东    时间: 2014-8-25 16:54
854248633 发表于 2014-6-21 16:22
你好我还是遇到这个问题,请问你解决没有,

你好 我也遇到这个问题了 请问你解决了没  已经快纠结死我了


作者: 东东东    时间: 2014-8-25 16:54
风少 发表于 2014-5-11 16:57
请问你这个问题解决了吗?我也遇到了同样的问题。

你好 我也遇到这个问题了 请问你解决了没  已经快纠结死我了


作者: 东东东    时间: 2014-8-25 16:55
东东东 发表于 2014-8-25 16:54

我现在一按发送数据 就会跳出程序

作者: 暴走蜗牛    时间: 2014-12-21 18:40
请问楼主解决了吗?我也遇到了相同的问题
作者: 李辉磊    时间: 2015-1-21 21:19
暴走蜗牛 发表于 2014-12-21 18:40
请问楼主解决了吗?我也遇到了相同的问题

遇到相同问题,求楼主给解决方法,烦死了!

作者: nec    时间: 2015-1-29 13:51
没人回么  似乎我也碰以楼主一样问题了   能发出来没问题。但就是没法进中断~~~ 发送数据 RDRF木反应
作者: nec    时间: 2015-1-29 13:53
暴走蜗牛 发表于 2014-12-21 18:40
请问楼主解决了吗?我也遇到了相同的问题

这个问题你解决了没  那么一个多月了
作者: lowkai    时间: 2015-3-14 10:58
我也进不去中断,感觉程序只执行一句话
作者: zhaojinging302    时间: 2016-1-22 15:13
我现在用DZ60单片机,遇到的问题是只能进入一次中断
作者: yunxialeiyu    时间: 2017-2-20 22:05
ゞ亂⒎㈧糟 发表于 2014-4-1 20:06
那我就不懂了,我现在也遇到一个问题。SCI中断能进,我在调试模式能运行到给SCI0DRL赋值的这步,但串口调 ...

你好,SCIDRL不能赋值 你越到过这样的问题吗?明天我试试中断 发送 这几天一直没有发出正确的数据





欢迎光临 亿加合和智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2