智能车制作

标题: 虚拟示波器 [打印本页]

作者: 看见    时间: 2018-2-3 16:48
标题: 虚拟示波器
虚拟示波器在主函数中怎样调用(调用函数怎样写),哪位知道?

作者: 920082177    时间: 2018-2-3 17:28
:lol:lol
作者: 看见    时间: 2018-2-3 18:17
?????
作者: 920082177    时间: 2018-2-3 20:38
同一个问题为何问两遍?我回答的不够清晰?
作者: GAI    时间: 2018-2-3 20:51
你的虚拟示波器是啥样的界面,有几个通道?我的是四通道的,用的时候在对应的通道发送变量值就行了
作者: 看见    时间: 2018-2-3 21:21
C:\Users\lenovo\Desktop
作者: 看见    时间: 2018-2-3 21:23
怎样设置和在主函数中调用,谢谢
作者: 看见    时间: 2018-2-3 21:26
#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;//逐位异或  去取反
        for (j=0;j<8;j++)
                                {
            if (CRC_Temp & 0x01)//如果地位为1
                CRC_Temp = (CRC_Temp >>1 ) ^ 0xa001;
            else
                CRC_Temp = CRC_Temp >> 1;
        }
    }
//                 Buf[8] = CRC_Temp & 0x00ff;  //将第9个数据赋上CRC的低字节
//     Buf[9] = CRC_Temp >>8;//第10数据上是CRC的高字节
    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_SendChar(UARTR1,databuf);
  }
}



这是函数@GAI
作者: GAI    时间: 2018-2-3 23:35
这份程序不咋好,没有入口参数,需要修改OutData这个变量值,并且int temp[4] = {0}; 这本来是四通道的,但并没用的上去。我可以给你发一份简单的示波器使用的程序
作者: 看见    时间: 2018-2-4 10:50
@GAI 1587238175@qq.com这是邮箱,谢谢了
作者: Dradece    时间: 2018-2-4 14:28
看见 发表于 2018-2-4 10:50
@GAI 这是邮箱,谢谢了

我的虚拟示波器也显示不了,能不能分享一下,邮箱1098064495@qq.com,蟹蟹


作者: 看见    时间: 2018-2-4 17:32
@GAI 大哥,这示波器还是没反应,能否说一下,示波器怎样设置,想看看我设置的对不对
作者: GAI    时间: 2018-2-4 21:32
看见 发表于 2018-2-4 17:32
@GAI 大哥,这示波器还是没反应,能否说一下,示波器怎样设置,想看看我设置的对不对

注意串口号和波特率,以及单片机发送的串口,或许串口不同需要在程序中修改串口配置。另外,你们学校以往没有学长做飞思卡尔或者电赛吗,最好能问问他们让其当面给你指导,这些问题也不太难解决

作者: 看见    时间: 2018-2-5 12:26
哦,谢谢

作者: 申小小龙    时间: 2018-2-6 13:31
楼主  虚拟示波器的例程可以发我一份码
作者: 王林生    时间: 2018-2-7 15:33
如果是SDS的示波器的话
首先确定SDS串口发送函数的接口 也就是Uart_SendChar(UARTR1,databuf);这个函数需要根据你使用的串口确定。
其次在函数中给databuf数组进行赋值,由于databuf是4个元素的数组,分别指的四条不同颜色的线
最后调用OutPut_Data函数,每调用一次就会在电脑上面显示一个点,如果连续调用,则显示有折点的图线,一般喜欢在定时器不断调用,也可在主函数内不断循环调用。




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