STM32作业实现(四)光敏传感器

news/2024/9/20 1:24:17/ 标签: stm32, 嵌入式硬件, 单片机

目录

STM32作业设计
STM32作业实现(一)串口通信
STM32作业实现(二)串口控制led
STM32作业实现(三)串口控制有源蜂鸣器
STM32作业实现(四)光敏传感器
STM32作业实现(五)温湿度传感器dht11
STM32作业实现(六)闪存保存数据
STM32作业实现(七)OLED显示数据
STM32作业实现(八)触摸按键TPAD
STM32作业实现(九)驱动舵机
源码位置

开启光敏引脚(DMA模式)

在这里插入图片描述
在这里插入图片描述
选择ADC3配置
在这里插入图片描述
需要修改频率
在这里插入图片描述
更新main.c文件

/* USER CODE BEGIN PV */
uint8_t uart_data = 0; // 处理不定长参数
char uart_buf[MAXSIZE] = ""; // 保存不定长命令
uint16_t uart_flag = 0; // 高位 字节用做标志位 低位 字节记录数组使用空间
uint16_t light_adc_dma_buf[2] = {0}; // 接收光敏数据
char msg[MAXSIZE] = ""; // 测试用
/* USER CODE END PV *//* USER CODE BEGIN 2 */
HAL_UART_Receive_IT(&huart1, &uart_data, 1); // 处理不定长数据
HAL_ADCEx_Calibration_Start(&hadc3);
int len = 0;
/* USER CODE END 2 *//* USER CODE BEGIN WHILE */
while (1)
{HAL_ADC_Start_DMA(&hadc3, (uint32_t*)light_adc_dma_buf, 1);len = sprintf(msg, "%d\n", light_adc_dma_buf[0]);HAL_UART_Transmit(&huart1, (uint8_t*)msg, len, 1000);HAL_Delay(1000);/* USER CODE END WHILE *//* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */

使用 UartAssist 工具发送与接收串口调试信息


http://www.ppmy.cn/news/1467508.html

相关文章

Mysql的两种安装方式

文章目录 第一种安装方式国内镜像库下载解压安装配置环境变量初始化数据库安装mysql登录mysql设置root密码退出登录假如忘记了密码,重置密码的步骤1、步骤一:停止 MySQL 服务2、步骤二:使用安全模式启动 MySQL3、步骤三:重置密码4…

SpringBoot整合jasypt加密配置文件敏感信息

SpringBoot整合jasypt加密配置文件敏感信息 在项目中我们需要对配置文件的一些敏感信息进行加密处理,比如数据库账户密码,避免直接暴露出来,这种场景常常用于生产环境,我们不想让开发人员知道生产库的密码,有运维人员…

ArangoDB 学习笔记

新工作需要用到 arangodb,由于之前没有接触过,所以从头开始学,记录一下学习过程中的重点。 一. ArangoDB 安装 1. 下载地址 官网地址:https://www.arangodb.com/download/ 2. 部署步骤 下载 rpm 安装包并安装 rpm -ivh arang…

浅谈Qt:跨平台开发的现在与未来

在软件开发领域,跨平台框架一直是热门话题。Qt作为一个成熟且功能丰富的跨平台C开发库,自从1991年由挪威Trolltech公司开发以来,已经走过了30多年的历程。Qt主要用于开发图形用户界面(GUI)程序,同时也支持开…

学习笔记——IP地址网络协议——网络掩码(Netmask)

三、网络掩码(Netmask) 1、网络掩码概述 网络掩码(Netmask)又称子网掩码(Subnet Mask)网络掩码为32 bit,与IP地址的位数一样,通常也以点分十进制数来表示。 子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用&#xf…

【C语言】文件操作(终卷)

前言 我们在上一卷中了解了顺序读写的函数,现在就让我们从随机读写的函数开始吧。 什么是随机读写? 就是想在哪个位置读或写都行,比较自由。文件打开时光标默认在起始位置。想从后面的某个部分读或写,就得让文件指针来到那个位…

定制高温隧道炉,如何判断质量好坏

在现代工业生产中,高温隧道炉扮演着不可或缺的角色。对于特定工艺要求,如陶瓷烧制、金属热处理等,定制化的高温隧道炉更是不可或缺。然而,面对市场上琳琅满目的产品,如何判断高温隧道炉的质量好坏成为了企业决策者面临…

leetcode 575.分糖果

思路:开两个数组,一个用来存储非负数的糖果个数,一个用来存储负数的糖果个数,这两个数组都是状态数组,而不是计数数组 如果当前能够吃的种类大于现有的种类,现有的种类个数就是答案; 如果当前…

微信小程序-案例:本地生活-首页(不使用网络数据请求)

一、 1.页面效果: 二、 1.新建项目并添加页面 在app.json文件中: "pages": ["pages/home/home","pages/message/message","pages/contact/contact"] 2.配置导航栏效果 在app.json文件中: &quo…

IO流-----各种流(对象流,内存流,打印流,随机访问流)

各种流 各种流:对象流:操作:对象输入输出流:写入数据:读取数据: 内存流:内存输出流:内存输入流: 打印流:字节打印流:字符打印流: 随机…

5.27机器人基础-机械臂逆解

前面简单讲了机械臂的正解问题,即通过原位姿和控制各关节的角度得到终点位姿。而在实际应用的时候,我们通常都是知道起始点和末端终点的位姿,需要考虑如何达到,即运动学机械臂的运动学逆解问题。 求解操作臂运动学方程是一个非线…

LLaSM:Large language and speech model

1.Introduction 级联方法使用ASR将语音输入转化为文本输入,语音到文本会导致信息损失,本文提出LLaSM,一个具有跨模态对话能力的大型语音与语言模型,能够理解和遵循语音与语言指令,借鉴LLaVA,利用预训练的语音模态编码器和大语言模型,使用Whisper作为语音编码器,将语音…

DP动态规划(上)

文章目录 动态规划基本概念斐波那契数列问题C 实现Python 实现Java 实现 迷你结C、Python和Java在实现动态规划时有哪些性能差异?迷你结哪种语言在动态规划中更适合大规模数据处理?迷你结C有哪些知名的库适用于动态规划和大数据处理?动态规划辅助库大数据处理库 迷…

NLP(21)--任务型对话机器人

前言 仅记录学习过程,有问题欢迎讨论 问答系统 闲聊、任务型(帮我设闹钟)、回答型(Q&A) 任务型对话机器人:(帮我定火车票/多轮次) 领域识别(分类、匹配&#xff…

【Python字符串攻略】:玩转文字,编织程序的叙事艺术

文章目录 🚀一.字符串基础🌈二.查看数据类型⭐三.转化❤️四.字符串索引🚲五.字符串切片🎬六.字符串切片-步长☔七.反向切片注意事项🚲八.字符串💥查💥改💥删 ❤️九.字符串拼接&…

DS:数与二叉树的相关概念

欢迎来到Harper.Lee的学习世界!博主主页传送门:Harper.Lee的博客主页想要一起进步的uu可以来后台找我哦! 一、树的概念及其结构 1.1 树的概念亲缘关系 树是一种非线性的数据结构,它是由n(n>0)个有限节点…

idea 常用插件推荐

文章目录 1、Lombok2、Convert YAML and Properties File3、Grep Console4、MyBatisX5、Free MyBatis Tool6、MyBatis Log EasyPlus (SQL拼接)7、MyBatisPlus8、Eclipse theme9、Eclipse Plus Theme10、Rainbow Brackets Lite - Free and OpenSource&…

Windows API 开发桌面应用程序,在窗口按下鼠标左键不放可以拖图,并且拖图期间鼠标图标变成手掌

在Windows API中,要实现鼠标左键按下并拖动以移动窗口中的某个图形,并且同时改变鼠标图标为“手掌”形状(这通常指的是“拖动”或“移动”的图标),你需要执行几个步骤。 以下是一个基本的步骤指南,用于在W…

多扇区轮询存储提高FLASH使用寿命

/********************************************************************************* brief flash 多扇区轮询存储(用于提高flash使用寿命)******************************************************************************1.数组首位UserData[第一位] 和 UserData[最后一…

常用maven - jar 下载与 安装

1. guava 如果你想直接将 JAR 文件安装到本地 Maven 仓库,而不使用 POM 文件,可以使用 mvn install:install-file 命令并手动提供必要的元数据。以下是步骤: 下载 Guava JAR 文件: 从 Maven Central 仓库下载 Guava JAR 文件&am…