智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3298|回复: 15
打印 上一主题 下一主题

[综合类] 虚拟示波器

[复制链接]

13

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
437
威望
221
贡献
120
兑换币
124
注册时间
2018-1-7
在线时间
48 小时
跳转到指定楼层
1#
发表于 2018-2-3 16:48:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
虚拟示波器在主函数中怎样调用(调用函数怎样写),哪位知道?
回复

使用道具 举报

0

主题

26

帖子

0

精华

高级会员

Rank: 4

积分
813
威望
421
贡献
178
兑换币
147
注册时间
2017-10-19
在线时间
107 小时
16#
发表于 2018-2-7 15:33:55 | 只看该作者
如果是SDS的示波器的话
首先确定SDS串口发送函数的接口 也就是Uart_SendChar(UARTR1,databuf);这个函数需要根据你使用的串口确定。
其次在函数中给databuf数组进行赋值,由于databuf是4个元素的数组,分别指的四条不同颜色的线
最后调用OutPut_Data函数,每调用一次就会在电脑上面显示一个点,如果连续调用,则显示有折点的图线,一般喜欢在定时器不断调用,也可在主函数内不断循环调用。
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

注册会员

Rank: 2

积分
42
威望
26
贡献
12
兑换币
13
注册时间
2018-1-30
在线时间
2 小时
15#
发表于 2018-2-6 13:31:59 | 只看该作者
楼主  虚拟示波器的例程可以发我一份码
回复 支持 反对

使用道具 举报

13

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
437
威望
221
贡献
120
兑换币
124
注册时间
2018-1-7
在线时间
48 小时
14#
 楼主| 发表于 2018-2-5 12:26:02 | 只看该作者
哦,谢谢
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
329
威望
163
贡献
104
兑换币
109
注册时间
2017-9-20
在线时间
31 小时
毕业学校
南望山
13#
发表于 2018-2-4 21:32:24 | 只看该作者
看见 发表于 2018-2-4 17:32
@GAI 大哥,这示波器还是没反应,能否说一下,示波器怎样设置,想看看我设置的对不对

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

使用道具 举报

13

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
437
威望
221
贡献
120
兑换币
124
注册时间
2018-1-7
在线时间
48 小时
12#
 楼主| 发表于 2018-2-4 17:32:53 | 只看该作者
@GAI 大哥,这示波器还是没反应,能否说一下,示波器怎样设置,想看看我设置的对不对
回复 支持 反对

使用道具 举报

2

主题

18

帖子

0

精华

高级会员

Rank: 4

积分
759
威望
386
贡献
247
兑换币
258
注册时间
2017-12-8
在线时间
63 小时
11#
发表于 2018-2-4 14:28:43 | 只看该作者
看见 发表于 2018-2-4 10:50
@GAI 这是邮箱,谢谢了

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

回复 支持 反对

使用道具 举报

13

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
437
威望
221
贡献
120
兑换币
124
注册时间
2018-1-7
在线时间
48 小时
10#
 楼主| 发表于 2018-2-4 10:50:02 | 只看该作者
@GAI 1587238175@qq.com这是邮箱,谢谢了
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
329
威望
163
贡献
104
兑换币
109
注册时间
2017-9-20
在线时间
31 小时
毕业学校
南望山
9#
发表于 2018-2-3 23:35:48 | 只看该作者
这份程序不咋好,没有入口参数,需要修改OutData这个变量值,并且int temp[4] = {0}; 这本来是四通道的,但并没用的上去。我可以给你发一份简单的示波器使用的程序
回复 支持 反对

使用道具 举报

13

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
437
威望
221
贡献
120
兑换币
124
注册时间
2018-1-7
在线时间
48 小时
8#
 楼主| 发表于 2018-2-3 21:26:34 | 只看该作者
#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
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-24 04:44 , Processed in 0.084516 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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