智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1728|回复: 2
打印 上一主题 下一主题

新手求助,MC9S12G系列串口问题,发送可以,接收不了

[复制链接]

3

主题

11

帖子

0

精华

注册会员

Rank: 2

积分
109
威望
53
贡献
42
兑换币
27
注册时间
2014-9-9
在线时间
7 小时
毕业学校
安徽工业大学
跳转到指定楼层
1#
发表于 2014-9-9 10:14:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序如下:
//-----------------------初始化SCI0----------------------------//
SciInit()
{
   SCI0CR2=0x00;
    SCI0SR2=0x80;
    SCI0ASR1=0x83;
    SCI0ACR1=0x00;
    SCI0ACR2=0x00;
    SCI0SR2=0x00;
    (void)SCI0SR1;
    PERS=0xef;

    SCI0BDH=0x01;
    SCI0BDL=0x39;         
    SCI0CR1=0x13;
    //ExitCritical();         
    SCI0CR2=0x2c;
}

//----------------------读SCI数据-----------------------------//
unsigned char SciRead()
{
    if(SCI0SR1_RDRF==1)     //表明数据从位移寄存器传输到SCI数据寄存器
      {
      SCI0SR1_RDRF=1;     //读取数据寄存器会将RDRF清除  重新置位
      return SCI0DRL;        //返回数据寄存器的数据
      }
}

//-----------------写SCI数据---------------------------------//
void SciWrite(unsigned char sendchar)
{
    while (!(SCI0SR1&0x80));
    SCI0DRH=0;
    SCI0DRL=sendchar;
}



//------------------------main----------------------------------//
void main(void)
{
/* Write your local variable definition here */

  /*** Processor Expert internal initialization. DON'T REMOVE THIS CODE!!! ***/
  PE_low_level_init();
  /*** End of Processor Expert internal initialization.                    ***/

  SciInit();

  for(;;)
  {
  //SciWrite(0x07);
  }  
  /*** Processor Expert end of main routine. DON'T MODIFY THIS CODE!!! ***/
  for(;;){}
  /*** Processor Expert end of main routine. DON'T WRITE CODE BELOW!!! ***/
} /*** End of main routine. DO NOT MODIFY THIS TEXT!!! ***/

//---------------------------接收中断函数-----------------------//
#pragma CODE_SEG NON_BANKED  
ISR (Rs232_Interrupt)
{
unsigned char ch;
ch=SciRead();
SciWrite(ch);
}

回复

使用道具 举报

24

主题

492

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
13138
威望
5341
贡献
1645
兑换币
2222
注册时间
2012-3-9
在线时间
3076 小时
毕业学校
嘉兴学院
2#
发表于 2014-9-9 14:06:02 | 只看该作者
在线仿真看你中断函数进的去吗 进不去 看下串口服务函数编写对不对 串口初始化对不对  进的去 就是你 接受子函数的问题了
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

注册会员

Rank: 2

积分
109
威望
53
贡献
42
兑换币
27
注册时间
2014-9-9
在线时间
7 小时
毕业学校
安徽工业大学
3#
 楼主| 发表于 2014-9-9 15:11:38 | 只看该作者
机遇 发表于 2014-9-9 14:06
在线仿真看你中断函数进的去吗 进不去 看下串口服务函数编写对不对 串口初始化对不对  进的去 就是你 接受子 ...

中断进不去,应该是初始化的问题,波特率和奇偶校验都对的,一直找不到原因
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-29 03:36 , Processed in 0.082667 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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