3.7 FreeRTOS day2

思维导图:

1.使用ADC采样光敏电阻数值,如何根据这个数值调节LED灯亮度。

  1. 配置ADC以读取光敏电阻的电压值,配置PWM以控制LED的亮度。
  2. 使用ADC读取光敏电阻的电压值。这个值将随着环境光线的变化而变化。
  3. 将ADC读取的原始值映射到一个更易于处理的范围,例如0-255。根据需要应用任何平滑或滤波算法,以减少噪声或突变的影响。
  4. 使用映射后的光敏电阻值作为PWM的占空比,从而控制LED的亮度。当光敏电阻值增加(即环境光线更亮)时,降低PWM占空比以减小LED亮度。当光敏电阻值减小(即环境光线更暗)时,增加PWM占空比以增加LED亮度。
  5. 在一个循环中不断重复读取光敏电阻值和调节LED亮度。
int adc_val;//用于保存ADC采样的数据
float britns;
while(1)
{
	HAL_ADC_Start(&hadc);//开启ADC采样
    adc_val = HAL_ADC_GetValue(&hadc);//获取ADC的采样数值
    britns = adc_val / 4095.0f * 3.3f;//转换为小数
    printf("adc_val : %d\r\n", adc_val);
    printf("britns : %f\r\n", britns);
    HAL_Delay(1000);
	if(adc_val>500)
	{
		TIM3->CCR3 = 50;//控制第三个通道CCR3
	}
	else if(adc_val<500)
	{
		
		TIM3->CCR3 = 80;
	}
}

2.总结DMA+空闲中断接收数据的使用方法

  1. 初始化DMA通道:将UART(通用异步收发器)的接收数据寄存器设置为DMA的源地址,而一个缓冲区则设置为DMA的目的地址。设置DMA的传输长度为缓冲区的大小。
  2. 配置UART的空闲中断:当UART在一段时间内没有再次接收到数据时,会触发空闲中断。这种中断模式特别适用于接收任意长度的数据帧。
  3. 启动DMA传输:在UART开始接收数据之前,先启动DMA传输。这样,当UART接收到数据时,DMA会自动将数据传输到之前设置的缓冲区中。
  4. 启动UART接收数据:在DMA传输开始后,启动UART的数据接收。每当UART接收到数据时,DMA会自动进行数据传输,并在传输完成后设置相应的标志位。
  5. 在中断处理函数中处理数据:当空闲中断被触发时,中断处理函数会检查DMA传输完成的标志位,并将DMA传输的数据从缓冲区中取出进行处理。

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

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

相关文章

3/8—88. 合并两个有序数组

代码实现&#xff1a; void merge(int *nums1, int nums1Size, int m, int *nums2, int nums2Size, int n) {int i 0 , j 0;while (i < m && j < n) {if (nums2[j] < nums1[i]) {for (int k m - 1; k > i; k--) {nums1[k 1] nums1[k];}nums1[i] nums…

点亮城市名片丨计讯物联智慧灯杆系统在通讯基地的成功应用

项目背景 在国家新型城镇化大背景下&#xff0c;十四五规划纲要强调“加快数字化发展&#xff0c;建设数字中国”&#xff0c;明确提出“以数字化助推城乡发展和治理模式创新”&#xff0c;全面提高城市的运行效率和宜居程度。 项目概况 为满足灯杆灯光亮度的远程智能管理、对…

管理类联考--复试--面试问题--底层逻辑

文章目录 了解面试官提问问题的背后逻辑&#xff0c;在面试时遇到&#xff0c;即使不懂&#xff0c;也能往边边靠近哈一句顶一万句自我介绍 了解面试官提问问题的背后逻辑&#xff0c;在面试时遇到&#xff0c;即使不懂&#xff0c;也能往边边靠近哈 “你最有挑战性的事是啥”…

1.2_2 OSI参考模型

文章目录 1.2_2 OSI参考模型一、概述&#xff08;一&#xff09;ISO/OSI参考模型是怎么来的&#xff1f;&#xff08;二&#xff09;ISO/OSI参考模型&#xff08;三&#xff09;ISO/OSI参考模型解释通信过程 二、各层功能及协议&#xff08;一&#xff09;应用层&#xff08;第…

建议你一定要读的10本网络安全书籍

作为一名网安人&#xff0c;身上肩负的责任是很大的&#xff0c;能力越大&#xff0c;责任也越大&#xff0c;反过来责任越大&#xff0c;能力也必须跟得上。 以前我们通过读书来获取知识&#xff0c;但在碎片化的现代社会&#xff0c;阅读已经成为一件“奢侈”的事儿了&#…

互联世界的桥梁:探索Facebook如何连接人与人之间的纽带

在当今数字化时代&#xff0c;社交媒体平台已经成为人们日常生活中不可或缺的一部分。其中&#xff0c;Facebook作为全球最大的社交媒体平台之一&#xff0c;扮演着连接人与人之间纽带的重要角色。本文将深入探索Facebook如何成为互联世界的桥梁&#xff0c;促进人们之间的交流…

