智能车制作

 找回密码
 注册

扫一扫,访问微社区

楼主: 知其然
打印 上一主题 下一主题

虚拟示波器,破解版

  [复制链接]

4

主题

359

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1729
QQ
威望
871
贡献
508
兑换币
553
注册时间
2014-2-26
在线时间
175 小时
41#
发表于 2014-4-26 19:07:25 | 只看该作者
知其然 发表于 2013-12-4 23:57
我会了

大哥,# include "common.h"???


回复 支持 反对

使用道具 举报

8

主题

82

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1986

优秀会员奖章

威望
1222
贡献
504
兑换币
410
注册时间
2013-10-4
在线时间
130 小时
42#
 楼主| 发表于 2014-4-26 21:42:09 | 只看该作者
刘旺小盆友 发表于 2014-4-26 19:07
大哥,# include "common.h"???

头文件“sbq.h”/*********************************************************************/
# ifndef _SBQ_H_
# define _SBQ_H_

//extern s16 pulse;
unsigned short CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT);
void OutPut_Data(void);
void sbq(void);

#endif

/********************************************************************/

运行文件“sbq.c”
/********************************************************************/
/*************************虚拟示波器底层驱动*********************************/
# include "common.h"      //根据你的底层需要,看是否需要添加
# include "uart.h"
# include "sbq.h"
extern u16 ADresult;
float OutData[4] = { 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(UART3,databuf);
}
void sbq(void)
{
                 
          OutData[0]=ADresult;
     OutData[1]=100;
    //    OutData[2]=(float)475;
//        OutData[3]=(float)pulse ;
                OutPut_Data();
}

/********************************************************************/

回复 支持 反对

使用道具 举报

7

主题

24

帖子

0

精华

高级会员

Rank: 4

积分
665
威望
335
贡献
214
兑换币
209
注册时间
2015-10-21
在线时间
58 小时
毕业学校
速度和感受
43#
发表于 2015-11-7 19:59:46 | 只看该作者
不会呀
回复 支持 反对

使用道具 举报

7

主题

24

帖子

0

精华

高级会员

Rank: 4

积分
665
威望
335
贡献
214
兑换币
209
注册时间
2015-10-21
在线时间
58 小时
毕业学校
速度和感受
44#
发表于 2015-11-7 20:02:13 | 只看该作者
不会呀
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-5 21:59 , Processed in 0.069079 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表