智能车制作

标题: XS128串口通信 [打印本页]

作者: wwuh    时间: 2014-9-3 17:10
标题: XS128串口通信
这是我的串口通信程序,为什么128无法接收到数据啊?推测进不了中断函数,因为发数据后测了一下PORTA口,还是低电平。跪求帮忙看看是什么问题 #include <hidef.h>         
#include "derivative.h"         
#include <mc9s12xs128.h>


void PLL_Init(void) {

    CLKSEL=0X00;                                                //disengage PLL to system
    PLLCTL_PLLON=1;                                        //turn on PLL
    SYNR =0xc0 | 0x09;                        
    REFDV=0x80 | 0x01;
    POSTDIV=0x00;                       //pllclock=2*osc*(1+SYNR)/(1+REFDV)=160MHz;
    _asm(nop);                          //BUS CLOCK=80M
    _asm(nop);
    while(!(CRGFLG_LOCK==1));                  //when pll is steady ,then use it;
    CLKSEL_PLLSEL =1;                                //engage PLL to system;

}               
void SciInit(void)
{
    SCI0BD=521;            //波特率的设置
    SCI0CR1=0;             //正常8位,无校验
    SCI0CR2=0x2c;          //中断打开  发送允许
}

void SciWrite(unsigned char sendchar)
{
    while(!(SCI0SR1&0x80));
        SCI0DRH=0;
        SCI0DRL=sendchar;
}
void main(void)
{
   DDRA=0xff;
    PLL_Init();
    SciInit();
   EnableInterrupts;

  for(;;)
  {

  }
  /* please make sure that you never leave main */
}
#pragma CODE_SEG NON_BANKED
void interrupt 20 SCIO_re ()
{

    unsigned char ch;
    SCI0CR2_RIE=0;

    SCI0SR1_RDRF=1;
    ch=SCI0DRL;  
    PORTA=0xff;
    SciWrite(ch);
     SCI0CR2_RIE = 1;
}


作者: wwuh    时间: 2014-9-3 17:16
波特率设置没问题,串口线也可以用
作者: luoriyuhui    时间: 2014-10-26 00:12
:):):):):):)
作者: NB没B    时间: 2014-11-29 11:54
一样

作者: 暴走蜗牛    时间: 2014-12-21 18:37
请问楼主解决了吗?我也遇到了这种问题
作者: gzf    时间: 2015-4-2 22:56
楼主搞好没  怎么弄?





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2