智能车制作

标题: SCI程序有问题,电脑接收不到数据,求大神指教 [打印本页]

作者: luder    时间: 2012-10-16 16:22
标题: SCI程序有问题,电脑接收不到数据,求大神指教
程序如下
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */



void initPLL(void){                 //锁相环初始化,将总线频率调整到40M
    CLKSEL=0X00;                        //禁止锁相环,时钟有外部晶振提供,总线频率=外部晶振/2
    PLLCTL_PLLON=1;                     //打开锁相环
    SYNR=0x49;         
    REFDV=0x43;                         // pllclock=fvco=2*osc*(1+SYNR)/(1+REFDV)=80MHz;
    POSTDIV = 0x00;
    _asm(nop);                           //BUS CLOCK=40M
    _asm(nop);
    while(!(CRGFLG_LOCK==1));            // 等待锁相环初始化完成
    CLKSEL_PLLSEL =1;                    // 使用锁相环
}
//-----------------------初始化SCI0----------------------------//
void SciInit()
  {     
     SCI0BDL=130;                       //波特率19200   
     SCI0CR1=0;
     SCI0CR2=0X2C;
  }
//----------------------读SCI数据-----------------------------//
   unsigned char SciRead()
    {
      if(SCI0SR1_RDRF==1)     //表明数据从位移寄存器传输到SCI数据寄存器      
         {
         SCI0SR1_RDRF=1;      //读取数据寄存器会将RDRF清除  重新置位      
         return SCI0DRL;      //返回数据寄存器的数据      
          }
    }
   
   
    //-----------------写CI数据---------------------------------//
    void SciWrite(unsigned char sendchar)
     {     
       while (!(SCI0SR1&0x80));
       SCI0DRH=0;
       SCI0DRL=sendchar;
     }
     
     
void main(void)
{
  /* put your own code here */
   DisableInterrupts;
   initPLL();
   SciInit();
  

EnableInterrupts;

  for(;;) {
    //_FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}

#pragma CODE_SEG NON_BANKED   
void  interrupt 20 SCI0_re(void)
{
   unsigned char ch;
   ch=SciRead();
   SciWrite(ch) ;
  }


现象是用串口工具发送给单片机数据,串口工具表示接收不回来,是什么问题呢,串口的波特率、数据位什么的跟程序设定一样,并且com口处也改成一样的,是不是程序有什么问题

作者: luder    时间: 2012-10-16 16:23
帮帮忙吧
作者: luder    时间: 2012-10-16 18:00
没人知道吗
作者: luder    时间: 2012-10-16 18:31
以上程序是正确的,好吧,自己没有看电路图,原来自己电路板上的串口和芯片管脚是断开的,要跳线帽~~~晕死
作者: 嵌入式系统设计    时间: 2012-11-11 10:35
luder 发表于 2012-10-16 18:31
以上程序是正确的,好吧,自己没有看电路图,原来自己电路板上的串口和芯片管脚是断开的,要跳线帽~~~晕死

用串口助手调出来了吗??求助
作者: WK033857    时间: 2013-4-6 19:23





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