STM32F103C8T6制作简易示波器

1设计需求

通过stm32f103c8t6实现一个简易示波器功能,该示波器可以检测0-3.6khz频率范围内的波形。

也可以输出波形,输出方波、三角波、正弦波。

2技术方案

通过stm32的ADC功能,采集输入信号,最后由oled屏进行显示。

采样频率通过定时器控制,定时器触发ADC采样,然后通过DMA搬运数据,从而达到最大效率。

通过测试,ADC功能正常,可以采集波形,但是DAC输出波形异常,无法输出波形,查阅资料,发现stm32f103c8t6是小容量的单片机,没有DAC功能,所以无法直接通过dac配置输出。

3代码实现

直接看demo

https://download.csdn.net/download/weixin_51248645/88707820

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/295885.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

test mutation-00-变异测试概览

拓展阅读 test 系统学习-04-test converate 测试覆盖率 jacoco 原理介绍 test 系统学习-05-test jacoco 测试覆盖率与 idea 插件 test 系统学习-06-test jacoco SonarQube Docker learn-29-docker 安装 sonarQube with mysql Ubuntu Sonar 突变测试是什么? …

Harbor配置同步规则删除不掉

【问题原因】 harbor上主从两个仓库,配置同步规则时,定时任务配置太频繁,导致规则修改,删除都失败。 【问题现象】 点击修改后保存,页面报internal server error的错。 【问题排查】 docker ps | grep harbor 查看…

格密码基础:对偶格(超全面)

目录 一. 对偶格的格点 1.1 基本定义 1.2 对偶格的例子 1.3 对偶格的图形理解 二. 对偶格的格基 2.1 基本定义 2.2 对偶格的格基证明 三. 对偶格的行列式 3.1 满秩格 3.2 非满秩格 四. 重复对偶格 五. 对偶格的转移定理(transference theorem&#xff…

HarmonyOS 开发基础(五)Button

HarmonyOS 开发基础(五)Button Entry Component struct Index {build() {Row() {Column() {// Button:ArkUI 的基础组件 按钮组件// label 参数:文字型按钮Button(我是按钮)// width:属性方法,设置组件的宽…

【论文阅读笔记】医学多模态新数据集-Large-scale Long-tailed Disease Diagnosis on Radiology Images

这是复旦大学2023.12.28开放出来的数据集和论文,感觉很宝藏,稍微将阅读过程记录一下。 Zheng Q, Zhao W, Wu C, et al. Large-scale Long-tailed Disease Diagnosis on Radiology Images[J]. arXiv preprint arXiv:2312.16151, 2023. 项目主页&#xf…

防火安全球阀,到2027年市场增长至68亿美元

防火安全球阀是一种在火灾、爆炸等危险环境下仍能正常使用的阀门。它被广泛用于石化、化工、船舶、电力等领域,以保障生产和人员安全。下面我们将从全球市场和中国市场两个方面对其发展趋势进行分析。全球市场分析: 从全球市场的角度来看,防火…

Springboot和Spring有什么区别

SpringBoot和Spring的关系 不是:从马车到汽车那种交通出行的颠覆,从燃油车到纯电动车那种能源利用的变革,从人工驾驶到AI智能那种驾驶方式的升级。总之,不是产品的升级换代,不是谁要替换谁。而是:汽车从手…

Qt/C++摄像头采集/二维码解析/同时采集多路/图片传输/分辨率帧率可调/自动重连

一、前言 本地摄像头的采集可以有多种方式,一般本地摄像头会通过USB的方式连接,在嵌入式上可能大部分是CMOS之类的软带的接口,这些都统称本地摄像头,和网络摄像头最大区别就是一个是通过网络来通信,一个是直接本地通信…

操作系统期末复习大题---经典进程的同步问题

目录 一、经典进程的同步问题 1. 利用记录型信号量解决生产者—消费者问题 执行流程: ”生产者-消费者”问题模型代码框架如下: 注意: 小结: 复习典型例题: 解答: 2. 利用AND信号量解决生产者——…

Leetcode2966. 划分数组并满足最大差限制

Every day a Leetcode 题目来源:2966. 划分数组并满足最大差限制 解法1:排序 将数组 nums 从小到大排序,每三个一组插入答案,如果有 nums[i 2] - nums[i] > k,则不满足要求,返回空数组。 代码&…

C++学习笔记(二十四):c++ this

this指针在c中较为常用。this是一个指向当前对象实例的指针,通过this指针,可以访问该类的成员函数。示例如下:this指针主要的使用场景是在类内部调用类外部的函数,该函数传递的参数是调用该函数的类对象,代码示例如下&…

【linux】更改infiniband卡在Debian系统的网络接口名

在Debian或任何其他基于Linux的系统中,网络接口的名称由udev系统管理。通过创建udev规则,可以修改网络接口名称。以下是更改InfiniBand卡接口名称的一般步骤: 1. 找到网络接口的属性,以编写匹配的udev规则 可以使用udevadm命令查…

Postman Newman 教程:轻松管理 API 自动化测试步骤

Postman 中的 Newman 是什么? Newman 是一个 CLI(命令行界面)工具,用于运行 Postman 中的集合(Collection)和环境(Environment)来进行自动化测试。它允许直接从命令行运行 Postman …

数字后端设计实现 | 数字后端PR工具Innovus中如何创建不同高度的row?

吾爱IC社区星球学员问题:Innovus后端实现时两种种不同高度的site能做在一个pr里面吗? 答案是可以的。 Innovus支持在同一个设计中中使用不同的row,但需要给各自子模块创建power domain。这里所说的不同高度的row,有两种情况。 1…

【mars3d】new mars3d.layer.GeoJsonLayer({实现多孔面遮罩mask: true,

【mars3d】new mars3d.layer.GeoJsonLayer({实现多孔面遮罩 官网测试示例: 1.功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 测试代码: export function showDraw(isFlyTo) { removeLayer() const geoJsonLayer new mars3d.layer.GeoJsonLaye…

【python_将列表整合成文本】

python_将列表整合成文本 # -*- coding: utf-8 -*-data [[指令卡主, 2023-12-25, 经贸有限公司, 孙悟空], [使用了屏幕保护之后,元素找不到了, 2023-12-25, 科技有限公司, 许三多], [操作用友的时候,找不到元素, 2024-01-02, 食品科技有限公司, 小张],…

代码随想录刷题第三十九天| 62.不同路径 ● 63. 不同路径 II

代码随想录刷题第三十九天 不同路径 (LC 62) 题目思路: 代码实现: class Solution:def uniquePaths(self, m: int, n: int) -> int:dp [[0 for _ in range(n1)] for _ in range(m1)]dp[0][1] 1for i in range(1,m1):for j in range(1, n1):dp[i]…

记一次 .NET 某零售管理系统 存储不足分析

一:背景 1. 讲故事 前几天有位朋友找到我,说他的程序会偶发性的报 存储空间不足,无法处理此命令 的错误,让我帮忙看下到底怎么回事,哈哈,人家是有备而来,dump都准备好了,话不多说&…

性能优化-OpenMP基础教程(五)-全面讲解OpenMP基本编程方法

本文主要介绍OpenMP编程的编程要素和实战,包括并行域管理详细实战、任务分担详细实战。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC)开发基础教程 🎀C…