智能车制作

标题: 大家看看这个串口示波器肿么了...... [打印本页]

作者: renqinglei    时间: 2012-4-19 17:04
标题: 大家看看这个串口示波器肿么了......
我看这个都两天了,各种程序试,还是串口助手能看见数据,没波形,[attach]23180[/attach][attach]23179[/attach]
#include<reg52.h>
//#include <intrins.H>
#define uchar unsigned char
#define uint unsigned int
float OutData[4] = {1100.2,340.5,903.4,100.5};
void uart_putchar(uchar a)
{
        SBUF=a;
        while(!TI);
        TI=0;
}


unsigned short CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT)
{
    unsigned short CRC_Temp;
    unsigned char i,j;
    CRC_Temp = 0xffff;

    for (i=0;i<CRC_CNT; i++){      
        CRC_Temp ^= Buf;
        for (j=0;j<8;j++) {
            if (CRC_Temp & 0x01)
                CRC_Temp = (CRC_Temp >>1 ) ^ 0xa001;
            else
                CRC_Temp = CRC_Temp >> 1;
        }
    }
    return(CRC_Temp);
}

void OutPut_Data(void)
{
  int temp[4] = {0};
  unsigned int temp1[4] = {0};
  unsigned char databuf[10] = {0};
  unsigned char i;
  unsigned short CRC16 = 0;
  for(i=0;i<4;i++)
   {

    temp  = (int)OutData;
    temp1 = (unsigned int)temp;

   }

  for(i=0;i<4;i++)
  {
    databuf[i*2]   = (unsigned char)(temp1%256);
    databuf[i*2+1] = (unsigned char)(temp1/256);
  }

  CRC16 = CRC_CHECK(databuf,8);
  databuf[8] = CRC16%256;
  databuf[9] = CRC16/256;

  for(i=0;i<10;i++)
    uart_putchar(databuf);
}
//****************
//    主函数
//****************
void main()
{
          //------设置串口------
          SCON=0x50; //串口方式1
          TMOD=0x20; //定时器1,定时方式为2
          PCON=0x00; //设定串口工作方式1/64
          TCON=0x40; //设定时器1开始计数
          TH1=0xfd;  //设定波特率为9600
          TL1=0xfd;  //
          TR1=1;     //启动定时器
          for(;;)
    {  
                OutPut_Data();
    }
}

我用的51测试,大家帮帮忙

作者: renqinglei    时间: 2012-4-19 17:06
帮帮忙啊,好歹我也对论坛发过有用帖子
作者: 我想换个ID    时间: 2012-4-19 17:29
呼叫版主啊!
作者: tongyonghua123    时间: 2012-4-19 19:08
...
作者: renqinglei    时间: 2012-4-19 20:03
大家都是这样的,看来我的资料都白发了。
作者: 哈醒123456    时间: 2012-4-19 20:18
renqinglei 发表于 2012-4-19 17:06
帮帮忙啊,好歹我也对论坛发过有用帖子

示例程序不要改动,把你要看的数据分别赋给OutData[4]中的一个或几个就可以了。
作者: renqinglei    时间: 2012-4-19 20:23
哈醒123456 发表于 2012-4-19 20:18
示例程序不要改动,把你要看的数据分别赋给OutData[4]中的一个或几个就可以了。

我这OUTDATA不是已经服了四个值了吗

作者: tomlllttt    时间: 2012-11-27 22:32
这个破东西我也用不了啊!!!

作者: 嘿……me~~~    时间: 2014-4-24 17:31
我的发送数据也是这样,表示不是非常懂啊……




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