第七课 学习韦东山老师STM32F103 迷你核心单片机Mini开发板

2023-11-04

本节课为《7天物联网智能家居实战训练营1期》的第7节课,也是最后1节课。


一、【基础班7节课】项目完善与总结回顾

第一部分
一、对项目进行功能改进优化,并进行回顾总结。
在这里插入图片描述
项目程序流程中:首先将时钟、GPIO、串口、中断等初始化,如下图:
在这里插入图片描述

二、串口2中断接收
如图,启动串口2接收后,一旦串口2有接收到数据,就跳入串口2中断回调函数中,将串口2收到的数据保存到usart_rx_buf中,再次启动串口2接收。
学习韦东山老师STM32F103 迷你核心单片机Mini开发板
三、发送AT指令
然后尝试依次向ESP8266发送指令,分别是重启、设置WIFI模式、连接WIFI的账号和密码、创建UDP连接,然后获取IP。
在这里插入图片描述

四、主函数
在主函数中,检测按键是否有按下,如果有按下向ESP8266发送数据,手机端微信小程序监控wifi数据 ,一旦收据“该”数据后会把APP端相应的图标改变颜色或执行其它事件。
在这里插入图片描述
五、主程序接收数据
匹配串口2接收数据 ,如果串口2接收到“指定”数据,对GPIO口进行操作,执行亮灯动作。
在这里插入图片描述
以上就是项目代码框架。

二、项目实例优化

在实际应用中,如环境的改变需要更换掉相应的wifi账号和密码,此时可以按下按键,手动输入新的账号和密码进行连接。具体程序思路如下 :
1.设置等待时间;比如:500ms;
2.判断按键是否有按下(如果有的话接下来获取wifi账号和密码);
获取wifi账号:

	while(ch != "\r")
	{
		meset(ssid_buf,0,20)
		ch = getchar();
		 ssid_buf(len) = ch;
		 len++;
	}
获取wifi密码:
		meset(pwd_buf,0,20)
		while(ch != "\r")
		{
			ch = getchar();
			 if(ch > " ")	//这里要求密码数据大于ASSIC 空格;
			 {
			 	pwd_buf(len) = ch;
				len++;
			 }
		}
//注:在调试时可以打印输出相应的变量数据内容。

3.显示IP地址
在这里插入图片描述

三、总结回顾

在这里插入图片描述
第1课 基础概念
在这里插入图片描述
第1课 开发流程
在这里插入图片描述

第2课 上手思路
在这里插入图片描述
第2课 开发模式
在这里插入图片描述
第3课 时钟树
在这里插入图片描述
第3课 GPIO
在这里插入图片描述
第4课 中断
在这里插入图片描述
第4课 串口
在这里插入图片描述
第5课 AT指令
在这里插入图片描述
第6课 WIFI连接流程在这里插入图片描述

第6课 程序框架
在这里插入图片描述

四、 互动环节


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

