智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 6982|回复: 11
打印 上一主题 下一主题

XS128SCI串口问题

[复制链接]

4

主题

248

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2267
QQ
威望
447
贡献
1700
兑换币
2
注册时间
2009-3-15
在线时间
60 小时
跳转到指定楼层
1#
发表于 2009-9-23 22:52:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的SCI0串口通讯只能从单片机发数据回来PC(数据也是错误的)  ,  但是不能接受PC发送的数据 ,断点运行的时候发现进入不了中断,各位帮我看下我的代码   问题出现在哪里??

#include <hidef.h>      
#include <MC9S12XS128.h>     
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"

#define uchar unsigned char
#define uint unsigned int


uchar re_date,r_flag;
uchar tx_date,t_flag;


void delay(uint z){
  uint i,j;
  for(i=0;i<z;i++){
  for(j=0;j<2770;j++);
  }


}


void PLL(void)
{   
   
    SYNR=1;         
    REFDV=1;      
    _asm(nop);         
    _asm(nop);
    while(!(CRGFLG_LOCK==1));   
    CLKSEL_PLLSEL =1;         
}


void sci_init(void){

    SCI0CR2=0x2c;
    SCI0CR1=0;
    SCI0BDH=0x00;
    SCI0BDL=0x52;               
                 
}


uchar sci_rec(){
  while(SCI0SR1_RDRF){
  SCI0SR1_RDRF=1;
  return SCI0DRL;
  }

}

void sci_tre(uchar t_date){
  SCI0SR1_TDRE=1;
  SCI0DRL=t_date;
  delay(10);
  
}





void main(void) {
  sci_init();
   SCI0CR2_RIE = 1;

  delay(20);
  
  sci_tre(0XFF);
  
  EnableInterrupts;
   

  for(;;) {
  

    if(r_flag==1) {
     sci_tre(re_date);
    r_flag=0;
    }
   
  
  }
  
}



#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 20 SCI0_ISR(void)

{
  re_date=sci_rec();
  r_flag=1;
}

#pragma CODE_SEG DEFAULT

4

主题

248

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2267
QQ
威望
447
贡献
1700
兑换币
2
注册时间
2009-3-15
在线时间
60 小时
2#
 楼主| 发表于 2009-9-28 00:15:36 | 只看该作者
没人回答  我自己来顶下啦!
经过几天的努力  问题终于取得进展!数据不准确是因为波特率的问题  把波特率改了就行啦,注意是跟PLL时钟频率有关。不能发送数据是因为232,用了比较小的瓷片电容,改了就行啦。
回复 支持 反对

使用道具 举报

0

主题

22

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
356
威望
245
贡献
57
兑换币
28
注册时间
2009-7-7
在线时间
27 小时
3#
发表于 2009-9-28 09:13:49 | 只看该作者
问一下  我的也是同样的问题,但是波特率我已经查过了,还是会出现数据不准确,我用的是232-485完全乱码
回复 支持 反对

使用道具 举报

80

主题

1045

帖子

0

精华

跨届大侠

北京龙邱智能科技有限公司

Rank: 10Rank: 10Rank: 10

积分
10332

论坛元老奖章

QQ
威望
2905
贡献
6151
兑换币
4515
注册时间
2008-6-7
在线时间
638 小时
4#
发表于 2009-10-11 21:46:02 | 只看该作者
恭喜,这下肯定体会颇多1
回复 支持 反对

使用道具 举报

2

主题

32

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1143
威望
268
贡献
827
兑换币
0
注册时间
2009-3-6
在线时间
24 小时
5#
发表于 2010-5-4 11:54:19 | 只看该作者
波特率的问题?你的波特率想设为多少?
回复 支持 反对

使用道具 举报

0

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
威望
202
贡献
23
兑换币
0
注册时间
2011-1-12
在线时间
5 小时
6#
发表于 2011-1-12 08:57:53 | 只看该作者
回复 2# 786892880


    波特率到底会影响什么呢?根据什么确定它的值啊?
回复 支持 反对

使用道具 举报

7

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
355
威望
272
贡献
73
兑换币
0
注册时间
2011-1-11
在线时间
5 小时
7#
发表于 2011-1-12 16:06:39 | 只看该作者
学习了
回复 支持 反对

使用道具 举报

1

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
311
威望
236
贡献
33
兑换币
6
注册时间
2011-2-19
在线时间
21 小时
8#
发表于 2011-2-19 19:02:43 | 只看该作者
楼主可以加下注释吗
回复 支持 反对

使用道具 举报

7

主题

56

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
472
QQ
威望
336
贡献
92
兑换币
0
注册时间
2011-4-16
在线时间
22 小时
9#
发表于 2011-5-29 13:46:15 | 只看该作者
楼主   请教请教   我根本就不能从芯片接受数据啊   更别说从PC发送数据了

求解啊
回复 支持 反对

使用道具 举报

12

主题

62

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1159
QQ
威望
472
贡献
601
兑换币
7
注册时间
2011-11-11
在线时间
43 小时
10#
发表于 2012-2-15 01:20:25 | 只看该作者
那楼主那个从pc给单片机发数据可以收到了吗,怎么解决的、
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 15:31 , Processed in 0.056259 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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