nginx代理minio客户端

错误方式 在点击桶名查看文件时, 会一直处于loading加载中 worker_processes 1; #设置 Nginx 启动的工作进程数为 1。events {worker_connections 1024; ##设置每个工作进程的最大并发连接数为 1024。 }http {include mime.types; #该文件定义了文件扩展名和 MIME 类型…

HTML静态网页成品作业(HTML+CSS)——电影网首页网页设计制作(1个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有1个页面。 二、作品演示 三、代…

Docker-完整项目的部署(保姆级教学)

目录 1 手动部署(白雪版) 1.1 创建网络 1.2 MySQL的部署 1.2.1 准备 1.2.2 部署 1.3 Java项目的部署 1.3.1 准备 1.3.1.1 将Java项目打成jar包 1.3.1.2 编写Dockerfile文件 1.3.2 部署 1.3.2.1 将jar包、Dockerfile文件放在linux同一个文件夹下 1.3.2.2 构建镜像 …

3/6—27. 移除元素

代码实现&#xff1a; 方法一&#xff1a;快慢指针 int removeElement(int *nums, int numsSize, int val) {int slow 0; for (int fast 0; fast < numsSize; fast) { if (val ! nums[fast]) { nums[slow] nums[fast]; }}return slow; } 方法二&#xff1a;遍历 int rem…

Publii和GitHub:搭建个人网站的完美组合

在数字时代&#xff0c;拥有一个个人网站已经非常普遍了&#xff0c;但是&#xff0c;很多人因为技术难题而望而却步。现在&#xff0c;有了Publii&#xff0c;这一切都将变得简单。Publii是一个静态网站生成器&#xff0c;它允许你在本地计算机上创建和管理内容&#xff0c;然…

【个人学习笔记】概率论与数理统计知识梳理【六】

文章目录 第六章 样本及抽样分布一、随机抽样二、直方图与箱线图2.1 直方图2.2 箱线图 三、抽样分布总结 第六章 样本及抽样分布 好久没更新了&#xff0c;重新捡起来把它更完吧&#xff0c;可能会再开一个机器学习的笔记系列&#xff0c;参考用书是周志华的西瓜书。前五章主要…

第107讲:Mycat实践指南:取模分片下的水平分表详解

文章目录 1.使用取模分片水平分表2.水平分表取模分片案例2.1.准备测试的表结构2.2.配置Mycat实现范围分片的水平分表2.2.1.配置Schema配置文件2.2.2.配置Rule分片规则配置文件2.2.3.配置Server配置文件2.2.4.重启Mycat 2.3.写入数据观察水平分表效果 1.使用取模分片水平分表 平…

Enzo Life Sciences Cortisol(皮质醇) ELISA kit

皮质醇又称为氢化可的松&#xff0c;是一种由胆固醇合成的类固醇激素。它是肾上腺皮质产生和分泌的主要糖皮质激素。皮质醇在血液中以游离皮质醇的形式存在&#xff0c;或与皮质类固醇结合球蛋白(CBG)结合。皮质醇水平在早上7点左右最高&#xff0c;晚上最低。皮质醇可以调节新…

简单认识Linux

今天带大家简单认识一下Linux&#xff0c;它和我们日常用的Windows有什么不同呢&#xff1f; Linux介绍 Linux内核&发行版 Linux内核版本 内核(kernel)是系统的心脏&#xff0c;是运行程序和管理像磁盘和打印机等硬件设备的核心程序&#xff0c;它提供了一个在裸设备与…

机器学习笔记 DeepFakes和换脸技术简述

一、简述 人脸检测一直是 2000 年代初的主要研究课题。差不多二十年后,这个问题基本上得到了解决,并且人脸检测在大多数编程语言中都可以作为库使用。甚至换脸技术也不是什么新鲜事,并且已经存在了好些年了。 早在2016年左右就有基于OpenCV进行面部交换的方式了,主要是基于…

《Ubuntu20.04环境下的ROS进阶学习0》

一、逛ROS应用商店 在上一专栏http://t.csdnimg.cn/oGlcu&#xff0c;我们了解了ROS的基本功能。这一专栏将会在此基础上做出进一步拓展学习。那么首先我们要学会下载并阅读别人的代码。常用的两个应用商店一个是ROS的官方应用商店ROS index&#xff0c;另一个就是我们熟知的gi…

msys2下mingw32无法使用gcc编译命令

【问题现象&#xff1a;】 安装好msys2的环境后打开mingw32命令行&#xff0c;无法使用gcc命令。 【问题原因&#xff1a;】 没有配置安装对应的命令。 【解决方法&#xff1a;】 使用pacman命令安装gcc即可&#xff1a; 安装完成后&#xff0c;使用gcc -v测试&#xff0c…

【Pytorch】进阶学习:基于矩阵乘法torch.matmul()实现全连接层

【Pytorch】进阶学习&#xff1a;基于矩阵乘法torch.matmul()实现全连接层 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448…