亿加合和智能车制作

标题: 和大家分享下如何使用visualscope,同时也又有些问题请教 [打印本页]

作者: 笑而不语    时间: 2014-2-22 20:58
标题: 和大家分享下如何使用visualscope,同时也又有些问题请教
        接触智能车来,说道上位机,以前看到有人在论坛里分享了visualscope,这几天用了下,过程中也遇到了一些问题,首先先说怎么用吧,也帮助一些准备使用同学,给他们一些参考,我当时就自己摸索浪费了好长时间。
      首先先配置波特率,com口等基本配置。如图:
      [attach]56034[/attach]
      在菜单栏Setup里面选择第一个选项,或者单击右下方状态栏,
      然后你会发现Setup第二个选项是选择协议,有两种,分别是check sum 和crc 。我这里选择check sum。
      然后下面要做的就是发送格式。看这里。
      [attach]56036[/attach]

     所以你要按着这个协议发送数据。
     通道一地址低字位的低字节 ,通道一地址低字位的高字节 ,
     通道一地址高字位的低字节 ,通道一地址高字位的高字节 ,
     以此类推。。。
     然后  chkSum.
     下面就是发送数据。
     通道一数据低字节 ,通道一数据高字节 ,
     .....
     chksum。
     有同学会问chksum是什么,其实就是你所有字节相加,最后于0xff与以下得到的字节,至于个通道的地址,在这里设置:
      [attach]56037[/attach]
好了,按着这样协议就可以使用visualscope。
     下面就是有些问题想请教使用过的打什么?为什么我发送个常数它的波形是三角波啊,像这样:
      [attach]56038[/attach]
     他每次画出我发送的数之后都会回到原点,能不能让它在我发送下个数之前不会到原点,就最简单的,我如何让它画出一个方波的波形啊,请各位使用过的大神们教一下小弟。。。
     

作者: huang91    时间: 2014-2-22 21:25
选 crc
下位机发送代码[attach]56041[/attach]

作者: 笑而不语    时间: 2014-2-22 22:37
huang91 发表于 2014-2-22 21:25
选 crc
下位机发送代码

用crc协议试过了,谢谢啊,之前也偷懒就没用crc协议,没想到是这个原因,谢谢

作者: huang91    时间: 2014-2-22 23:05
本帖最后由 huang91 于 2014-2-22 23:09 编辑
笑而不语 发表于 2014-2-22 22:37
用crc协议试过了,谢谢啊,之前也偷懒就没用crc协议,没想到是这个原因,谢谢

我记得VScope里是有个CRC的发送实例的。
作者: 梦在星河之畔    时间: 2014-3-3 19:22
可以请教一下吗,VisualScope具体是用来干什么的
作者: -單眼皮_    时间: 2014-3-12 09:34
楼主,你好,那个通道的地址是怎么找的,急求,多谢指教
作者: 544316200    时间: 2014-3-12 10:09
谢谢分享,好资料
作者: 笑而不语    时间: 2014-3-13 15:32
梦在星河之畔 发表于 2014-3-3 19:22
可以请教一下吗,VisualScope具体是用来干什么的

就是你采集到数据可以通过串口发送到visualScope观察,就相当于直接用示波器接你要采集的芯片引脚一样

作者: 笑而不语    时间: 2014-3-13 15:34
-單眼皮_ 发表于 2014-3-12 09:34
楼主,你好,那个通道的地址是怎么找的,急求,多谢指教

就是左下角哪里,每个通道都有地址,可以自己设置

作者: -單眼皮_    时间: 2014-3-13 22:44
笑而不语 发表于 2014-3-13 15:34
就是左下角哪里,每个通道都有地址,可以自己设置

不知道该填什么,这个通道地址是什么

作者: __殘缺、    时间: 2014-3-14 20:33
本帖最后由 __殘缺、 于 2014-3-14 20:34 编辑

串口和波特率都是不可调的怎么办?C:\Users\PC\Desktop
作者: Complicated    时间: 2014-3-16 17:57
楼主,你也用的K60,能不能把串口的发送程序给我啊,我们想把数据发送到电脑上但是不知道怎么办
作者: jo_kjy@sina.com    时间: 2014-4-23 13:54
为什么 我在串口猎人里都有数据  但是 示波器里 不显示啊???
作者: jo_kjy@sina.com    时间: 2014-4-23 13:55
还有 车跑起来 在串口猎人纯看数据的话 好多啊, 十几页 ,如果放在 虚拟示波器上的话 那么多数据能行吗?

作者: czr27    时间: 2014-4-23 13:57
__殘缺、 发表于 2014-3-14 20:33
串口和波特率都是不可调的怎么办?

下载破解版

