智能车制作

标题: 新手求助,s12xs128的串口通讯搞不定了,请高手帮忙 [打印本页]

作者: rlen    时间: 2012-5-3 22:06
标题: 新手求助,s12xs128的串口通讯搞不定了,请高手帮忙
rt,pc和单片机通讯,PC发送指令控制单片机没问题,但是单片机发送数据回来PC接受不到,用的是串口调试助手,测试用的代码如下:

#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */




void led_test(void);

void main(void) {

unsigned long loop_index;
unsigned char msg;

  CLKSEL=0X00;   
  PLLCTL_PLLON=1;   
  SYNR =0xc0 | 0x07; //VCO=2*OSC*(1+SYNR)/(1+REFDV)=128Mhz                     
  REFDV=0x80 | 0x01; //REF=OSC/(1+REFDV)=8Mhz
  POSTDIV=0x00;      //BUS=PLL/2=VCO/(2*POSTDIV)=64Mhz
  _asm(nop);         
  _asm(nop);
  _asm(nop);
  _asm(nop);
  while(!(CRGFLG_LOCK==1));   
  CLKSEL_PLLSEL =1;  
  
  SCI0BD=208;        //19200bps  Baud Rate=BusClock/(16*SCIBD)
  SCI0CR1=0;         //8位无校验
  SCI0CR2=0x0c;       //允许发送接收
  
  DDRJ_DDRJ7=1;   


  for(;;) {
    if (loop_index < 1000000) {
      loop_index++;
    } else {
      while (!SCI0SR1_TDRE);
      SCI0DRL = msg;
      msg++;
      loop_index=0;
      led_test();
    }
   
    if (SCI0SR1_RDRF) {
      if(SCI0DRL == 'F') {
        led_test();
      }
    }
  }
  
}


请各位大大帮忙看看,是代码问题还是其他方面的问题?或者PC端需要设置一下吗?感激不尽!!


作者: 大同农村人    时间: 2012-5-4 14:26
我也是新手
作者: 大同农村人    时间: 2012-5-4 14:40
loop_index、msg没有初值哦,
if (SCI0SR1_RDRF)
{
      if(SCI0DRL == 'F')
      {
        led_test();
      }
}发送的数据是一定F吗?
作者: 小时    时间: 2012-5-5 10:42
接收的部分去掉试下
作者: rlen    时间: 2012-5-15 20:43
去掉也没有用啊,到现在也没找到原因
作者: Make_it!    时间: 2012-5-20 18:13
我还不知道怎么用串口通讯
作者: rlen    时间: 2012-5-25 10:13
换了一个FT232的USB转串口就好了,看样子是核心板上自带的转换芯片有问题。。。




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