一、stm32的dac功能输出电压

2023-05-16

1、软件配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、配置

void DAC1_Set_Vol(uint16_t vol)
{
	double temp=vol;
	temp/=1000;
	temp=temp*4096/3.3;
  HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_12B_R,temp);//设置输出dac值
}


int fputc(int ch, FILE *f)
{
  HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);
  return ch;
}
int fgetc(FILE * f)
{
  uint8_t ch = 0;
  HAL_UART_Receive(&huart1,&ch, 1, 0xffff);
  return ch;
}
  
    uint16_t adcx;
	float temp;
 	uint8_t t=0;	 
	uint16_t dacval=0;
	uint8_t key;
		
   MX_USART1_UART_Init(); 
   MX_DAC_Init(); 
   MX_GPIO_Init();
   while (1)
   {
		if(	HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_4)==0)
		{
						if(dacval<4000)dacval+=200;
            HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_12B_R,dacval);//设置按键控制dac输出的步进值增加。
		}
		if(HAL_GPIO_ReadPin(GPIOE,GPIO_PIN_3)==0)	
		{
			if(dacval>200)
				dacval-=200;
			else dacval=0;
            HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_12B_R,dacval);//设置按键控制dac输出的步进值减少。
		}	 
		HAL_Delay(200);
    adcx=HAL_DAC_GetValue(&hdac,DAC_CHANNEL_1);
		temp=(float)adcx*(3.3/4096);			    //将dac通道里的值通过比值转化过来
			adcx=temp;
		printf("int temp:%f ,",temp);//整数部分
			temp-=adcx;
			temp*=1000;
		printf("float temp:%f\n",temp);//小数部分
	

	
	}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一、stm32的dac功能输出电压 的相关文章

  • 解决Ubuntu20.04插入英伟达计算卡后无法开机问题-Ubuntu双显卡切换

    解决Ubuntu20 04插入英伟达计算卡后无法开机问题 Ubuntu双显卡切换 问题详述问题分析问题解决 ubuntu双显卡切换 问题详述 本人新配了一台个人使用的机器学习服务器 对环境配置可能有影响的硬件如下 xff1a 华硕B660M
  • python PyQt5使用QT designer不显示问题

    初学Pyqt5记录走过 的坑 xff01 1 窗口自适应 xff1a 窗口自适应我的理解就是使用栅格布局 xff0c 调整后会根据窗口大小调整比例 先把自己需要的截面放在UI上 xff0c 然后使用栅格布局即按Ctrl 43 r即可预览 x
  • opencv跑yolo报错Failed to parse NetParameter file

    64 TOC cv2 error OpenCV 3 4 5 opencv 3 4 5 modules dnn src darknet darknet importer cpp 214 error 212 Parsing error Fail
  • Java自学

    JAVA自学 一 需要掌握的知识点二 资源中心 教程 练习 三 工作要求 图片 一 需要掌握的知识点 java基础 xff08 多线程 IO xff08 nio xff0c bio xff0c aio xff09 xff09 各种数据结构
  • python解析DataMatrix Code二维码

    span class token comment 安装 span span class token triple quoted string string 39 39 39 sudo apt get install libdmtx0a pi
  • SpringBoot中使用自定义异常Exception

    记录一下SpringBoot中使用自定义异常操作方法 代码如下 创建ServiceException class span class token keyword public span span class token keyword c
  • kafka的安装与使用(一)

    kafka的安装与使用 xff08 一 xff09 最近接触消息中间件 xff0c 把使用过程中记录一下 xff01 1 下载与安装 任何文档都要以官方文档为准 xff0c 英文多看两眼你会发现比上次更加熟悉了 xffe3 xffe3 xf
  • 【GITEE】解决 Push rejected

    问题背景 xff1a 更新了台式电脑后 xff0c 从gitlee上拉了代码 xff0c 重新push后就一直报错 xff1a Push single to origin single was rejected by remote 问题解决
  • 一小时学会Python3爬虫基础(二)基础语法 输入输出 关键字 注释

    目录 前言集成环境 编辑器基本语法缩进换行标识符关键字注释输入 输出总结 前言 python作为一门编程语言 xff0c 也跟其他语言一样有自己的逻辑语法 xff0c 那什么是语法 xff1f 跟人一样每个人都有自己说话一套方法 集成环境
  • windows 生成self-sign证书

    打开powershell 管理员身份运行 New SelfSignedCertificate CertStoreLocation Cert LocalMachine My DnsName 34 mysite local 34 Friendl
  • 一小时学会Python3爬虫基础(四)完整解析格式化输出和数据类型转换

    目录 前言格式化输出格式化符号 s格式化函数format格式化表示 f string 转义符和结束符 n意思就是 换行 new line t 叫做水平制表符 tab xff0c r 是回车符carriage return结束符 数据类型转换
  • 一小时学会Python3爬虫基础(七)高级数据的全部操作:字典

    目录 前言字典1 字典格式2 创建有效字典2 创建空字典3 字典类型转换 字典增加和修改1 增加2 修改 字典查找1 key键查找2 get 3 keys 4 values 5 items 字典循环遍历1 遍历字典的key值2 遍历字典的v
  • Python处理异常代码的基本操作,原来都大同小异!

    目录 什么是异常 xff1f 如何捕获异常 xff1f 1 异常的写法2 捕获指定异常3 捕获多个异常4 捕获异常的描述5 捕获所有异常6 异常的else7 finally8 自定义异常模块9 异常传递思路 总结 什么是异常 xff1f 简
  • python的模块与包的关系

    模块和包的概念 python中的模块 xff0c 其实就是一个python的文件 xff0c 包含了很多类和函数 xff0c 基本上都是可以向外调用的 xff0c 或者整个文件都用来处理某个操作 xff0c 我们使用库和框架就是由模块和包构
  • 一小时学会Python基础练习的十四个练手题

    目录 1到100的加法搬家具办公室人员分配猜拳游戏乘公交车吃苹果九九乘法表烤地瓜奇偶100内相加三角形正方形文件备份学员管理系统 xff08 函数版 xff09 学员管理系统 xff08 面向对象版 xff09 mainmangerSyst
  • ROS Topic (话题通信总结)

    拿到一个功能包 xff0c 先运行一下 xff08 以turtlesim为例子 xff09 xff1a rusrun turtlesim turtlesim node 然后使用 rqt graph 和rostopic list 大致了解有哪
  • vector函数用法

    一维 基本用法 xff1a 1 头文件 include lt vector gt 2 创建vector对象 xff0c vector lt int gt vec 3 尾部插入数字 xff1a vec push back a 4 使用下标访问
  • Jetson nano串口的使用——UART

    UART串口使用两条杜邦线就可以实现数据发送和接收 xff0c 可以很方便的与其他扩展进行数据连接 xff0c 比如微雪的L76X GPS HAT就可以直接连接40Pin的GPIO接口通过UART串口进行数据传递 接下来具体说明Jetson
  • Python中[-1]、[:-1]、[::-1]、[n::-1]、[:,:,0]、[…,0]、[…,::-1] 的理解

    在python中会出现 1 1 1 n 1 0 0 1 xff0c 他们分别是什么意思呢 xff0c 这里就来详尽的说一下 xff1a 下面的a 61 1 2 3 4 5 1 xff1a 列表最后一项 1 xff1a 从第一项到最后一项 原
  • 贴片电阻字码阻值对照表