作者: gsc617    时间: 2014-4-26 15:29
__殘缺、 发表于 2014-3-14 20:33
串口和波特率都是不可调的怎么办?

我的端口和波特率也改不了,怎么解决
作者: __殘缺、    时间: 2014-4-26 19:44
czr27 发表于 2014-4-23 13:57
下载破解版

下的是别人在论坛里发的,说是破解版的,但波特率这些不能改

作者: czr27    时间: 2014-4-26 21:05
__殘缺、 发表于 2014-4-26 19:44
下的是别人在论坛里发的,说是破解版的,但波特率这些不能改

好像是我发的 哈哈 没破解好 下别人的

作者: xiao-pang    时间: 2014-5-11 15:19
#include "outputdata.h"
#include "uart.h"

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[i];
        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[i]  = (int)OutData[i];
    temp1[i] = (unsigned int)temp[i];
   
   }
   
  for(i=0;i<4;i++)
  {
    databuf[i*2]   = (unsigned char)(temp1[i]%256);
    databuf[i*2+1] = (unsigned char)(temp1[i]/256);
  }
  
  CRC16 = CRC_CHECK(databuf,8);
  databuf[8] = CRC16%256;
  databuf[9] = CRC16/256;
  
  for(i=0;i<10;i++)
    uart_putchar(databuf[i]);
}
作者: xiao-pang    时间: 2014-5-11 15:20
#ifndef _outputdata_H
#define _outputdata_H

extern float OutData[4];
void OutPut_Data(void);
#endif

作者: 小鬼快跑    时间: 2014-5-14 12:51
楼主能上传下你用的这个破解版软件。
作者: ImLisen    时间: 2014-5-16 20:34
感谢分享!
作者: 小翔的abc没有d    时间: 2014-5-19 23:27
为什么代码都一样,可是依然不能显示正常波形,示波器依然只有一条线,无法成功输出波形,求大神帮忙解答啊?
作者: 狂野的庄稼汉    时间: 2014-5-20 04:02
小翔的abc没有d 发表于 2014-5-19 23:27
为什么代码都一样,可是依然不能显示正常波形,示波器依然只有一条线,无法成功输出波形,求大神帮忙解答啊 ...
  1. /*  
  2. *  Description:  虚拟示波器校验码生成函数
  3. *                             
  4. *  Data:         2014.5.8
  5. *  Author:       Liu
  6. */
  7. unsigned short CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT)
  8. {
  9.     unsigned short CRC_Temp;
  10.     unsigned char i,j;
  11.     CRC_Temp = 0xffff;

  12.     for (i=0;i<CRC_CNT; i++){      
  13.         CRC_Temp ^= Buf[i];
  14.         for (j=0;j<8;j++) {
  15.             if (CRC_Temp & 0x01)
  16.                 CRC_Temp = (CRC_Temp >>1 ) ^ 0xa001;
  17.             else
  18.                 CRC_Temp = CRC_Temp >> 1;
  19.         }
  20.     }
  21.     return(CRC_Temp);
  22. }

  23. /*  
  24. *  Description:  虚拟示波器输出函数
  25. *                             
  26. *  Data:         2014.5.8
  27. *  Author:       Liu
  28. */
  29. void VisualScope_Output(float data1 ,float data2 ,float data3 ,float data4)
  30. {
  31.   int temp[4] = {0};
  32.   unsigned int temp1[4] = {0};
  33.   unsigned char databuf[10] = {0};
  34.   unsigned char i;
  35.   unsigned short CRC16 = 0;

  36.   temp[0] = (int)data1;
  37.   temp[1] = (int)data2;
  38.   temp[2] = (int)data3;
  39.   temp[3] = (int)data4;

  40.   temp1[0] = (unsigned int)temp[0] ;
  41.   temp1[1] = (unsigned int)temp[1];
  42.   temp1[2] = (unsigned int)temp[2];
  43.   temp1[3] = (unsigned int)temp[3];
  44.   
  45.   for(i=0;i<4;i++)
  46.   {
  47.     databuf[i*2]   = (unsigned char)(temp1[i]%256);
  48.     databuf[i*2+1] = (unsigned char)(temp1[i]/256);
  49.   }
  50.   
  51.   CRC16 = CRC_CHECK(databuf,8);
  52.   databuf[8] = CRC16%256;
  53.   databuf[9] = CRC16/256;
  54.   for(i=0;i<10;i++)
  55.     uart_putchar(UART3,databuf[i]);
  56. }
复制代码



作者: 狂野的庄稼汉    时间: 2014-5-20 04:04
小翔的abc没有d 发表于 2014-5-19 23:27
为什么代码都一样,可是依然不能显示正常波形,示波器依然只有一条线,无法成功输出波形,求大神帮忙解答啊 ...

