智能车制作

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

作者: 天涯客    时间: 2011-2-22 17:53
标题: XS128串口通信
这是本人的程序,但调试不能通过,请诸位指教一下。
程序功能:由串口向单片机发送一个数据,单片机接收到数据后再先串口返回原数,但一直接受不到数据,请问是哪里的问题,谢谢了。
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */

  void PLL_Init(void)   
{                                   //     锁相环时钟设置 总线频率为24MHz                 
    REFDV=1;                        //     寄存器设置                                    
    SYNR=3;                         //     锁相环时钟 =2*16*(3+1)/(1+1)=64MHz            
    while(!(CRGFLG&0x08));          //     等待锁相环稳定                                 
    CLKSEL=0x80;      
   }                  
void SciInit(void)
{
    SCI0BD=208;            //波特率的设置
    SCI0CR1=0;             //正常8位,无校验
    SCI0CR2=0x2c;          //中断打开  发送允许
}
unsigned char SciRead()
{
    if(SCI0SR1_RDRF==1)   //表明数据传输到SCI寄存器
    {
       SCI0SR1_RDRF=1;    //重新至为
       return SCI0DRL;    //返回数据寄存器的数据
    }
}
void SciWrite(unsigned char sendchar)
{
    while(!(SCI0SR1&0x80));
        SCI0DRH=0;
        SCI0DRL=sendchar;
}
void main(void)
{
    SciInit();
   EnableInterrupts;

  for(;;)
  {
   
  }
  /* please make sure that you never leave main */
}
#pragma CODE_SEG NON_BANKED
void interrupt 20 SCIO_re ()
{
    unsigned char ch;
    ch=SciRead();
    SciWrite(ch);
}
作者: fengchuan256    时间: 2011-3-11 22:14
你现在知道问题所在没有啊???告诉我啊,我也没调出来
作者: hehongzao    时间: 2011-3-12 11:58
我觉得应该在进入中断的时候,应该先关掉接收中断,在写入后再开接收中断等待下次数据的发送,你试试看可以不!
作者: dacong-chen    时间: 2011-3-17 17:31
应该是SCI0SR1_RDRF=0;    //重新至为0
作者: 200802030103    时间: 2011-4-29 13:07
呵呵
作者: 200802030103    时间: 2011-4-29 21:38
时钟都没初始化
作者: 天涯客    时间: 2011-4-30 19:41
现在串口通了,但无线模块不会啊!
谁教教我啊
作者: wanglichao    时间: 2011-5-1 00:08
时钟初始化后再加一个延时,不行的话就改几种波特率试一试
作者: heqinhan    时间: 2011-5-31 11:43
回复 7# 天涯客


    你们现在无线会弄了吗,我们调不好
作者: xlfd1    时间: 2011-7-28 21:56
遇到了同样的问题
作者: x_yang1989723    时间: 2012-2-15 01:11
请问楼主是怎么解决的,我们也遇到这个问题了
作者: csycaiyan    时间: 2012-3-8 22:16
天涯客 发表于 2011-4-30 19:41
现在串口通了,但无线模块不会啊!
谁教教我啊

问下楼主是怎样把串口调通的,谢谢了,这个搞了好久了
作者: 流水青云    时间: 2012-3-29 01:07
谁有程序啊  给我份。。
作者: hai_chuan    时间: 2012-4-5 16:56
天涯客 发表于 2011-4-30 19:41
现在串口通了,但无线模块不会啊!
谁教教我啊

怎么搞好的  我得上位机有数据  但是 是乱码
作者: Roy罗先森    时间: 2012-9-8 20:58
SCI0SR1_RDRF=1;  在中断里面加上这一句试一试
作者: Roy罗先森    时间: 2012-9-8 20:59
SCI0SR1_RDRF=1;  在中断里面加上这一句试一试
作者: 一清风    时间: 2012-10-15 23:08
谁有xs128的视频教程
作者: homehehe123    时间: 2012-11-22 22:04
怎么解决的。。楼主,说一下啊
作者: 刘飞月    时间: 2013-8-25 15:06
楼主 请问您是怎么实现的 我也没有调出来
作者: labor321    时间: 2014-1-21 23:46
dacong-chen 发表于 2011-3-17 17:31
应该是SCI0SR1_RDRF=0;    //重新至为0

这个没错,是1!





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