智能车制作

标题: 串口接收四个变量并运算。 [打印本页]

作者: liu_liuk    时间: 2012-5-17 11:04
标题: 串口接收四个变量并运算。
这是一段串口程序,就是串口接收四个变量数据然后分别进行运算,再从串口发出。接收到的数据不知道为什末。求高手帮忙,可有酬劳:362568569

#include <hidef.h>      
#include <mc9s12dg256.h>     
#pragma LINK_INFO DERIVATIVE "mc9s12dg256"


byte num;
byte rev_data[3];
//.................SCI0模块初始化....................//
void SCI0_Init(void)
    {
SCI0BDL=(unsigned char)((16000000UL /* OSC freq */ / 2) / 9600 /* baud rate */ / 16 /*factor*/);
SCI0CR1=0X00;
SCI0CR2=0X2C;
    }

//..................主函数...................//
void main(void)
{
SCI0_Init();
DisableInterrupts; /*禁止中断*/
while(1)
{      
static uchar k=0;
if(SCI0SR1_RDRF==1)
{
  rev_data[k++]=SCI0DRL;

num= rev_data[0]+1;   /*接收第一个数据并运算*/
  while(!SCI0SR1_TDRE);
SCI0DRL=num;          /*把第一个运算结果输出*/

num= rev_data[1]+2;      /*接收第二个数据并运算*/
  while(!SCI0SR1_TDRE);
SCI0DRL=num;               /*把第二个运算结果输出*/
  
num= rev_data[2]+3;  /*接收第三个数据并运算*/
  while(!SCI0SR1_TDRE);
SCI0DRL=num;    /*把第三个运算结果输出*/

  num= rev_data[3]+4;      /*接收第四个数据并运算*/
  while(!SCI0SR1_TDRE);
SCI0DRL=num;            /*接收第四个数据并运算*/
  
}
}


作者: xinmengwangran    时间: 2012-5-18 15:51
有点没明白你的问题。你的程序的意思就是第一个数据加一,第二个数据加二,以此类推 然后回发有什么别的奥秘吗??????
作者: liu_liuk    时间: 2012-5-19 15:48
没别的意思。也不是非依次类推的相加。随便加减一个数。是个固定值、有解决方法吗。拜求解决。
作者: 快乐毛毛虫f1    时间: 2012-5-20 11:19
思考中




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