BearPi Std 板从入门到放弃 - 引气入体篇(9)(DAC->ADC)

简介

结合 BearPi Std 板从入门到放弃 - 引气入体篇(7)(DAC) 和 BearPi Std 板从入门到放弃 - 引气入体篇(8)(ADC) 这两篇, 实现 D -> A -> D 的转换, 也就是DAC -> ADC;
开发板 : Bearpi Std(小熊派标准板)
主芯片: STM32L431RCT6
LED : PC13 \ 推挽输出即可 \ 高电平点亮
串口: Usart1
KEY1 : PB2 \ 上拉 \ 按下下降沿触发(一次)\ 用于增值
KEY2 : PB3 \ 上拉 \ 按下下降沿触发(一次) \ 用于减值
DAC1: PA5
ADC1: PC2

步骤

  1. 创建工程及初始化相关功能;
  2. 生成项目BearPi_DAC1_ADC1
  3. 添加用户代码
int main()
{/* USER CODE BEGIN 1 */int16_t adcValue = 0; int16_t dacValue = 0;float voltage = 0.0;/* USER CODE END 1 */.../* USER CODE BEGIN 2 */HAL_DAC_Start(&hdac1, DAC_CHANNEL_2); // 开启DAC通道HAL_ADC_Start_DMA(&hadc1, (uint32_t*)&adcValue, 1); // 开启ADC/* USER CODE END 2 *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */if (HAL_GPIO_ReadPin(USER_KEY1_GPIO_Port, USER_KEY1_Pin) == GPIO_PIN_RESET){HAL_Delay(100); //  if (HAL_GPIO_ReadPin(USER_KEY1_GPIO_Port, USER_KEY1_Pin) == GPIO_PIN_RESET){dacValue += 10; if(dacValue > 4095) {dacValue = 4095;}HAL_DAC_SetValue(&hdac1, DAC_CHANNEL_2, DAC_ALIGN_12B_R, dacValue);voltage = adcValue*3.3/4095;printf(" KEY1+ DACvalue: %d, ADCValue: %d, Voltage:%3.3f\r\n", dacValue, adcValue, voltage);}}if (HAL_GPIO_ReadPin(USER_KEY2_GPIO_Port, USER_KEY2_Pin) == GPIO_PIN_RESET){HAL_Delay(100); //  if (HAL_GPIO_ReadPin(USER_KEY2_GPIO_Port, USER_KEY2_Pin) == GPIO_PIN_RESET){dacValue -= 10; if (dacValue < 0){dacValue = 0;}	HAL_DAC_SetValue(&hdac1, DAC_CHANNEL_2, DAC_ALIGN_12B_R, dacValue);voltage = adcValue*3.3/4095;printf(" KEY2- DACvalue: %d, ADCValue: %d, Voltage:%3.3f\r\n", dacValue, adcValue, voltage);}}HAL_Delay(100);}/* USER CODE END 3 */
}
  1. 打开串口软件进行监控, 排线连接PC2 和 PA5
  2. 按键控制实现设置D值(DAC)与读取D值(ADC)的变化;

BearPi_DAC1_ADC1 完整项目代码

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能DNS与CDN:增强网络性能和用户体验

文章目录 智能DNS与CDN&#xff1a;增强网络性能和用户体验1. 智能DNS1.1 智能DNS简介1.2 智能DNS的工作原理1.3 智能DNS的优点 2. 内容分发网络&#xff08;CDN&#xff09;2.1 CDN简介2.2 CDN的工作原理2.3 CDN的优点 3. 智能DNS与CDN的结合4. 总结 智能DNS与CDN&#xff1a;…

浏览器判断某一个 ip 是否与其在同一个局域网的几种方式

前言 前段时间有个需求&#xff0c; 就是我们有做一个 web 的投屏端&#xff0c; 可以将另一个客户端(比如 android&#xff0c;ios&#xff0c;win&#xff0c;mac) 投屏到 web 站点来。 但是期间因为涉及到引流&#xff0c; 所以针对投屏的客户端是否在同一个局域网下要做不同…

三年没写了, 访问量竟然几十万次。

分享知道是我的爱好。 能帮助任何一个人都是值得的。

谈谈我对HashMap扩容机制的理解及底层实现

目录 一、HashMap的底层实现 二、HashMap扩容机制 概念 详细扩容&#xff1a; 1、初始容量 2、添加元素 3、元素数量检查 4、触发扩容 5、迁移元素 6、更新容量和阈值 代码&#xff1a; 一、HashMap的底层实现 HashMap 是 Java 中常用的数据结构之一&#xff0c;用于…

Python学习路线 - Python语言基础入门 - 判断语句

Python学习路线 - Python语言基础入门 - 判断语句 前言布尔类型和比较运算符布尔类型布尔类型的定义 比较运算符 if语句的基本格式if判断语句 if else 语句if elif else 语句判断语句的嵌套实战案例 前言 进行逻辑判断&#xff0c;是生活中常见的行为。同样&#xff0c;在程序…

Powerbuilder9.0 安装是一直卡在setup is running无法继续

这种情况是安装时&#xff0c;他后面弹出来一个提示框&#xff0c;但是因为其他进程的干扰&#xff0c;我们无法看到也就无法继续了。 我看到这个文章&#xff1a;https://blog.csdn.net/FLORY_/article/details/105244102 使用他说的方法的确有效。过程 1. 打开任务管理器 …

es常用查询编辑

