STM32 | 方式1:手机发送指令,开发板向手机发送温湿度;方式2:手机发送指令,开发板定时向手机发送温湿度。

2024-06-02 03:52

本文主要是介绍STM32 | 方式1:手机发送指令,开发板向手机发送温湿度;方式2:手机发送指令,开发板定时向手机发送温湿度。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

​01、知识回顾

STM32 | HC-SR04 超声波测距模块 | DHT11数字温湿度传感器(第七天)
STM32 | 数字温湿度传感器DHT11
STM32 | HC-SR04 超声波测距模块
STM32 | DHT11数字温湿度传感器实战
STM32 | 超声波实战

02、作业1

1、通过手机的两方式获取温湿度.

方式1:手机发达指令,开发板向手机发送温湿度;

方式2:手机发达指令,开发板定时向手机发送温湿度。

03、延时外设SysTick

SysTick是指ARM Cortex-M微控制器中的一个系统定时器。它是一个内置的系统定时器,通常用于实现微秒级的延时、定时器中断和系统节拍等功能。SysTick定时器具有以下特点:

1. **精确性**:SysTick定时器是硬件级别的定时器,具有非常高的精度和稳定性,适用于精确的定时和延时操作。

2. **灵活性**:SysTick定时器可以通过软件进行配置和控制,包括预分频、周期设置等,具有一定的灵活性,可以适应不同的应用场景。

3. **低功耗**:SysTick定时器通常使用CPU的时钟作为时钟源,因此在低功耗应用中可以有效地利用系统资源。

4. **易用性**:SysTick定时器的配置和使用相对简单,通常只需配置预分频和周期即可实现所需的定时功能,适用于嵌入式系统和实时操作系统。

//头文件#ifndef __DELAY_H#define __DELAY_H#include "stm32f4xx.h"void Delay_Init(void);void delay_us(u32 nus);void delay_ms(u32 nms);void delay_s(u32 ns);#endif//源文件#include "delay.h"//u32 == unsigned intu32 my_us = 21;        //计21个数用1usu32 my_ms = 21000;      //计21000个数用1msvoid Delay_Init(void){  //SysTick时钟配置 168MHZ/8 = 21MHZ  SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);}//nus取值范围:1~798 915void delay_us(u32 nus){  u32 temp = 0;  //设置重装值寄存器  SysTick->LOAD = my_us*nus - 1;  //设置计数器的值为0  SysTick->VAL = 0x00;  //开启定时器  SysTick->CTRL |= (0x01<<0);    do  {    temp = SysTick->CTRL;      //判断定时是否关闭  //判断SysTick->CTRL第16位是否为1  }while((temp&(0x01<<0)) && (!(temp & (0x01<<16))));      //关闭定时器  SysTick->CTRL &= ~(0x01<<0);}//nms取值范围:1~798void delay_ms(u32 nms){  u32 temp = 0;  //设置重装值寄存器  Sy

这篇关于STM32 | 方式1:手机发送指令,开发板向手机发送温湿度;方式2:手机发送指令,开发板定时向手机发送温湿度。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1022964

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

【即时通讯】轮询方式实现

技术栈 LayUI、jQuery实现前端效果。django4.2、django-ninja实现后端接口。 代码仓 - 后端 代码仓 - 前端 实现功能 首次访问页面并发送消息时需要设置昵称发送内容为空时要提示用户不能发送空消息前端定时获取消息,然后展示在页面上。 效果展示 首次发送需要设置昵称 发送消息与消息展示 提示用户不能发送空消息 后端接口 发送消息 DB = []@ro

工作常用指令与快捷键

Git提交代码 git fetch  git add .  git commit -m “desc”  git pull  git push Git查看当前分支 git symbolic-ref --short -q HEAD Git创建新的分支并切换 git checkout -b XXXXXXXXXXXXXX git push origin XXXXXXXXXXXXXX

脏页的标记方式详解

脏页的标记方式 一、引言 在数据库系统中,脏页是指那些被修改过但还未写入磁盘的数据页。为了有效地管理这些脏页并确保数据的一致性,数据库需要对脏页进行标记。了解脏页的标记方式对于理解数据库的内部工作机制和优化性能至关重要。 二、脏页产生的过程 当数据库中的数据被修改时,这些修改首先会在内存中的缓冲池(Buffer Pool)中进行。例如,执行一条 UPDATE 语句修改了某一行数据,对应的缓

cell phone teardown 手机拆卸

tweezer 镊子 screwdriver 螺丝刀 opening tool 开口工具 repair 修理 battery 电池 rear panel 后盖 front and rear cameras 前后摄像头 volume button board 音量键线路板 headphone jack 耳机孔 a cracked screen 破裂屏 otherwise non-functiona