智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 5922|回复: 21
打印 上一主题 下一主题

XS128串口接收中断不能用的原因?

  [复制链接]

52

主题

725

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5889
威望
2514
贡献
1289
兑换币
1650
注册时间
2013-2-20
在线时间
1043 小时
毕业学校
韶关学院
跳转到指定楼层
1#
发表于 2014-3-14 11:41:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void Init_SCI0(void)    //9600 520  115200 43
{
  SCI0BD=416;               
  //波特率9600  416   
  //57600   69     
  //115200 35     N=BUS/16/波特率
  SCI0CR1=0X00;         
  SCI0CR2=0X2C;      
}

这是初始化,明明开了接收器满中断使能位,而且中断序号都没错,但就是进不了中断。
求解
回复

使用道具 举报

52

主题

725

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5889
威望
2514
贡献
1289
兑换币
1650
注册时间
2013-2-20
在线时间
1043 小时
毕业学校
韶关学院
2#
 楼主| 发表于 2014-3-14 14:37:59 | 只看该作者
真的没人知道吗?
回复 支持 反对

使用道具 举报

7

主题

100

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1041
威望
507
贡献
274
兑换币
326
注册时间
2013-11-19
在线时间
130 小时
3#
发表于 2014-3-14 21:10:39 | 只看该作者
你中断是怎么写的哟?
回复 支持 反对

使用道具 举报

52

主题

725

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5889
威望
2514
贡献
1289
兑换币
1650
注册时间
2013-2-20
在线时间
1043 小时
毕业学校
韶关学院
4#
 楼主| 发表于 2014-3-14 21:13:41 | 只看该作者
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;    //开接收中断
}


回复 支持 反对

使用道具 举报

22

主题

159

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3264

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

威望
1546
贡献
894
兑换币
974
注册时间
2014-2-20
在线时间
412 小时
5#
发表于 2014-3-31 20:23:11 | 只看该作者
总中断开了吗
回复 支持 反对

使用道具 举报

52

主题

725

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5889
威望
2514
贡献
1289
兑换币
1650
注册时间
2013-2-20
在线时间
1043 小时
毕业学校
韶关学院
6#
 楼主| 发表于 2014-3-31 21:34:24 | 只看该作者
ゞ亂⒎㈧糟 发表于 2014-3-31 20:23
总中断开了吗

其他中断能产生
回复 支持 反对

使用道具 举报

22

主题

159

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3264

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

威望
1546
贡献
894
兑换币
974
注册时间
2014-2-20
在线时间
412 小时
7#
发表于 2014-4-1 20:06:38 | 只看该作者
戥家三少 发表于 2014-3-31 21:34
其他中断能产生

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

回复 支持 反对

使用道具 举报

12

主题

97

帖子

0

精华

高级会员

Rank: 4

积分
989
威望
554
贡献
241
兑换币
51
注册时间
2012-2-24
在线时间
97 小时
8#
发表于 2014-5-11 16:57:14 | 只看该作者
ゞ亂⒎㈧糟 发表于 2014-4-1 20:06
那我就不懂了,我现在也遇到一个问题。SCI中断能进,我在调试模式能运行到给SCI0DRL赋值的这步,但串口调 ...

请问你这个问题解决了吗?我也遇到了同样的问题。
回复 支持 反对

使用道具 举报

22

主题

159

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3264

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

威望
1546
贡献
894
兑换币
974
注册时间
2014-2-20
在线时间
412 小时
9#
发表于 2014-5-11 18:15:14 | 只看该作者
风少 发表于 2014-5-11 16:57
请问你这个问题解决了吗?我也遇到了同样的问题。

额,没有。直接放弃了中断这个方法。
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
291
威望
153
贡献
96
兑换币
99
注册时间
2013-9-26
在线时间
21 小时
10#
发表于 2014-6-21 16:22:30 | 只看该作者
你好我还是遇到这个问题,请问你解决没有,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-5 23:20 , Processed in 0.074549 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表