查询指定id信息 GET /index_name/_doc/1074266245查询指定信息并降序 GET /index_name/_search {"query": {"term": {"deviceId": {"value": "1074266245"}}}, "sort": [{"timestamp": {"order&qu…

Mysql的事务日志

Mysql的事务具有四个特性&#xff1a;原子性、一致性、隔离性、持久性。那么事务的四种特性分别是靠什么机制实现的呢&#xff1f; 事务的隔离性由锁机制来保证 事务的原子性、一致性、持久性则由redo log和Undo log来保证。 - redo log是重做日志&#xff0c;提供再写入操作&…

子查询在SQL中的应用和实践

作者&#xff1a;CSDN-川川菜鸟 在SQL中&#xff0c;子查询是一种强大的工具&#xff0c;用于解决复杂的数据查询问题。本文将深入探讨子查询的概念、类型、规则&#xff0c;并通过具体案例展示其在实际应用中的用途。 文章目录 子查询概念子查询的类型子查询的规则实际案例分析…

Photoshop Elements 2023 v21.0(ps简化版)

Photoshop Elements 2023是一款ps简化版图像处理软件&#xff0c;它加入了一些新的功能和工具&#xff0c;以帮助用户更高效地处理图片。 新功能&#xff1a;软件加入了黑科技&#xff0c;采用Adobe Sensei AI技术&#xff0c;主打人工智能&#xff0c;一键P图&#xff0c;新增…

【C语言实现windows环境下Socket编程TCP/IP协议】

C语言实现windows环境下Socket编程TCP/IP协议 主要是记录解决一些在我本地编译运行时出现的问题connect &#xff1a;No error关于头文件关于stray /xxx和socket&#xff1a;No error问题千万记得是服务器先启动哦&#xff0c;客户端后启动下面附上我改好的代码 主要是记录解决…

Demystifying DeFi MEV Activities in Flashbots Bundle

目录 笔记后续的研究方向摘要引言贡献 Demystifying DeFi MEV Activities in Flashbots Bundle CCS 2023 笔记 本文介绍了对 Flashbots 捆绑包中的去中心化金融 &#xff08;DeFi&#xff09; 矿工可提取价值 &#xff08;MEV&#xff09; 活动的研究。作者开发了ActLifter&am…

文献速递:多模态影像组学文献分享(一种诊断方法结合了多模态放射组学和基于腰椎CT及X光的机器学习模型,用于骨质疏松症)

文献速递&#xff1a;多模态影像组学文献分享:(一种诊断方法结合了多模态放射组学和基于腰椎CT及X光的机器学习模型&#xff0c;用于骨质疏松症)** Title 题目 A diagnostic approach integrated multimodal radiomics with machine learning models based on lumbar spine CT…

Codeforces Round 913 (Div. 3) A~E

目录 A. Rook 问题分析: B. YetnotherrokenKeoard 问题分析: C. Removal of Unattractive Pairs 问题分析: D. Jumping Through Segments 问题分析: E. Good Triples 问题分析: A. Rook 问题分析: 给一个棋子将其同行同列的位置输出 #include<bits/s…

❀My学习Linux命令小记录(14)❀

目录 ❀My学习Linux命令小记录&#xff08;14&#xff09;❀ 56.man指令 57.whatis指令 58.info指令 59.--help指令 60.uname指令 ❀My学习Linux命令小记录&#xff08;14&#xff09;❀ 56.man指令 功能说明&#xff1a;查看Linux中的指令帮助。 &#xff08;ps.man命…

上门预约洗鞋店小程序

互联网洗鞋店小程序开发&#xff0c;结合洗鞋行业线下实际运营情况和经验&#xff0c;专为洗鞋人、洗鞋店打造的高效、实用、有价值的洗鞋私域流量管理软件系统。 帮助洗鞋人建立自己的私域流量&#xff0c;实现会员用户管理&#xff0c;用户与商家点对点互联互通&#xff0c;提…

工业级路由器在智能交通系统(ITS)中的创新应用

智能交通系统&#xff08;ITS&#xff09;作为一种先进的交通管理与控制系统&#xff0c;旨在提高交通运输系统的效率、安全性和便捷性。随着科技的不断发展&#xff0c;智能交通系统已经成为城市交通管理的重要组成部分。而工业级路由器作为一种可靠的网络通信设备&#xff0c…

微信小程序开发步骤及简单开发案例

开发步骤: 注册开发者账号:前往微信公众平台注册一个小程序开发者账号。创建小程序:登录小程序开发者工具,创建一个新的小程序项目,并填写小程序基本信息。配置开发环境:在小程序开发者工具中配置开发环境,包括开发者工具的设置、调试工具的设置等。设计小程序界面:根据…

SCAU:18051 勾股数

18051 勾股数 时间限制:1000MS 代码长度限制:10KB 提交次数:0 通过次数:0 题型: 编程题 语言: G;GCC;VC Description 若三个正整数a、b、c&#xff0c;其中a<b<c&#xff0c;满足a^2b^2c^2&#xff0c;其中^表示上标&#xff0c;称这三个数为“勾股数”&#xff0c;例…

python执行命令的方式

常见方法 Python中常用的执行操作系统命令有os.system()、os.popen()、commands、subprocess.popen()、subprocess.call()、subprocess.run()、subprocess.getstatusoutput()等方法。 os.system方法 这个方法是直接调用标准C的system() 函数&#xff0c;仅仅在一个子终端运行…