随机推荐

  • 使用sphinx生成python项目文档

    1 pip install sphinx 2 sphinx quickstart 3 修改 conf py import os import sys sys path insert 0 os path abspath 39 39 确保mod
  • 免费商用字体有哪些

    免费商用字体有哪些 一 思源字体 xff0c 可以免费商用的有 思源黑体 xff0c 思源宋体 xff0c 思源柔黑体 二 方正字体 xff0c 方正类字体可以免费商用的有 xff1a 方正仿宋 xff08 简 xff0c 繁 xff09
  • Qt:16进制字符串数据转整数数值函数

    span class token comment 16进制字符串数据转整数数值 span span class token keyword int span Setting span class token operator span sp
  • ESP-12F开发环境

    ESP 12F可以使用arduino IDE快速开发 1 首先安装arduino IDE xff1a 搜索直接下载即可 2 在文件 gt 首选项 gt 附加开发板管理器网址中添加ESP8266开发板 xff1a 网址 xff1a http
  • 第1章 电子设计与制作基础

    1 电子系统的分类 模拟电子系统数字电子系统模拟 数字混合系统微处理器 xff08 单片机 嵌入式 xff09 电子系统 2 电子系统的定义 通常 xff0c 将由电子元器件或部件组成的能够产生 传输 采集或处理电信号及信息的客观实体称为电
  • python requests timeout参数

    首先发一下牢骚 xff1a 不管是抄袭还是转载 xff0c 有点新东西行不行 xff0c 一味的转载有什么用呢 xff1f 东西还以那点东西 xff0c 让想解决问题的人查看一些一摸一样的文章 xff0c 只会浪费查询者的时间 况且 xff
  • c++配置http/post请求接收json数据

    照着教程编译操作都没问题 首先是配置curl库 给一个别人的编译链接curl库 vs2017 xff1a 亲测可用 c 43 43 编译curl库 测试代码 xff1a span class token macro property spa
  • c++ 编译过程

    c 43 43 编译过程引入 常见 xff1a 用gcc g 43 43 指令生成可执行文件 xff0c 对于大点的项目 xff0c 则是 xff1a configure span class token function make spa
  • c和c++有什么不同呢???

    区别联系 其实说起C和C 43 43 的区别 xff0c 我相信很多人其实立马就能脱口而出 xff1a C是面向过程编程的语言 xff0c 而C 43 43 是面向对象的编程语言 C是一个结构化语言 xff0c 重点在于算法和数据结构 xf
  • 关于stm32f4上对(28byj-48)步进电机的应用控制和解读。

    1 关于stm32f4上对 xff08 28byj 48 xff09 步进电机的应用控制和解读 xff08 1 ULN2003驱动模块电路 步进电机不能直接和单片机连接 xff0c 需要对应驱动模块提供电机所需的电流 电路图分析 xff1a
  • 对于stm32仿真器下载程序事常见的问题(No Target Connected 错误和SWD/JTAG Communication Failure错误)解决方案。

    一 对于stm32仿真器下载程序事常见的问题 xff08 No Target Connected 错误和SWD JTAG Communication Failure错误 xff09 解决方案 xff08 1 xff09 出现这种问题的本质是
  • 在CSDN写博客12年了,提几点建议

    从2020开始到现在一年多没有更新了 xff0c 一方面是在工作中burn out了 xff0c 其次是站在程序员的视角 xff0c CSDN的变化我认为一些地方有待改进 先说首页 头条 热点 内容有待提高 之前的首页内容有很多 纯技术的内
  • 一.stm32使用hal库串口接收发送测试

    一 hal库串口接收发送测试 1 串口的模式有3种 xff0c 一是查询模式 xff0c 二是中断模式 xff0c 三是DMA模式 HAL UART Transmit 串口轮询模式发送 xff0c 使用超时管理机制 HAL UART Rec
  • 一.在HAL库中使用串口(dma)模式接收发送测试

    1 串口DMA的配置 xff1a DMA作为一种数据传输的工具 xff0c 主要在串口中起到传输数据的作用 配置dma时需要将接收设置成循环模式 xff0c 发送为正常模式 在串口中断中处理数据 2 代码补充 在usart span cla
  • 一.对于uint32_t,uint16_t和uint8_t之间的相互转化,以及uint16_t的高低位互换,bit->int转换等

    一 对于uint32 t xff0c uint16 t和uint8 t之间的相互转化 xff0c 以及uint16 t的高低位互换 xff0c bit gt int转换等 一 说明 xff1a 左移 xff1a 从二进制的角度看现象 xff
  • 一.对于计算机中存储地址的计算以及容量缺少问题的分析

    span class token number 1 span 首先1GB span class token operator 61 span 1024MB xff0c M是MB的简称 span class token assign left
  • keil5环境下生成bin文件

    1 首先对于keil5其编译生成的HEX文件 xff0c 一般通过勾选如下 xff1a 在进行ISP烧写时 xff0c 就可以通过传送HEX文件进行烧写 2 对于烧写而言不仅仅可以通过HEX文件进行烧写 xff0c 还可以通过BIN文件进行
  • 一.对于flash芯片的存储区的总结

    一 对于flash的存储的区分 xff1a 1 假设芯片的flash大小为 1mb xff0c 则块区 xff1a 16块 即64kb为一块区 扇区 xff1a 256个扇区 即4kb为一扇区 页 xff1a 一个扇区有16页 xff0c
  • 一、SPI通信时前面几个字节为0x00,后面正常的问题总结

    一 SPI通信时遇到的问题总结 1 spi通信时数据存在偏移现象 偏移现象为 xff1a 通信的数据里开始的 xff08 1 2 xff09 个数据为0x00之后才进行传输数据 问题解决方法 xff1a 在发送数据前进行初始化配置 xff0
  • 一、stm32的dac功能输出电压

    1 软件配置 2 配置 span class token keyword void span span class token function DAC1 Set Vol span span class token punctuation