智能车制作

标题: sci通信的问题求大神解 [打印本页]

作者: juliaレ葛    时间: 2012-6-18 16:39
标题: sci通信的问题求大神解
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */





static unsigned int waittime=0;
  void SetBusCLK_32M(void)
{   
    MMCCTL1=0X00;
    PKGCR=0X06;
    DIRECT=0x00;
    IVBR=0xFF;   
    ECLKCTL=0xC0;
   
    CPMUPROT   =0x26;   //停止保护时钟配置寄存器
    CPMUCLKS   =0x80;   //允许PLL分频
    CPMUSYNR   =31;     //设置分频因子      
    CPMUPOSTDIV=0x00;   // Set the post divider register  
    CPMUPLL    =0x10;   // Set the PLL frequency modulation  
    while(CPMUFLG_LOCK == 0);          /* Wait until the PLL is within the desired tolerance of the target frequency */
   
    CPMUPROT=0x00;            /* Enable protection of clock configuration registers */
}


void ECT0_Init(void)

{

TIOS=0x01;  //工作方式选择,定时器通道零设置为输出比较
TC0=0x00EE;  //赋初值,当TCNT从0计数到此值时第一次进入中断
TCTL2=0x02;//输出比较器,OC0输出比较成功后清零。其他口与定时器断开,为普通IO口
TSCR2=0x06;//64分频,通道七成功输出比较后计数器将被复位
TSCR1=0x80;//使能定时器
TIE=0x01;//通道0输出比较允许



}


/*串口初始化*/
void SCI_Init(void)
{
  SCI0BD = 0x0D0;     //波特率9600bps
  SCI0CR1 = 0;     //正常8位模式,无奇偶效验
  SCI0CR2 = 0x2C;  //接收中断允许
}
/*串口发送函数*/
void SCI_TXD(void)
{
  byte tmp;

  while (!(SCI0SR1 & 0x80));  //等待清空缓冲区
SCI0DRH = 0x00;           //发送一个字节,高位置零
SCI0DRL = 22;           //发送数据

SCI0SR1=0x0B0;            //清除标志
}

void main(void)

{
  /* put your own code here */
  
    DisableInterrupts;
  
  SetBusCLK_32M();
  ECT0_Init();
  DDRD=0xFF;
  PORTD=0x0F;
  SCI_Init();
  DDRB = 0xFF;
  PORTB = 0x00;
  EnableInterrupts;


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


#pragma CODE_SEG NON_BANKED


void  interrupt 8 Timer0_ISR(void)

   {
   
   unsigned int m;
   
    TFLG1=0x01;  //清中断标志位
    DisableInterrupts;
    m=TCNT ;
    TC0=m+2500 ;
    SCI_TXD();  
   
   }


各位大神看看这个程序,单步运行还可以发数。持续运行就跑费是咋回事???



作者: juliaレ葛    时间: 2012-6-18 16:42
还有谁会用串口猎人的高级收码啊?通道选择有根据功能码筛选是咋回事???
作者: mxj1005071012    时间: 2013-1-3 14:41
juliaレ葛 发表于 2012-6-18 16:42
还有谁会用串口猎人的高级收码啊?通道选择有根据功能码筛选是咋回事???

能把你简单的收发数据程序发到我邮箱吗 我用的串口猎人 收不到数据 求解  891876745@qq.com




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