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

简易示波器(二)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扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版