OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7651|回复: 7

一个开源的MiniSTM32示波器的波形抖动,触发不稳

[复制链接]

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1237
金钱
1237
注册时间
2016-1-23
在线时间
486 小时
发表于 2022-9-16 23:12:23 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 STM129 于 2022-9-16 23:13 编辑

   一个开源的MiniSTM32示波器程序,
软件环境Keil uVision5
硬件环境:正点原子ALIENTEK MiniSTM32 V3.41开发板超频到112MHz,2.8寸屏
这个程序在不超频的情况下,波形显示还是很顺畅的!
MiniSTM32示波器.png

在我的MiniSTM32板上波形抖动,触发不稳,求万能的网友帮完善一下
除了波形抖动外,当设置为1微秒uS触发ADC时会不显示波形。

在DSO.C文件中有这样的内容:

//频率计算和上升沿触发
void DSO_GetFreq(void)
{
        static u16 n=0;
        for(n = 100;n<NCollect;n++)
        {
                if(ADC_Value[n] < max_data && ADC_Value[n+2] > max_data)
                {
                        if(n>(NCollect-lcddev.width))
                        {
                                con_t=100;
                        }
                        else
                        {
                                con_t=n;
                        }
                        break;
                }                        
        }
        
        for(n = con_t+3;n<NCollect;n++)
        {
                if(ADC_Value[n] < max_data&&ADC_Value[n+2] > max_data)
                {
                        con_t1=n;
                        break;
                }                        
        }
        freq = (1/((con_t1 - con_t)*timebase/2000000.0));//
}


标准库版本将STM32F103RC超频到了112M.zip (349.96 KB, 下载次数: 87)

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8206
金钱
8206
注册时间
2020-5-11
在线时间
3700 小时
发表于 2022-9-19 11:14:34 | 显示全部楼层
未看到有检测触发的代码,相当于只是开启DMA采集,采集完成就显示,有点随机性。
所以抖动应该是正常的。
“当设置为1微秒uS触发ADC时会不显示波形”是指显示程序卡死了还是显示一条直线?请描述清楚。
专治疑难杂症
回复

使用道具 举报

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1237
金钱
1237
注册时间
2016-1-23
在线时间
486 小时
 楼主| 发表于 2022-9-20 21:33:36 | 显示全部楼层
LcwSwust 发表于 2022-9-19 11:14
未看到有检测触发的代码,相当于只是开启DMA采集,采集完成就显示,有点随机性。
所以抖动应该是正常的。
...

//设置时基
void DSO_SetTimeBase(u8 t)
{
        switch(t)
        {
                case 0: //10us
                        timebase=1;  这设置1后就是1微秒uS触发ADC1次,屏幕上电后就像死机一样,只有网格两Hz字符
                        break;
                case 1: //50us/格
回复

使用道具 举报

5

主题

305

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1690
金钱
1690
注册时间
2018-11-28
在线时间
214 小时
发表于 2022-10-31 14:21:06 | 显示全部楼层
谢谢分享
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2022-11-2 00:23:42 | 显示全部楼层
说明找触发点,找的不是很准,每次都有误差,导致波形抖动
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2023-3-21
在线时间
1 小时
发表于 2023-3-23 14:46:34 | 显示全部楼层

谢谢分享
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2023-5-10
在线时间
2 小时
发表于 2023-5-11 10:20:04 | 显示全部楼层
111111
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
0
金钱
0
注册时间
2023-6-13
在线时间
1 小时
发表于 2023-6-13 09:32:46 | 显示全部楼层
谢谢分享
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 07:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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