试试我改的吧,kl26,k60都测试好使
作者: xtay    时间: 2014-5-31 16:17
我是想问问你用的CRC协议就能看到矩形波么,校验和的不行么???

作者: fancy0xue    时间: 2014-6-18 18:55
校验和也是可以的。
那个地址址只是提供一个上位机传送给下位机的数据而已,具体怎么使用这些数据取决于自己。
当选择通信协议后,点点运行,即打开串口,软件处于接收数据状态,
每次发送一个数据包,上位机检测数据包,如果符合通信协议的数据会被显示。
注意,由于试用版波特率低,确保每次发送的时间间隔足够长。
要想提高波特率,可上item.taobao.com/item.htm?id=39601328620购买。
上面还能下载到最新试用版及帮助文件。
作者: winglanyd    时间: 2014-7-2 18:32
狂野的庄稼汉 发表于 2014-5-20 04:02

感谢!!

作者: 腾讯新闻    时间: 2015-1-24 10:38
狂野的庄稼汉 发表于 2014-5-20 04:02

这个该如何调用
作者: 是我    时间: 2015-4-14 21:46
-單眼皮_ 发表于 2014-3-13 22:44
不知道该填什么,这个通道地址是什么

请问知道地址怎么填嘛?

作者: 是我    时间: 2015-4-14 21:55
笑而不语 发表于 2014-2-22 22:37
用crc协议试过了,谢谢啊,之前也偷懒就没用crc协议,没想到是这个原因,谢谢

地址通道怎么填?

作者: wangqi    时间: 2015-4-24 15:07
huang91 发表于 2014-2-22 21:25
选 crc
下位机发送代码

unsigned short CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT)
char *Buf还有CRC_CNT是要在主函数里设置好变量么?设置为多少呢?这个函数返回值代表什么呢?求解答


作者: guowei111    时间: 2015-5-6 15:53
wangqi 发表于 2015-4-24 15:07
unsigned short CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT)
char *Buf还有CRC_CNT是要在主 ...

你好,我最近需要用visualscope显示数据,你调出来了吗?新手求指导

作者: wangqi    时间: 2015-5-7 22:01
guowei111 发表于 2015-5-6 15:53
你好,我最近需要用visualscope显示数据,你调出来了吗?新手求指导

/*示波器输出*/
//示波器冗余校验码产生函数
uint16 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()
{
  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  = (int16)OutData;
    temp1 = (uint16)temp;

   }

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

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

  for(i=0;i<10;i++)
  uart_putchar(UART0,databuf);
}



补充内容 (2015-5-7 22:18):
for(i=0;i<4;i++)
   {
   
    temp  = (int16)OutData;
    temp1 = (uint16)temp;
   
   }
前面那里显示的有问题,补充一下。OutData[]自己定义一下,例如OutData[1]=x表示示波器2通道输出变量x
作者: HHHJJJJJ    时间: 2015-6-10 18:56
怎么把数据发送到这个软件上呢  通过蓝牙 还是??
作者: 呵呵生日    时间: 2015-7-8 10:31
想问一下kl25芯片能用虚拟示波器测pid波形吗,如果可以怎么测,谢谢
作者: TG小平民    时间: 2015-10-16 15:21

作者: sunslineempire    时间: 2015-11-17 12:53
谢谢分享

作者: 梦孤城    时间: 2015-11-21 20:47
你好,你的Visualscope是怎么出波形的啊,我的陀螺仪波形怎么一直出不来,还需要怎么配置吗,谢谢!还有你的CRC在哪呀,我怎么找不到

作者: YFIGHTING    时间: 2016-3-2 19:34
程序里设置的无符号数,为什么示波器显示有负号呢
作者: 阿达的礼物    时间: 2016-12-18 15:27
HHHJJJJJ 发表于 2015-6-10 18:56
怎么把数据发送到这个软件上呢  通过蓝牙 还是??

蓝牙可以

作者: 阿达的礼物    时间: 2016-12-18 15:38
wangqi 发表于 2015-5-7 22:01
**** 作者被禁止或删除 内容自动屏蔽 ****

那请问一下在main函数里面要用那个程序呢?该怎么调用?谢谢了

作者: 阿达的礼物    时间: 2016-12-18 17:15
这个是我的工程,但是发送到上位机上面没有任何反应,还是一条在直线
作者: 阿达的礼物    时间: 2016-12-19 20:43
huang91 发表于 2014-2-22 21:25
选 crc
下位机发送代码

大神求助,,,,我也在用这块上位机,但是程序烧进去还是条直线,感觉没什么反应,这张图是我的程序,上位机里地址也设置成了00000000   00000001   00000002  00000003

[attach]89011[/attach]







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