第七课 学习韦东山老师STM32F103 迷你核心单片机Mini开发板 的相关文章

  • STM32的HAL中实现单按、长按和双按功能

    我正在尝试实现单击 双击和长按功能来执行不同的功能 到目前为止 我已经理解了单击和长按的逻辑 但我不知道如何检测双击 至于代码 我使用计数器实现了单击和长按 但代码仅停留在第一个 if 条件上 bool single press false
  • STM32F207 I2C 测试失败

    我正在使用 STM32F207 微控制器在 STM3220G EVAL 板上学习嵌入式开发 我尝试通过连接同一芯片上的两个 I2C2 和 I2C3 模块并发送 接收字符来测试 I2C 接口 这是我当前编写的代码 使用 mdk arm 5 i
  • RT-Thread 内核基础(六)

    RT Thread内核配置示例 RT Thread的一个重要特性是高度可裁剪性 支持对内核进行精细调整 对组件进行灵活拆卸 配置主要是通过修改工程目录下的rtconfig h文件来进行 用户可以通过打开 关闭该文件中的宏定义来对代码进行条件
  • 世微 AP2402降压恒流驱动IC LED刹车灯方案 全亮 半亮 瀑闪

    AP2402 是一款 PWM 工作模式 高效 率 外围简单 内置功率管 适用于 5 100V 输入的高精度降压 LED 恒流驱动芯片 输 出功率可达 15W 电流 1 5A AP2402 可实现三段功能切换 通过 MODE1 2 3 切换三
  • 世微AP9196 DC-DC 升压恒流电源管理芯 电解水驱动电源应用线路

    AP9196 是一系列外围电路简洁的宽调光比升压调光恒流驱动器 适用于 3 40V 输入电压范围的 LED照明领域 AP9196 采用我司专利算法 可以实现高精度的恒流效果 输出电流恒流精度 3 电压工作范围为5 40V 可以轻松满足锂电池
  • 学习STM32正点原子好吗?

    今日话题 学习STM32正点原子好吗 正点原子的教程内容简单明了 代码也清晰直接 使初学者能够轻松理解其功能和使用方法 尤其对于需要快速完成大学作业等任务的大学生来说 可以直接借鉴并稍作修改 便可满足需求 正点原子提供的资料通俗易懂 适合用
  • Java 学习路线 2024 最新版!

    又对上次分享的 Java 学习路线进行了简单修改完善 并增加了免登录下载和黑夜模式 这里重发一下 花了一个月零碎的时间 我根据当下 Java 后端求职和招聘的最新要求 对之前写的 Java 后端学习路线进行了全面的优化和改进 添加图片注释
  • 物联网项目分享 Stm32单片机的音乐播放器设计 - 物联网 嵌入式

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 设计原理 5 部分核心代码 6 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉
  • 太阳诱电 | 电容器为什么会发热?什么是纹波电流

    电容器中存在寄生于电极和电介质的电阻成分 当纹波电流等交流电流通过电容器时 电阻的成分会产生热量 为了抑制发热 选择ESR较低的电容器非常重要 陶瓷电容器在电容器中ESR较低 非常适合抑制发热 电容器中的纹波电流主要是指电源电路中由于IC的
  • Arm:objcopy 如何知道 elf 中的哪些部分要包含在二进制或 ihex 中?

    我正在开发一个项目 其中涉及解析arm elf 文件并从中提取部分 显然 elf 文件中有很多部分没有加载到闪存中 但我想知道 objcopy 到底如何知道要在二进制文件中包含哪些部分以直接闪存到闪存中 以arm elf文件的以下reade
  • for循环延时时间计算

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 之前做led点亮的实验 好像是被delay函数影响了 因为delay参数设置的不对
  • 小白也能学会的创建Git仓库实操

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 用户数据中的幸存者偏差

    幸存者偏差 Survivorship bias 是一种常见的逻辑谬误 意思是没有考虑到筛选的过程 忽略了被筛选掉的关键信息 只看到经过筛选后而产生的结果 先讲个故事 二战时 无奈德国空防强大 盟军战机损毁严重 于是军方便找来科学家统计飞机受
  • msyql 异常,别干着急,70%的问题都在这里!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 【计算机毕业设计】OA公文发文管理系统_xtv98

    近年来 人们的生活方式以网络为主题不断进化 OA公文发文管理就是其中的一部分 现在 无论是大型的还是小型的网站 都随处可见 不知不觉中已经成为我们生活中不可或缺的存在 随着社会的发展 除了对系统的需求外 我们还要促进经济发展 提高工作效率
  • 【GRNN-RBFNN-ILC算法】【轨迹跟踪】基于神经网络的迭代学习控制用于未知SISO非线性系统的轨迹跟踪(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 第1部分 2 2 第2部分
  • 【js学习之路】遍历数组api之 `filter `和 `map`的区别

    一 前言 数组是我们在项目中经常使用的数据类型 今天我们主要简述作用于遍历数组的api filter 和 map 的区别 二 filter和map的共同点 首先 我们主要阐述一下 filter 和 map 的共同点 api的参数都是回调函数
  • 【学习分享】全志平台TWI子系统源码分析(1)从设备树到寄存器

    全志平台TWI子系统源码分析 1 从设备树到寄存器 前言 一 名词解释 二 从设备树入手看源码 1 TWI设备树 2 TWI源码位置 3 TWI总线相关寄存器 总结 前言 这次开坑主要是想把全志平台TWI子系统在源
  • STM32 Nucleo 上的上升沿中断多次触发

    我正在使用 STM32 NUCLEO F401RE 微控制器板 我有一个扬声器 经过编程 当向上 向下推操纵杆时 可以按设定的量改变频率 我的问题是 有时 通常 当向上 向下推动操纵杆时 频率会增加 减少多次 这意味着 ISR 正在执行多次
  • STM32 上的位置无关代码 - 指针

    我已成功在 STM32 上构建并运行位置无关的代码 向量表和 GOT 已修补 一切正常 但我对这样的代码有问题 double myAdd double x return x 0 1 double ptrmyAdd double myAdd

随机推荐

  • JS判断时间上传格式

    MimeType 文件类型 application msword word doc application vnd ms powerpoint powerpoint ppt application vnd ms excel
  • 链表——一种线性数据结构

    链表 链表中的每个元素实际上是一个单独的对象 而所有对象都通过每个元素中的引用字段链接在一起 线性数据结构 与数组一样 链表也是线性数据结构 他们的区别在于存储方式不同 顺序存储结构 数组 快速的存和取 逻辑上相邻 物理上也相邻 链式存储结
  • 深入leveldb-初步认识leveldb

    文章参考http blog chinaunix net uid 26575352 id 3245476 html 1 leveldb简介 leveldb是google两位工程师实现的单机版k v存储系统 具有以下几个特点 1 key和val
  • 数组环形队列(FIFO)

    数组环形队列 FIFO 一 说明 环形队列的关键是判断队列为空 还是为满 当tail追上head时 队列为满 当head追上tail时 队列为空 二 代码实现 define ElemType uint8 t 定义数据类型 define Qu
  • python的小作业

    目录 python安装 2 打印0 100 遇到19的时候跳出循环 3 只打印90以内的奇数 4 对发送邮件代码进行修改 换成自己的邮箱并截图保存 5 对指导书中海龟画图和TCP UDP的案例进行学习并运行结果 python小项目 pyth
  • 高德地图-根据IP定位显示当前所在城市

    1 绘制地图 构造参数中的container为添加的地图容器的id let map new AMap Map container 2 IP定位 高德地图定位文档 自建图层 参考手册 地图 JS API 高德地图API 创建AMap Map对
  • ARCore:ARCore开发的起步

    已经是第7章节了 终于可以开始正式接触到我们梦寐以求的ARCore了 相信大家应该都有一点点小激动了吧 那么下面我们就开始讲解如何进行ARCore的开发 一 Session简介 初看到Session 大家都摸不到头脑 最直接的解释 它是AR
  • ChatGPT实用用法10大场景

    之前的文章中 我们提到了ChatGPT的一些局限性 比如它会一本正经地胡说八道 所以如果使用方法不对 反而会耽误时间甚至被误导 但要是用对了 真的会事半功倍 让我们褪去ChatGPT无所不知无所不能的光环 看看现阶段的它有哪些靠谱的用法吧
  • java jar 创建_java生成jar包

    Java编写的application程序是否可以终于形成一个类似于exe一样的可执行文件 难道就仅仅能用命令行执行 通常有两种 一种是制作一个可运行的JAR文件包 然后就能够像 chm文档一样双击运行了 而还有一种是使用JET来进行编译 可
  • 2014百度校招笔试

    1 ISO七层说明 2 用百度地图查询 百度大厦 到 北京大学 得到路线不太稳定是怎么回事 分析可能的原因 测试开发唯一区别于软件开发的一题 3 TCP UDP协议的区别 举出上一层的应用协议 二 算法 1 写出a0 a1 a2 an的所有
  • Web框架 Flask 之 请求方式 & 会话

    常见的请求方式 GET 页面的默认请求方式 请求的数据是以明文的形式放在路由上面 以 开头的键值对 中间以 连接多个参数 POST 请求的数据隐藏发送的 安全系数高 通常用来向服务器提交数据 请求对象 Flask 中由全局对象 reques
  • Java为什么一个源文件只能有一个public类,而且源文件名必须要与public类名相同

    看了几个解答 都不能让我很满意 以后有机会再深究一下 真要是被问起 就这么答 java和jvm的设计需要 是一个规定 假如一个源文件中没有public类 那么你想定义几个类就定义几个 都没有问题 而且每个类的名字都随便起 完全和文件名没有关
  • 面试官:请写一个你认为比较“完美”的单例

    单例模式是保证一个类的实例有且只有一个 在需要控制资源 如数据库连接池 或资源共享 如有状态的工具类 的场景中比较适用 如果让我们写一个单例实现 估计绝大部分人都觉得自己没问题 但如果需要实现一个比较完美的单例 可能并没有你想象中简单 本文
  • CNCC2020丨5G边缘智能与智慧城市论坛

    CNCC 技术论坛 5G 边缘智能与智慧城市 探索 5G 时代下边缘智能与智慧城市的融合 时间 10 月 23 日下午 16 00 18 30 主办方 天津大学 国防科技大学 模式 线上 线下 线上地点 https cncc ccf org
  • C++11常用新特性

    1 constexpr 使修饰的函数在编译期执行 constexpr int numpow int x int y while y x x return x int a numpow 2 4 数组的大小必须是常量 但我们用constpr修饰
  • [1016]DataFrame一列拆成多列以及一行拆成多行

    文章目录 DataFrame一列拆成多列 DataFrame一行拆成多行 分割需求 简要流程 详细说明 0 初始数据 1 使用split拆分 2 使用stack行转列 3 重置索引 删除多余的索引 并命名为C 4 使用join合并数据 Da
  • 【滤波跟踪】基于无迹卡尔曼滤波实现惯性导航+DVL的组合导航算法附matlab代码

    1 内容介绍 水下航行器 的产生 发展直至实际使用经过了很长的历程 对于海洋人们从了解认识 开发研究 使用和保护等方面的发展 促使着水下航行器的开发研究工作也逐渐活跃起来 在新世纪中水下航行器还将被重点开发应用 水下航行器研制的重要标准之一
  • EXT4文件系统挂载成功后执行init文件linuxrc失败

    Hi3559av100平台 制作EXT4文件系统在EMMC存储设备上启动 发现EXT4文件系统挂载成功后执行init文件linuxrc失败 分析原因如下 错误打印 sdhci Secure Digital Host Controller I
  • 王道考研——计算机网络(第一章 计算机网络体系结构)

    1 0认识计算机网络 在下载电影 不会出现乱序问题 和微信收发消息 比如表情包乱序了 所使用的协议是不同的 1 1 1概念和功能 1 计算机网络的概念 2 计算机网络的功能 3 计算机网络的发展 第一阶段 小写的 internet 就是这样
  • 第七课 学习韦东山老师STM32F103 迷你核心单片机Mini开发板

    本节课为 7天物联网智能家居实战训练营1期 的第7节课 也是最后1节课 文章目录 一 基础班7节课 项目完善与总结回顾 二 项目实例优化 三 总结回顾 四 互动环节 一 基础班7节课 项目完善与总结回顾 第一部分 一 对项目进行功能改进优化