本帖最后由 00-405686 于 2016-1-20 23:02 编辑 - C; q; M( ?9 D: P 增加触发后漂亮波形 简易示波器功能描述(参考安富莱示波器例程): 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, 下载次数: 3761
å·¥ç¨æ件
ucos我还没做低功耗,所以可能帮不上你
没事,以后可以交流交流,我也是自己在乱弄点项目而已* F ~8 I/ s. K/ G" p$ H! ~( |
有机会再学习一下
我这个是F469_Discovery