探索者做了一示波器,想把波形定住不动遇到点问题,求大神相助

2019-07-20 10:34发布

看图,


  1. 蓝 {MOD}波形为ADC采样直接送入显示,中间不经过定形处理
  2.红 {MOD}波形为定在上升沿之后的效果,但是效果不好,波形有时候会时不时的断掉。
定形的处理方法,直接看程序吧:#define ADC_Point 832//13个周期,每个周期64点
#define ADC_Point_Graph 640//一屏显示十个周期,64*10
[mw_shl_code=applescript,true]static void _AddValues1(void) {
uint16_t i,j,k;
uint32_t temp;
uint16_t ADC_temp[ADC_Point];

for(i=0;i<ADC_Point;i++)//用了13个周期,求出零点
{       
temp+=ADC_valend;
}
ADC_zero=temp/ADC_Point;//零点
//        ADC_zero=FifoAvr(&ADC_temp[0],5,ADC_zero);//对零点进行fifo滤波,fifo为5,但是发现没啥效果。。。
for(i=0;i<ADC_Point;i++)
{
if(ADC_zero==ADC_valend)//找到零点的位置,j
{
j=i;break;
}
}
//判断上升沿
//如果零点的值>零点前面三个的值
//如果零点的值>零点前面两个的值
//如果零点的值==前面算出零点的值
if(ADC_valend[j] > ADC_valend[j-3] && ADC_valend[j] > ADC_valend[j-2] && ADC_valend[j] == ADC_zero)
{       
for(i=j;i<j+ADC_Point_Graph;i++)//从零点开始显示(i=j;),显示一屏 640点
{
_aValue1[0]=ADC_valend/15;
GRAPH_DATA_YT_AddValue(_ahData1[0], _aValue1[0]);       
}
}       
}[/mw_shl_code]

显示的效果,中间时不时的就会出现断的情况。

请各位大神指教!!!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
hi我歌月徘徊
1楼-- · 2019-07-21 02:03

shenying5120
2楼-- · 2019-07-21 07:09
 精彩回答 2  元偷偷看……
hi我歌月徘徊
3楼-- · 2019-07-21 12:24
shenying5120 发表于 2017-2-25 10:31
你好,请问可以把源码分享给我看看吗?很喜欢这样的一个项目,想研究一下,或许能共同解决问题,大家一起进 ...

加我Q吧 778575669
流年似水∣я
4楼-- · 2019-07-21 17:18
yangkefeng
5楼-- · 2019-07-21 21:20
 精彩回答 2  元偷偷看……
dawang
6楼-- · 2019-07-22 00:09
楼主求源码 8542667826@qq.com

一周热门 更多>