智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

[单片机] MC9S12NE64VTU的串口SCI收发问题

[复制链接]

2

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
352
威望
220
贡献
84
兑换币
0
注册时间
2012-3-18
在线时间
24 小时
毕业学校
河北工业大学
跳转到指定楼层
1#
发表于 2012-7-6 11:46:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
以下为我的程序,使用断点可以用485调试助手正确收发,可是全速运行就会收到乱码,请问高手这是什么问题
#include <hidef.h>      
#include <mc9s12ne64.h>     
uchar data;
//----------PLL初始化----------//
void clockinit(void)
{                                                      
    CLKSEL_PLLSEL=0;   
    PLLCTL_PLLON=0;      //turn off PLL
    SYNR =0x01;                          
    REFDV=0x01;          //pllclock=2*osc*(1+SYNR)/(1+REFDV)=50MHz,busclk=pllclk/2=25M;   
    PLLCTL_PLLON=1;      //turn on PLL
    _asm(nop);
    _asm(nop);
    _asm(nop);
    _asm(nop);
    while(!(CRGFLG_LOCK==1));   //the pll is stable
    CLKSEL_PLLSEL =1;           //engage PLL to system;
    COPCTL = 0x00;              //disable watchdog
}
//----------串口SCI1初始化----------//
void sciinit(void)
{
   SCI1BDL=0xA3; //bus clock is 25M?baud rate is 9600
   SCI1BDH=0x00;
   SCI1CR1=0x00; //8 bits of data,1 bit of stop
   SCI1CR2=0XAC; //admit receive and transmit interrupt,admit receive and transmit
}
//----------IO初始化----------//
void IOinit(void)
{
  DDRG=0XFF;
  PTG=0X00;
}
//----------主函数----------//
void main(void)
{
   DisableInterrupts;
   clockinit();
   sciinit();
   IOinit();
   PEAR_NECLK=0;
   EnableInterrupts;
   while(1);
}
//----------SCI1中断响应函数----------//
#pragma CODE_SEG NON_BANKED
interrupt 21 void SCI1_Isr(void)
{  
  uchar r;
  r=SCI1SR1;
  //while(!SCI1SR1_RDRF);
  data=SCI1DRL;              //read received character + clear interrupt flag
  PTG=0X40;                  //set transceiver chip for transmit
  r=SCI1SR1;
  while(!SCI1SR1_TDRE);      //SC1DR is busy,wait
  SCI1DRL=data;              //set transceiver chip for receive
  PTG=0X00;                       
}
#pragma CODE_SEG DEFAULT

2

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
352
威望
220
贡献
84
兑换币
0
注册时间
2012-3-18
在线时间
24 小时
毕业学校
河北工业大学
2#
 楼主| 发表于 2012-7-6 15:45:13 | 只看该作者
高手指教啊
回复

使用道具 举报

13

主题

42

帖子

0

精华

高级会员

Rank: 4

积分
683
威望
409
贡献
132
兑换币
52
注册时间
2012-2-26
在线时间
71 小时
3#
发表于 2012-7-29 19:11:25 | 只看该作者
是20号中断还是21号中断啊?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-27 19:44 , Processed in 0.042070 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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