所需材料:

芯片:stm32f103c8t6

oled显示屏

效果展示:

100hz占空比50%的pwm波

100hz占空比95%的pwm波

教程正文:

1.ADC+DMA方式采集

ADC配置

DMA配置

uint32_t adc[1];//定义为全局变量HAL_ADC_Start_DMA(&hadc1,adc,1);//开启ADC  由于是normal模式所以在主函数里需要重复调用来采集

2.定时器中断配置及PWM波发生

//初始化部分
HAL_TIM_Base_Start_IT(&htim1);
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);//主循环
__HAL_TIM_SetCompare(&htim1,TIM_CHANNEL_1,5000);

3.关键部分代码

void shibo()
{OLED_refresh_gram();//刷新
HAL_ADC_Start_DMA(&hadc1,adc,1);Bias=adc[0]/100+10;
//消除误差if(Bias>max)max=Bias;mine=Bias;if(max-Bias<5)Bias=max;if(Bias-mine<5)Bias=mine;OLED_draw_line(j,Bias,j+1,Bias,PEN_WRITE);OLED_draw_point(j,Bias,PEN_WRITE);c=fabs(Last_Bias-Bias);if((Last_Bias-Bias)>10||(Bias-Last_Bias)>10)       OLED_draw_line(j,Bias,j,Last_Bias,PEN_WRITE);j=j+2;Last_Bias=Bias;
if(j>127){   OLED_operate_gram(PEN_CLEAR);//清屏OLED_refresh_gram();j=1;}
}void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)//在中断回调里调用
{shibo();}

完整代码:ole · 小恐龙/stm - 码云 - 开源中国 (gitee.com)

ole · 小恐龙/stm - 码云 - 开源中国 (gitee.com)

【开源】自制简易示波器V1.0相关推荐

  1. stm32zet6自制简易示波器

    自制简易示波器 波形发生 DAC+DMA+TMR 波形发生器采用的是DAC+DMA+TMR的方案,主要思路:PA4 DAC的通道1,通过DMA把内存dataDAC[N]中的数据传送到DAC,并转换成模 ...

  2. Swift 开源项目精选-v1.0

    转自 http://dev.swiftguide.cn/archive/featured-open-source-projects-in-swift_v1.0.html 目录 工具 存储 网络 图片 ...

  3. c#推箱子小游戏代码_推箱子小游戏V1.0制作

    小游戏实践 推箱子简易版 大家好,我是努力学习争取成为优秀的Game Producer的路人猿,今天来一起做一个推箱子的简易版本V1.0!下面跟我一起做吧~ 我们用到的软件如下: 编辑类 Visual ...

  4. Tiva单片机——简易示波器(UART串口屏)

    Tiva单片机--简易示波器(UART串口屏) 一.整体介绍 二.代码的分段解读 1.头函数 2.宏定义及变量定义 3.外设初始化 4.波形触发设计 5.电压标定设计 6.频率测定(最高到达1MHz) ...

  5. java 开源sns_JEESNS V1.0发布,JAVA 开源 SNS 社交系统

    JEESNS V1.0 发布了,本次更新内容: 增加后台管理员授权与取消功能 增加私信模块 解决在微博页面,左侧微博点赞过后,左侧展示列表小手会变黑,但是右侧热门出小手依然是白色 修复后台添加栏目.文 ...

  6. ENTBOOST V1.0 发布,开源企业IM免费企业即时通讯

    为什么80%的码农都做不了架构师?>>>    ENTBOOST正式发布V1.0版本,主要版本更新内容: PC客户端登录窗口界面增加定制功能,包括注册.游客.忘记密码和企业LOGO定 ...

  7. php内容管理系统开源源码,fcontex 开源内容管理系统 php版 v1.0.3

    fcontex是开源的PHP博客系统,拥有漂亮的Web 2.0风格的后台界面和完全Ajax化的流畅操作体验,可用于快速构建中小型企业网站和个人博客(Blog). fcontex是专为二次开发而设计的, ...

  8. 一扬开源新闻静态生成系统V1.0发布

    这是我写的第一个开源系统,我最初的设想是在这个系统应用上尽量多的技术,当然现在这个设想也没有改变,现在发布的只是V1.0版,里面涉及了静态生成,模板应用,存储过程,DIV+CSS,反射,集合,XML, ...

  9. 域名授权验证系统v1.0.6开源版本网站源码

    介绍: 域名授权验证系统v1.0.6公益开源版本网站源码几乎所有的程序都能整合使用,包括您的app和计算机程序,支持多程序授权.在线支付.权限分配.内测用户.在线升级.商业广告.工单系统.盗版管理.自 ...

最新文章

  1. Java Reflection(十):数组
  2. 2019男生身高受欢迎程度表
  3. 提领指向不完全类型的指针_望远镜不完全指南:望远镜原理、类型和配件
  4. python的setup()与py2exe
  5. html5在线音乐列表播放器,HTML5列表音乐播放器SMusic
  6. java中BigDicemal的运算
  7. fzyzojP2984 -- 序列变换问题
  8. 耗时一周,我用Python爬取全国各地大学校花(高清照片和个人信息)
  9. 沉默成本谬误_估计与沉没成本谬误
  10. 豆瓣电影TOP250和书籍TOP250爬虫
  11. UPC 桐桐的爬山计划
  12. Mysql中,order by + limt的大坑
  13. oracle SQL update一次性修改多个字段,数据来源于另一张表
  14. C语言之结构体及位段
  15. 知了堂笔记之html+CSS动画万花筒
  16. Pytorch实现戴口罩人脸检测和戴口罩识别(含训练代码 戴口罩人脸数据集)
  17. Python井字棋源代码
  18. 18山东省夏令营游记
  19. aps后缀是什么文件_后缀aspx是什么文件类型?aspx文件怎么打开?
  20. CSS font-family 字体名称一览表

热门文章

  1. 单片机•CPLD/FPGA开发综合实验装置
  2. 万一开车撞人了,一位退休交警教给你的方法,一定要收存!
  3. 行星使用锚标记跳转 超链接HTML,采煤机司机培训考试试题带答案
  4. 写给自己的2018年总结
  5. 高压真空断路器特性实验
  6. MySQL中的隐藏列!_rowid
  7. 创业项目融资PPT模板
  8. CEO、COO、CFO、CTO 是什么意思
  9. ROS-TF库-写一个TransformBroadcaster发布
  10. XBee3 zigbee AT命令集