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

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

[复制链接]
 楼主| 294479435 发表于 2016-1-19 19:47 | 显示全部楼层 |阅读模式
本帖最后由 294479435 于 2016-2-17 20:30 编辑

增加触发显示漂亮波形

再次感谢论坛的这次活动,让我有机会与大家一起分享我的小小作品(虽然时间已经过了,不过我会一直更新,希望大家支持)。
简易示波器功能描述(参考安富莱示波器例程):
1.测量直流信号、交流信号的电压幅度;2.测量交流信号的周期,并计算频率;3.显示交流信号波形;4.波形的放大和缩小;5.···········
暂时就先实现以上几个简单的基本功能,STM32芯片是3.3V供电,AD采样也只有0-3.3V,前端没有做硬件电路,所以这些测量暂时都是0-3.3V;
目前实现功能:增加触发显示波形;
首先看一下效果:
1.首先证明这是实时显示:
P60119-192330.gif
2.不加触发显示效果:
P60119-192128.gif
3.增加触发后显示效果(灯闪说明程序在运行):
P60119-192035.gif
增加触发后波形显示很完美,很漂亮;
接下来说说实现过程:
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, 下载次数: 82

打赏榜单

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
提前结贴不是好习惯。

已经提醒我结贴了
colin2135 发表于 2016-1-21 09:25 | 显示全部楼层
篇幅太短了,如果再详细介绍各功能模块的实现就好了。
logger 发表于 2016-1-21 19:32 | 显示全部楼层
294479435 发表于 2016-1-21 00:37
已经提醒我结贴了

昨才把N年前的贴结了,是不是严重的拖延症
 楼主| 294479435 发表于 2016-1-21 20:09 | 显示全部楼层
colin2135 发表于 2016-1-21 09:25
篇幅太短了,如果再详细介绍各功能模块的实现就好了。

后面完善些了在详细总结吧
gejigeji521 发表于 2016-1-29 13:38 | 显示全部楼层
篇幅不长,好多内容不全
ofsummer 发表于 2016-1-29 14:58 | 显示全部楼层
你的这个设计有没有用FPGA啊,单用单片机带宽上不去吧
春风的暖暖 发表于 2016-1-30 16:22 | 显示全部楼层
楼主,您这个示波器的带宽有多少啊
 楼主| 294479435 发表于 2016-1-31 15:55 | 显示全部楼层
gejigeji521 发表于 2016-1-29 13:38
篇幅不长,好多内容不全

嗯,后面更新总结
 楼主| 294479435 发表于 2016-1-31 15:56 | 显示全部楼层
ofsummer 发表于 2016-1-29 14:58
你的这个设计有没有用FPGA啊,单用单片机带宽上不去吧

嗯,不过对于我自己简单使用还是够了,我主要是为了自己有时候测量通信波形用
 楼主| 294479435 发表于 2016-1-31 15:57 | 显示全部楼层
春风的暖暖 发表于 2016-1-30 16:22
楼主,您这个示波器的带宽有多少啊

现在还只是简单实现测量,还未扩展其他功能
gejigeji521 发表于 2016-2-11 20:49 | 显示全部楼层
程序放出来看看,学习一下是如何实现的。
liunine 发表于 2016-2-14 12:08 | 显示全部楼层
很不错的说
huangcunxiake 发表于 2016-2-17 08:48 | 显示全部楼层
如果搞个自动控制波幅的功能就更爽歪歪了。通过电子的电位器进行分比。
huangcunxiake 发表于 2016-2-17 08:49 | 显示全部楼层
好帖要趁早,先占位要紧,人气来了慢慢完善。
airwill 发表于 2016-2-17 09:01 | 显示全部楼层
非常棒, 感觉比我那 F303 的开发板做的示波器效果要好.
那个芯片的模拟功能强大, 但驱动 LCD 方面很累赘
 楼主| 294479435 发表于 2016-2-17 12:18 | 显示全部楼层
gejigeji521 发表于 2016-2-11 20:49
程序放出来看看,学习一下是如何实现的。

嗯,晚上回去了加上
 楼主| 294479435 发表于 2016-2-17 12:19 | 显示全部楼层

过奖了,过年都没弄了,后面在继续
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

110

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部