智能车制作

标题: VisualScope显示不出波形怎么回事? [打印本页]

作者: 伊红美蓝    时间: 2015-7-31 18:48
标题: VisualScope显示不出波形怎么回事?
Visualscope可以在串口处得到数据,但就是显示不出波形,我用的是STM32,程序应该没有错?串口,波特率设置也没有错,Addr和Data不知到怎么设置,有人可以帮我解答不?不甚感激。搞了3天了,真的希望解决,找了很久的答案,找不到相关的解决方案。

作者: qinlu123    时间: 2015-7-31 20:19
你看看显示分度是多少,你把要显示的数据*10000就看出来了

作者: 伊红美蓝    时间: 2015-7-31 22:50
qinlu123 发表于 2015-7-31 20:19
你看看显示分度是多少,你把要显示的数据*10000就看出来了

我知道你的意思,你的意思说Y轴的刻度值太大了对吧!我调小过,但都没成功过。

作者: qinlu123    时间: 2015-8-1 14:52
伊红美蓝 发表于 2015-7-31 22:50
我知道你的意思,你的意思说Y轴的刻度值太大了对吧!我调小过,但都没成功过。

只要你下边框里有数据肯定能有波形,显示1、2、3、4自然是看不出来的。

作者: qinlu123    时间: 2015-8-1 22:05
还有,波形是从5000往后开始显示的,不是示波器那种形式
作者: BMN李    时间: 2015-8-2 14:56
/*  
*  Description:  虚拟示波器校验码生成函数
*                             
*  Data:         2014.5.8
*  Author:       Liu
*/
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);
}

/*  
*  Description:  虚拟示波器输出函数
*                             
*  Data:         2014.5.8
*  Author:       Liu
*/
void VisualScope_Output(float data1 ,float data2 ,float data3 ,float data4)
{
  int temp[4] = {0};
  unsigned int temp1[4] = {0};
  unsigned char databuf[10] = {0};
  unsigned char i;
  unsigned short CRC16 = 0;

  temp[0] = (int)data1;
  temp[1] = (int)data2;
  temp[2] = (int)data3;
  temp[3] = (int)data4;

  temp1[0] = (unsigned int)temp[0] ;
  temp1[1] = (unsigned int)temp[1];
  temp1[2] = (unsigned int)temp[2];
  temp1[3] = (unsigned int)temp[3];
  
  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(UART3,databuf[i]);
}

数据送给OutData[0]、OutData[1]、OutData[2]、OutData[3],调用OutPut_Data()进行显示。
作者: 伊红美蓝    时间: 2015-8-2 16:45
BMN李 发表于 2015-8-2 14:56
/*  
*  Description:  虚拟示波器校验码生成函数
*                             

感谢兄弟提供参考程序。

作者: 伊红美蓝    时间: 2015-8-2 16:48
qinlu123 发表于 2015-8-1 22:05
还有,波形是从5000往后开始显示的,不是示波器那种形式

感谢解答,我找到问题了,我用的是stm32,发送函数后没有加等待传送结束函数,现在没问题了。


作者: easylee    时间: 2015-9-1 16:08
伊红美蓝 发表于 2015-8-2 16:48
感谢解答,我找到问题了,我用的是stm32,发送函数后没有加等待传送结束函数,现在没问题了。

请问发送完成后加等待传送结束函数这部分是具体怎么用的,我用的是另一款芯片,也遇到这个问题,传送数据准备这块都没有问题,就是不能出来波形,能帮我解答一下吗,多谢啦~

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

作者: 向前向后520    时间: 2016-10-30 18:30
感谢楼主
作者: 啊啊啊啊啊啊1    时间: 2017-4-24 20:54
请教一下怎么把发送方式改为DMA方式发送?新手上路.....




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