你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

简易示波器(二)AD采样+画图

[复制链接]
00-405686 发布时间:2016-1-9 16:02
本帖最后由 00-405686 于 2016-1-9 16:25 编辑

AD采样+画图
简易示波器功能描述:

1.测量直流信号、交流信号的电压幅度;

2.测量交流信号的周期,并计算频率;

3.显示交流信号波形;

4.波形的放大和缩小;

5.···········

暂时就先实现以上几个简单的基本功能,STM32芯片是3.3V供电,AD采样也只有0-3.3V,前端没有做硬件电路,所以这些测量暂时都是0-3.3V;

目前实习功能:AD采样和显示;
效果如图:
P60109-150706.jpg P60109-150655.jpg



实现过程:(我以前都是用STM32的DSP库开发,而STM32F469Discovery的DSP库的显示驱动还没有,所以我暂时只能在HAL库上进行开发,所以很多东西都不是很熟悉,而实现的功能也是大多基于

官方的例程开发,望各位路过大神多多指点,谢谢!

首先,在官方库路径:stm32cubef4\Projects\STM32469I-Discovery\Applications\STemWin中以Hello World为模版进行开发

1.去掉例程中的BASIC_HelloWorld文件,以及main.c中的MainTask子程序,然后就可以开始自己的编程了;

如图:
QQ截图20160109153538.jpg


2.新建一个空白文件,作为C文件,用作ADC初始化的C文件,这里C文件也直接从在官方库路径:stm32cubef4\Projects\STM32469I-Discovery\Examples\ADC\ADC_RegularConversion_DMA中的Src文件中的main.c中找到自己需要的代码:
然后在main函数中添加ADC相关的代码:
其他就是关于ADC的宏定义,按照例程中的复制到main.h文件中
在mian.c中定义一个uint16_t uhADCxConvertedValue[500] ={ 0};用作存ADC采样值在把DMA中数据改为半字
  hdma_adc.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;//DMA_PDATAALIGN_WORD;
  hdma_adc.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;//DMA_MDATAALIGN_WORD;;
到这里ADC就差不多改好了
然后就是用STemWin画图了,这个GUI我也是初次使用,所以也是在摸索中,具体有些什么经验也谈不上,所以就不过多叙说了
GUI_SetBkColor(GUI_BLACK);

GUI_Clear();

GUI_SetColor(GUI_WHITE);

GUI_SetFont(&GUI_Font8x16);

设置背景色、字体颜色和字体

for(i = 40; i<=440; i = i+80)
        {
          GUI_DrawHLine(i,50,550);
                GUI_GotoXY(30,i-8);
          GUI_DispDec(y_lable[5-(i-40)/80],1);
        }
        for(i = 50; i<=550; i = i+100)
        {
          GUI_DrawVLine(i,40,440);
                GUI_GotoXY(i-8,450);
          GUI_DispDec(x_lable[(i-50)/100],3);
        }
画背景网格
for(i = 0; i<500;i++)
        {
                y3 = 440-(80*3.3*uhADCxConvertedValue/4095);
                GUI_SetColor(GUI_GREEN);
                GUI_DrawPoint(x+50,y3);
        }

画函数曲线,效果如下:
ADC接3.3V时:
P60109-150637.jpg
ADC接GND时:

如果ADC悬空:

为什么会这样呢?因为我使用的画点函数,每次画上去都没有清楚,所以当ADC在0-3.3V跳变时,就会一直画很多点,就是这个效果了
ADC使用的引脚和接线如图:
P60109-150719.jpg
附上adc.c和main.c文件

Src.rar

下载

5.18 KB, 下载次数: 113

收藏 2 评论3 发布时间:2016-1-9 16:02

举报

3个回答
yu0405jie 回答时间:2016-1-9 21:04:25
支持支持
沐紫 回答时间:2016-1-20 15:54:34
谢谢楼主!
godyq 回答时间:2018-4-13 11:24:44
谢谢楼主

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版