你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

简易示波器(四)任意波形动态显示  

[复制链接]
294479435@qq.co 发布时间:2016-1-16 17:56
任意波形动态显示
简易示波器功能描述:

6 Z  m8 V" e" z% L, g% q" B- A
1.测量直流信号、交流信号的电压幅度;
5 q: a1 E. |4 M2 O) v# w
2.测量交流信号的周期,并计算频率;

0 |- y8 F- z' e0 X  T8 @3 k$ F+ A9 S
3.显示交流信号波形;
$ R- {3 f2 T: @. ~# P: E* I
4.波形的放大和缩小;

* ]  p% I4 m* c% J, d
5.···········
' G- |' f* S1 H7 D
暂时就先实现以上几个简单的基本功能,STM32芯片是3.3V供电,AD采样也只有0-3.3V,前端没有做硬件电路,所以这些测量暂时都是0-3.3V;
! c: M0 p! D$ x9 i5 Z, `9 V
目前实现功能:任意波形动态显示
首先看一下效果:
1.采集IO引脚翻转:
P60116-172601.gif
2.采集DAC模拟输出锯齿波:
P60116-172652.gif
3.采集DAC模拟输出方波:
P60116-172754.gif
大致实现过程:
首先在之前贴基础上更改:简易示波器(三)方波简单显示
(出处: 意法半导体STM32/STM8技术社区)
uint16_t uhADCxConvertedValue[1024*6] ={ 0};
a.ADC连续采集1024*6个数据并使能DMA存储在uhADCxConvertedValue数组中;
                HAL_ADC_Stop(&AdcHandle);
                for(i = 0; i < 1024*5; i++)
                {
                        y3 =400 - (80*3.3*uhADCxConvertedValue[i+512]/4095);
                }
                HAL_ADC_Start(&AdcHandle);
                flag = 1;
b.DMA完成后进入中断,关闭ADC采样并将数据复制到显示缓冲区的数组中,设定标志位置1,开启ADC继续采集(如果不暂停ADC,新采集的值会打乱完整的1024*6个数据,所以复制过程中暂停采集);
                 if(temp == 0)
                  {
                        for(i = 0; i<500;i++)
                        {
                                aPointsRe.y = y3;
                                //aPointsRe.x = x;
                        }
                }
                  else if(temp < 10)
                  {
                          for(i = 0; i<500;i++)
                        {
                                aPointsRe.y = y3[i+temp*500];
                                //aPointsRe.x = x;
                        }
                  }
                GUI_SetColor(GUI_GREEN);
                GUI_DrawPolyLine(aPointsRe,              /* Ö¸ÏòÒªÏÔʾµÄÕÛÏß */
                                                         GUI_COUNTOF(aPointsRe), /* µãÁбíÖÐÖ¸¶¨µÄµãÊýÁ¿ */
                                                         50,       /* Ô­µãµÄXλÖà */
                                                         40);
                  temp++;
                  if(temp == 10)
                  {
                          temp = 0;
                          flag = 0;
                  }
                  GUI_Delay(100);
c.回到主函数进行数据处理,由于每次显示的是500个数据,所以显示10次后在此读取ADC数据进行显示;
/ a2 j! b4 P/ p: D& R( N

0 h5 a. X- A/ f' s- `  p
赞 收藏 2 评论33 发布时间:2016-1-16 17:56

举报

33个回答
294479435@qq.co 回答时间:2016-10-28 23:54:04
happy无名 发表于 2016-10-28 08:28
/ N% _5 `7 n3 h: x! _) m楼主能分享下波形产生代码吗?我产生的示波器显示不出来,但用万能表却看出幅值变化 ...
5 J- U- n8 M$ G& D
代码有点乱,有点简单,请见谅! DAC_波形发生.rar (384.09 KB, 下载次数: 116)
294479435@qq.co 回答时间:2016-10-29 09:00:09
黑皮男 发表于 2016-10-29 07:41; d: a  S; V' O
好赞,绘图这一关我就没过,只能画点简单的
/ V% e, y/ @4 v8 x( W2 N. `
绘图我也只是调用GUI里面的库函数,程序也比较乱,一直想整理,都还没来得及
294479435@qq.co 回答时间:2016-1-20 18:26:28
沐紫 发表于 2016-1-20 15:552 H; i8 W5 C7 \/ z1 u7 {* t
多谢楼主分享

9 e- y' K) [2 {1 L+ l. d! |3 F沐紫姐客气了,我也是在论坛里面成长的,我应该谢谢感谢论坛
zwei99999999 回答时间:2016-1-16 22:26:15
楼主做的还行   顶一下
294479435@qq.co 回答时间:2016-1-17 14:55:57
实时显示 QQ图片20160117145407.gif ) R& o8 Z. z; O1 r  C/ L; @
294479435@qq.co 回答时间:2016-1-17 16:57:11
zwei99999999 发表于 2016-1-16 22:26, J" b8 m3 ?! ^, X- J: {
楼主做的还行   顶一下
! L9 K8 N7 L+ b* p& n8 L
感谢支持
zhangdaijin 回答时间:2016-1-17 20:59:40
谢谢分享
擒入式 回答时间:2016-1-17 21:02:16
好厉害,佩服
zcl201207 回答时间:2016-1-17 21:48:18
楼主的板子多少钱?
埃斯提爱慕 回答时间:2016-1-18 14:07:41
提示: 作者被禁止或删除 内容自动屏蔽
123tango 回答时间:2016-1-18 14:25:23
好想也有一个
294479435@qq.co 回答时间:2016-1-18 19:09:27
zhangdaijin 发表于 2016-1-17 20:59  X: L1 j* A$ p5 B8 J
谢谢分享
8 ~) i9 a: k, s5 Z% K( z
感谢支持
294479435@qq.co 回答时间:2016-1-18 19:09:42
擒入式 发表于 2016-1-17 21:022 @, A$ y- D) j7 J0 S
好厉害,佩服

) x6 f0 G1 m, F$ X2 n2 L* y感谢支持
294479435@qq.co 回答时间:2016-1-18 19:09:58
zcl201207 发表于 2016-1-17 21:48
8 _4 s" C/ ]7 Z) ~" W楼主的板子多少钱?

! e2 T3 d' P2 m- J板子是一个论坛送的
294479435@qq.co 回答时间:2016-1-18 19:10:12
dsjsjf 发表于 2016-1-18 14:07
- E/ M: E& G( c. r$ m5 s4 V好牛逼啊

  L* f/ O5 i! P感谢支持
294479435@qq.co 回答时间:2016-1-18 19:10:28
123tango 发表于 2016-1-18 14:251 u( \4 K8 _5 f. @: X  [
好想也有一个

2 o9 r" R/ |  h这个可以有
stary666 回答时间:2016-1-19 10:14:31
看看,,,,,,,,,
123下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版