发新帖本帖赏金 3.00元(功能说明)我要提问
12下一页
返回列表
打印
[STM32F4]

【STM32F469I试用】+简易示波器(五)增加触发显示漂亮波形

[复制链接]
3582|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 294479435 于 2016-2-17 20:30 编辑

增加触发显示漂亮波形

再次感谢论坛的这次活动,让我有机会与大家一起分享我的小小作品(虽然时间已经过了,不过我会一直更新,希望大家支持)。
简易示波器功能描述(参考安富莱示波器例程):
1.测量直流信号、交流信号的电压幅度;2.测量交流信号的周期,并计算频率;3.显示交流信号波形;4.波形的放大和缩小;5.···········
暂时就先实现以上几个简单的基本功能,STM32芯片是3.3V供电,AD采样也只有0-3.3V,前端没有做硬件电路,所以这些测量暂时都是0-3.3V;
目前实现功能:增加触发显示波形;
首先看一下效果:
1.首先证明这是实时显示:
2.不加触发显示效果:
3.增加触发后显示效果(灯闪说明程序在运行):
增加触发后波形显示很完美,很漂亮;
接下来说说实现过程:
a.首先定义三个变量,一个是否触发标志位,一个触发值,一个触发后数据位置
uint8_t g_usTrigFlag = 1;
uint16_t g_usTrigValue = 1024;
uint16_t g_usTrigPosit = 0;
b.在DMA中断处理中复制数据时判断触发位置:
因为采集的1024*6个数据中肯定有很多点满足触发条件,所以我们查找触发位置时只在前1024*4个数据中查找(这里其实可以在把位置设置在前一点);
for(i = 0; i < 1024*5; i++)
{
        if((uhADCxConvertedValue[i+512] > g_usTrigValue) && (uhADCxConvertedValue[i+513] < g_usTrigValue)&&(g_usTrigFlag == 1)&&(i < 1024*4))
        {
                g_usTrigPosit = i;
        }
        y3 =400 - (80*3.3*uhADCxConvertedValue[i+512]/4095);

}
数据我们还是要复制1024*5个数据(i+512是因为采集的数据中前面512个数据舍弃,其实可以不用);
c.显示时根据是否触发标志位判断复制显示数据的起始位置显示波形。

示波器.rar

1.92 MB

打赏榜单

21ic小喇叭 打赏了 3.00 元 2016-02-01

沙发
294479435|  楼主 | 2016-1-20 12:39 | 只看该作者
我发的帖子分都送不掉啊,又只能无答案结贴了,o(︶︿︶)o 唉

使用特权

评论回复
板凳
logger| | 2016-1-20 23:40 | 只看该作者
提前结贴不是好习惯。

使用特权

评论回复
地板
294479435|  楼主 | 2016-1-21 00:37 | 只看该作者
logger 发表于 2016-1-20 23:40
提前结贴不是好习惯。

已经提醒我结贴了

使用特权

评论回复
5
colin2135| | 2016-1-21 09:25 | 只看该作者
篇幅太短了,如果再详细介绍各功能模块的实现就好了。

使用特权

评论回复
6
logger| | 2016-1-21 19:32 | 只看该作者
294479435 发表于 2016-1-21 00:37
已经提醒我结贴了

昨才把N年前的贴结了,是不是严重的拖延症

使用特权

评论回复
7
294479435|  楼主 | 2016-1-21 20:09 | 只看该作者
colin2135 发表于 2016-1-21 09:25
篇幅太短了,如果再详细介绍各功能模块的实现就好了。

后面完善些了在详细总结吧

使用特权

评论回复
8
gejigeji521| | 2016-1-29 13:38 | 只看该作者
篇幅不长,好多内容不全

使用特权

评论回复
9
ofsummer| | 2016-1-29 14:58 | 只看该作者
你的这个设计有没有用FPGA啊,单用单片机带宽上不去吧

使用特权

评论回复
10
春风的暖暖| | 2016-1-30 16:22 | 只看该作者
楼主,您这个示波器的带宽有多少啊

使用特权

评论回复
11
294479435|  楼主 | 2016-1-31 15:55 | 只看该作者
gejigeji521 发表于 2016-1-29 13:38
篇幅不长,好多内容不全

嗯,后面更新总结

使用特权

评论回复
12
294479435|  楼主 | 2016-1-31 15:56 | 只看该作者
ofsummer 发表于 2016-1-29 14:58
你的这个设计有没有用FPGA啊,单用单片机带宽上不去吧

嗯,不过对于我自己简单使用还是够了,我主要是为了自己有时候测量通信波形用

使用特权

评论回复
13
294479435|  楼主 | 2016-1-31 15:57 | 只看该作者
春风的暖暖 发表于 2016-1-30 16:22
楼主,您这个示波器的带宽有多少啊

现在还只是简单实现测量,还未扩展其他功能

使用特权

评论回复
14
gejigeji521| | 2016-2-11 20:49 | 只看该作者
程序放出来看看,学习一下是如何实现的。

使用特权

评论回复
15
liunine| | 2016-2-14 12:08 | 只看该作者
很不错的说

使用特权

评论回复
16
huangcunxiake| | 2016-2-17 08:48 | 只看该作者
如果搞个自动控制波幅的功能就更爽歪歪了。通过电子的电位器进行分比。

使用特权

评论回复
17
huangcunxiake| | 2016-2-17 08:49 | 只看该作者
好帖要趁早,先占位要紧,人气来了慢慢完善。

使用特权

评论回复
18
airwill| | 2016-2-17 09:01 | 只看该作者
非常棒, 感觉比我那 F303 的开发板做的示波器效果要好.
那个芯片的模拟功能强大, 但驱动 LCD 方面很累赘

使用特权

评论回复
19
294479435|  楼主 | 2016-2-17 12:18 | 只看该作者
gejigeji521 发表于 2016-2-11 20:49
程序放出来看看,学习一下是如何实现的。

嗯,晚上回去了加上

使用特权

评论回复
20
294479435|  楼主 | 2016-2-17 12:19 | 只看该作者

过奖了,过年都没弄了,后面在继续

使用特权

评论回复
发新帖 本帖赏金 3.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

110

帖子

4

粉丝