- 博客(83)
- 资源 (16)
- 收藏
- 关注
原创 【 STM32 HAL 详解】CubeIDE实现串口接收不定长数据DMA+串口重定向
基于STM32G0,使用DMA方式,实现串口接收不定长的数据
2023-04-03 23:29:07 4600 7
原创 【ESP8266 快速入门】示例5:Arduino环境实现OTA无线升级固件功能WebServer网页服务器方式
使用【ESP8266】Arduino环境实现OTA无线升级固件功能,由LED闪烁程序通过OTA升级为PWM呼吸灯程序。OTA听起来挺牛的一个功能,其全称为(Over-The-Air)。就是通过无线方式实现固件升级。对于实际封装好的项目,ESP8266已经包装好了,不方便使用数据线来下载程序。下文将详细介绍如何轻松优雅的更新ESP8266设备的固件,而无需物理连接。Arduino的OTA库,经常搜索不到网络端口,这里采用web服务端来升级程序,更加便捷。
2023-03-20 14:39:17 3667 4
原创 【小米路由器3】breed刷机救砖-nand flash硬改SPI flash-编程器救砖(解决ttl无法救砖问题)
小米路由器3一顿折腾,由于操作不当变成砖块。使用ttl却无法救砖,通过硬件,焊接一块SPI flash,调换电阻,使用编程器刷入小米路由器mini的breed后,刷入小渔大佬编写的固件最终成功救砖。救砖成功了,但由于是新的flash,没有mac、SN等信息。不能绑定小米APP。mac、SN等信息丢失的信息就不想再折腾了。。。(小声嘀咕:我又不用小米的固件,用这APP作甚?ps:我的ssh还在,开心~不想再折腾了QVQ。
2023-01-11 18:08:41 12672 2
原创 【ESP8266 快速入门】应用举例:烧录无线中继固件详细教学
ESP8266是一款性价比很高的芯片,由带有WiFi功能。今天给大家带来了ESP8266中继WiFi的教程,实现无线桥接,信号扩大的功能。发送 set ap_password 9876543//设置esp8266的密码。发送 set ap_ssid 123010//设置esp8266的wifi名字。发送set password 123456789 //连接路由器的wifi。资料包:固件,烧录工具,ESP8266开发板图片。连接esp8266释放的WiFi。可以刷低分辨率的视频,简单通信等。
2022-11-12 23:09:28 4873 5
原创 【ESP8266 快速入门】硬件:ESP12S/ESP12F最小系统设计及typeC自动下载电路设计
ESP8266面向物联网应用的,高性价比、高度集成的 Wi-Fi MCU。芯片ESP8266EX采用的QFN无引脚封装,且需要搭配FLASH使用,以及设计天线;使用起来比较麻烦。我希望使用起来更加方便,便想到了使用ESP12S/12F这种集成模组(集成FLASH、天线)。我只需设计一个最小系统及typeC自动下载电路设计,就可以愉快的用到自己的项目中了。**解决两个问题:**1.设计最小系统2.type C自动下载电路.............
2022-08-05 20:06:58 25596 27
原创 【前端】学习笔记1.JavaScript书写位置、注释、结束符、输入输出、字面量
1.JavaScript书写位置(内联、内部、外部)1.1.内部JavaScript1.2.外部JavaScript1.3.内联JavaScript2.JavaScript注释2.1.单行注释2.2.多行注释3.结束符4.输入输出5.字面量
2022-06-24 11:28:27 377 1
原创 【PB03F 超详细-环境搭建】蓝牙5.2安信可PB-03F-Kit开发板二次开发环境搭建
PB-03是由深圳市安信可科技有限公司开发的蓝牙模块。本博文介绍安信可PB-03F-Kit开发板的基本情况、开发环境搭建,以及以点亮LED为例介绍程序编写和固件烧录的操作流程。安信可PB-03F-Kit开发板使用的PHY6252这样一款高集成度的低功耗蓝牙系统级芯片(SoC),专为物联网(IoT)、移动设备、可穿戴电子设备、智能家居等各种应用而设计。......
2022-06-01 11:07:16 9930 18
原创 【SOLIDWORKS-详细记录】测量方法、设置草图自动正视基准面、设置滚轮放大缩小方向、螺丝添加螺纹线等操作记录
本博文记录了SOLIDWORKS一些常用操作的操作步骤。包括如下设置草图自动正视基准面软件放大缩小滚轮反直觉重建模型导致厚度为0的几何体错误解决方法添加材质测量方法3d打样格式另存为step或者stl修改草图平面快速添加参考面螺丝添加螺纹线切换文件装配体添加零件装配体-配合插入国标轴承避免实体引用的影响
2022-05-31 00:00:00 2335
原创 【SOLIDWORKS-详细记录】解决默认模板无效问题及添加自定义模板
第一次安装完成SOLIDWORKS18,新建一个零件会弹出如下警告:"默认模板无效。通过修改选项对话框中的默认模板可以解决此问题。 您要继续使用一个空模板吗? "本博文就是解决这个弹窗警告的问题,并介绍如何添加自定义模板。
2022-05-30 15:34:49 37238 2
原创 【ESP8266 快速入门】0.环境:搭建VS code开发环境以及常用开发环境总结(基于安信可NodeMCU、C/C++)
1.开发环境前言ESP8266是一款面向物联网应用的高性价比、高度集成的Wi-Fi的MCU,物美价廉。本人体验过三种开发环境。下面简单总结一下。1.1.Linux开发环境环境搭建参考链接:【ESP8266】详细步骤-SDK开发环境搭建(Linux)优点:基于官方sdk,高效稳定。(用这个显得专业)缺点:环境搭建麻烦,上手难度较高。1.2.Arduino开发环境环境搭建参考链接:【ESP8266】0.详细步骤-Arduino IDE开发环境搭建(C/C++)优点:库丰富,开发便捷,易上手。
2022-05-23 22:04:20 5394 3
原创 【ESP8266 快速入门】示例4:点灯-实现物联网点亮LED(网页点灯)(Arduino IDE、基于安信可NodeMCU、C/C++)
问题描述搭建一个简单的网页,控制ESP8266点亮熄灭LED问题思路使用ESP8266,做一个简单的服务器。渲染出一个网页,处理网页上的按键请求,即可控制led。开发环境IDE开发板代码/**********************************************************************项目名称/Project : 基本的服务器程序名称/Program name : Web_Server程序目的/Purpose
2022-05-08 23:45:01 4896 1
原创 【ESP8266 快速入门】示例3:搭建基本网络服务器(基于安信可NodeMCU、C/C++)
问题描述使用Arduino IDE开发ESP8266,搭建一个简单的网络服务器。可以访问网页,打印出hello world开发环境IDE开发板代码/**********************************************************************项目名称/Project : 基本的服务器程序名称/Program name : Web_Server程序目的/Purpose : 使用ESP8266开发板建立
2022-05-08 20:53:52 1676
原创 【ESP8266 快速入门】示例2:Arduino IDE配置无线终端模式(Station)+自动连接新号最强的WiFi(基于安信可NodeMCU、C/C++)
主题示例1:Arduino IDE配置【ESP8266】无线终端模式(Station)无线终端模式(Station, 也称 ST)相当于一个设备,可以连接路由器的WiFi。功能如下图所示。开发环境IDE开发板编程这里要连接的WiFi是"fly",密码"12345678"/*ESP8266开发板无线终端模式连接WiFi本示例程序用于演示如何使用ESP8266开发板无线终端模式连接WiFi*/ #include <ESP8266WiFi.h> // 本
2022-05-08 15:24:43 2017
原创 【ESP8266 快速入门】示例1:Arduino IDE配置接入点模式(基于安信可NodeMCU、C/C++)
主题示例1:Arduino IDE配置【ESP8266】接入点模式(AP模式)接入点模式(Access Point, 也称 AP)相当于一个热点,其他设备可以连接。功能如下图所示。开发环境IDE开发板编程新建一个文件,然后保存/*此程序用于演示如何将开发板以接入点模式工作。通过此程序,您可以使用电脑或者手机连接NodeMCU所建立WiFi网络。 网络名: esp8266_ap密码:12345678 */ #include <ESP8266WiFi.h>
2022-05-08 14:51:20 1960
原创 【ESP8266 快速入门】0.环境:详细步骤-Arduino IDE开发环境搭建(基于安信可NodeMCU、C/C++)
主题使用【ESP8266】搭建Arduino IDE开发环境(C/C++)准备工作保证电脑联网OK。Arduino IDE和ESP8266定义文件下载链接: https://pan.baidu.com/s/1_YBEl5qyfZwreOX55c2mfw?pwd=2k6t 提取码: 2k6t1.开发板一块使用usb线连接到电脑。如图:2.安装串口驱动常见的有CP210、CH340等。我的开发板时ESP12F,驱动芯片是CH340驱动安装完成可以打开设备管理器查看。3.下载Ard
2022-05-08 14:10:06 3865 5
原创 【22新版VSCode】配置自动格式化代码(保存文件自动格式化代码和tab自动格式化代码)
问题描述22年新版vs code配置“保存文件自动格式化代码 ” 和 “tab键补全代码时格式化代码”操作步骤1.打开设置点击左下角的设置图标点击设置2.筛选中输入format,勾选配置即可如下图操作步骤,勾选配置即可。注意在保存时格式化文件。格式化程序必须可用,延迟后文件不能保存,并且编辑器不能关闭。效果展示格式化前,如下较混乱的代码。<!DOCTYPE html><html lang="en"><head> <meta
2022-04-18 20:21:29 23203 1
原创 【HTML5】2.语法入门总结(第二部分)
0.思维导图1.HTML5基本框架HTML5 是HyperText Markup Language 5 的缩写,是一种标记语言。第一个程序,基本框架。<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name=
2022-04-17 18:32:16 936
原创 【HTML5】1.语法入门总结(第一部分)
0.思维导图1.HTML5基本框架HTML5 是HyperText Markup Language 5 的缩写,是一种标记语言。第一个程序,基本框架。<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="
2022-04-17 17:45:20 2581 2
原创 【详解~按键状态机~功能Plus】2.实现单击、双击、长按的功能(基于STM32)
按键状态机讲解见:【详解~按键状态机】1.实现短按长按的功能本文长按短按的基础上,增加了双击功能。文章目录1.问题描述2.单击、双击、长按的定义3.代码变更讲解3.1 宏定义3.2 结构体、枚举型3.3 按键全局变量3.4 函数定义关键函数3.5 定时器中断及main函数定时器函数main函数4.实验验证5.总结1.问题描述使用一个按键,实现长按、单击、双击操作。运用状态机思想,提高效率。外设:io口、定时器2.单击、双击、长按的定义 事.
2022-03-26 16:37:57 10301 9
原创 【源码详解~按键状态机~简洁易懂】1.单个按键实现短按长按的功能(基于STM32)
0.引言在日常生活中,有不少按键长按、短按的应用实例。比如:一个台灯,短按切换亮度,长按关机。问题来了,单片机是如何区分按键的短按和长按的呢?
2022-03-26 15:23:15 9917 16
原创 【STM8】串口通信实现(LED的亮灭控制)
情景说明:找到一块STM8开发板,打算拿着做点小东西玩一下。实现LED亮灭控制1.开发平台及环境芯片型号:STM8S03F开发板图片:开发环境:使用IAR软件。环境搭建,请自行百度。2.波特率配置公式:其中:f为时钟源频率主时钟经过CLK_CKD IVR分频得来。我这里使用HSI内部时钟16M,CLK_CKD IVR=00不分频,即f=16M。UATRT_DVI 串口分频。也就是我们要计算的数值以9600举例:UATRT_DVI = 16m/115200 = 138.
2022-03-23 17:50:47 2097 1
原创 【MATLAB】毫秒级延时(已解决,昇润蓝牙(CC2541) 发送过快的丢包问题)
问题说明:本人基于MATLAB21b,使用串口做蓝牙通信测试时,发现一次性发200个字节出现了丢包问题。解决关键:1.数据分包2.毫秒级延时毫秒级延时pause(n)暂时停止执行 MATLAB,参数n默认单位为秒。n为大于0的非负数。实现毫秒级延时:pause(n/1000)延时举例pause(2) ; % 暂停2spause(20/1000) ; % 暂停20ms解决思路查看我使用蓝牙昇润蓝牙(CC2541)的数据手册,发现如下将数据分每个小于17字节的单包,每包发送.
2022-03-23 11:02:13 1983
原创 【MATLAB】APP Designer 定时器的基本使用(Timer)
定时器功能强大,本文记录了一个简单使用的案例。功能描述点击开始定时,到达既定的时间调用回调函数。回调函数中将“数值显示”的值加一。可以手动修改定时器的周期。UI布局其中:字符框均为数值框,而不是文本框。组件名称实现步骤1.添加属性这里我选私有属性定时器的句柄 properties (Access = private) Timer_id; % 定时器id end2.添加定时器控制函数这里我选私有函数methods (Access
2021-12-31 16:43:47 9626 10
原创 【昇润蓝牙】蓝牙4.0BLE模组(型号CC2541) 两个蓝牙之间互相通信的使用日志
使用昇润蓝牙4.0BLE模组(型号CC2541) 实现俩个蓝牙模组之间的通信电脑手机等和蓝牙模组通信的资料很多,但蓝牙模块之间的通信资料比较少。本文以CC2541模组为例实现,俩个蓝牙模块之间的数据通信。硬件准备1.CC2541主从一体的模组一块2.CC2541从机的模组一块注意:几乎相同外型的蓝牙模组,是区分主从机的。一般来说,俩个全是从机的蓝牙之间,不能实现相互通信。俩个主从一体的也可以。总之:一定要有一个模块可以作为主机模块介绍图实物图做了一个简单的转接板,将vcc,gnd,
2021-12-28 21:24:05 4897 3
原创 【MATLAB】App Designer程序发布部署打包(打包exe程序)
将写好的程序,打包一下,比如exe程序,这样就可以在别的电脑也可以运行了。matlab打包方式有如下三种打包方式1.打包成MATLAB App1.1打包以matlab小组件方式打包,别的电脑使用需安装matlab输入对应信息1.2 安装1.3 使用在matlab主界面,打开APP列表,点击就能使用了。2.打包成exe程序2.1 点击独立桌面 APP2.2 输入信息输入个人信息2.3 点击package等待打包完成点击exe程序就可以运行了...
2021-12-13 21:43:50 14282 6
原创 【MATLAB】App Designer入门(第一个程序)
环境准备安装matlab2018b软件,包含App Designer组件进入App Designer输入appdesigner后回车,打开设计软件软件打开后如图设计思路前端ui+后台逻辑代码第一个ui程序1.ui设计在画布上添加label、edit field、Button这三个组件简单调整2.逻辑控制右键点击按钮组件,添加回调函数写入一句经典的hello world!3.测试保存后,点击运行。就会弹出来,刚刚设计的GUI程序点击Button按钮,就会弹出he
2021-12-13 20:20:24 4195 1
原创 【Qt】QChart绘制静态图形(以sin和cos为例)
环境准备安装Qt5.7及以上安装的同时勾选Qtcharts组件需要注意在configure时不要跳过charts。使用步骤1.修改.pro在.pro文件中添加QT+= charts2.ui设计步骤绘制ui时,放置一个“Widget”类型的控件,将objectName设置为"ChartView",然后在它上面单击鼠标右键,选择“提升为…”。先添加QChartView类后续如果还有需要提升的,可以之间右键‘提升为’->选择QchartView...
2021-12-09 11:15:27 2323
原创 【详细记录】Visual Studio 2019+matlab2017b mex无法正常使用,找不到已安装的编译器
想使用VS2019+matlab2017b进行联合编程,结果老是找不到VS19的编译器。问题:低版本的matlab2017b找不到高版本VS的编译器。解决思路增加matlab的配置文件及添加头文件路径,使malab17b支持VS2019环境介绍VS2019:...
2021-11-30 23:06:20 4459 17
原创 【MakeFile】Linux下的工程管理(BSP)及通用性makefile编写
一、BSP工程管理原理 BSP工程管理的目的就是为了模块化整理代码,同一个属性的文件存放在同一个目录里面。 1、新建所需的文件夹,将同一属性的文件放到相应的文件夹中。 2、修改clk、led、delay驱动,创建对应的驱动文件,然后放置到对应的目录中。 3、根据编写的新驱动文件,修改main.c文件内容。二、Makefile编写API函数说明:patsubst函数:格式:$(patsubst pattern,replacement,text)功能简述:这是
2021-08-27 11:16:09 495
原创 【VS code找不到头文件】成功解决 (检测到Include错误,请更新includePath)(明明有头文件,却找不到)
vscode 是一款好用且功能十分强大的编辑器。对于由编译器过渡到使用编译器而言,在编辑C/C++代码时,现在找不到头文件很让初学者头疼。找不到头文件,不能进行定义跳转,十分影响开发效率。如下图,就找不到下面的三个头文件。如何解决找不到头文件的问题,其实很简单,且听我细细道来。步骤:1.新建文件夹在工作区的根目录,新建.vscode文件夹。操作如图。(也可以直接在Ubuntu系统客户端里面新建文件夹)2.打开json配置文件在软件界面按住Ctrl+Shift+P,在软件上方出现输.
2021-08-25 10:16:10 123391 35
原创 【RTL8720CF】BW15模组 socke本地通信代码
RTL8720CF#include “FreeRTOS.h”#include “task.h”#include “diag.h”#include “main.h”#include “gpio_api.h”#include “example_entry.h”#include “pwmout_api.h”#include “stdio.h”extern void console_init(void);/*********************************************
2021-08-24 16:08:21 599 3
原创 【RTL8720CF】BW15(模组WiFi+蓝牙)编译等操作笔记
RTL8720CF1.程序下载打开AmebaZ2_PGTool_v1.2.7.exeBrowse选择对应的固件选择对应引脚为PIN_B6_B12UART2(GPIOA15,16)Linux编译:1)打开终端2)进入project\realtek_amebaz2_v0_example\GCC-RELEASE3)输入指令make all0)使用指令make clean,清除编译生成文件2.5.1.2.2生成图像二值化编译完成后,可以在\GCC-RELEASE的不同文件夹中
2021-08-24 16:04:08 2562
原创 【FreeRTOS】13.STM32移植-互斥信号量
互斥信号量实质是一个拥有优先级继承的二值信号量,当互斥信号量在被一个低优先级的任务使用,高优先级的任务尝试获取这个互斥信号量而被阻塞。由于继承特性,此时低优先级的任务会被提升到与高优先级任务相同的优先级。互斥信号量将“优先级翻转”的影响降到最低,但是并不能完全消除。所以,硬实时应用应该在设计时,尽量避免优先级翻转。此外,互斥信号量不能用于中断。原因有两点:1.优先级继承机制只适用于任务,并不能用于中断服务函数。2.中断讲究快进快出,不能因为阻塞时间进入阻塞状态。API函数函数描述
2021-08-24 13:45:51 266
原创 【FreeRTOS】14.STM32移植-软件定时器
软件定时器硬件定时器功能强大,遗憾数量较少。故可以使用软件定时器来拓展,软件定时器允许设置一段时间,当设置的时间达到后就执行指定的功能函数,模拟实现定时器中断的功能。回调函数被定时器调用的函数叫定时器回调函数,回调函数执行的间隔叫定时器周期。软件定时器的回调函数在定时器服务任务中执行的,一定不用在回调函数中调用任何会阻塞的任务API函数,如vTaskDelay、vTaskDelayUnti、阻塞信号量等。定时器服务任务与队列定时器是可选的、不属于FreeRTOS内核的功能,由定时器服务任务提供。
2021-08-24 13:45:13 348 1
原创 【FreeRTOS】12.STM32移植-优先级翻转
优先级翻转高优先级的任务由于等待信号量而被挂起,导致不需要信号量的低优先级任务先运行。实验目的在使用二值信号量的时候会存在优先级翻转的问题,本实验通过模拟的方式实现优先级翻转,观察优先级翻转对抢占式内核的影响。实验设计设置了四个任务。start_task:创建3个任务high_task:高优先级任务,获取二值信号量触发middle_task:中优先级任务,简单引用任务low_task:低优先级任务,和高优先级任务一样需获取同一个二值信号量才能触发,占用信号量的时间比较长实验代码:#in
2021-08-24 13:44:27 216
原创 【FreeRTOS】11.STM32移植-计数型信号量
计数型信号量又叫数值信号量。用户只需要关心信号量存了多少数据量。应用:事件计数每次事件发生的时候,在事件处理函数中释放信号量,信号量计数值加一。其他任务获取信号量处理事件,信号量计数减一。信号量的值就是队列结构体成员uxMessgesWaiting。初始值需赋值为0资源管理信号量的初始值为资源数量,获取成功后减1,释放加1。相关API函数函数描述xSemaphoreCreateCounting()动态方法创建计数型信号量xSemaphoreCreate
2021-08-23 11:37:20 167
原创 【FreeRTOS】10.STM32移植-二值信号量
信号量类似于标记位, 可以用来控制同时访问特定资源的线程数量,通过协调各个线程,以保证合理的使用资源。信号量主要目的有两个:共享资源访问、任务同步。信号量分类:1.二值信号量2.技术型信号量3.互斥信号量4.递归互斥信号量二值信号量创建函数描述vSemaphoreCreateBinary()动态创建二值信号量,老版本(默认调用Give)xSemaphoreCreateBinary()动态创建二值信号量,新版(默认无效,需要用户Give,返回值为创建成功句柄)
2021-08-23 11:36:29 238
原创 【FreeRTOS】9.STM32移植-队列
定义:队列是任务与任务、中断与任务直接通信二准备的。队列用于消息传递,又叫做消息队列。需要交流的数据保存在队列中,叫做队列项目。队列所能保存的队列项数量叫队列长度。typedef struct QueueDefinition{ int8_t *pcHead; //头 int8_t *pcTail; //尾 int8_t *pcWriteTo; //下一个空闲区域 union //联合体 { int8_t *pcReadFrom; //当用作队列指向
2021-08-23 11:35:23 349
原创 【FreeRTOS】 8.STM32移植-延时函数
FreeRTOS 延时函数vTaskDelay()函数 vTaskDelay()是相对模式(相对延时函数),函数 vTaskDelayUntil()是绝对模式(绝对延时函数,,while循环的时间是绝对的)。要使用的话宏 INCLUDE_vTaskDelay 必须为 1。绝对延时保证周期性。绝对延时使用方法:TickType_t PreviousWakwTime;// 延时50ms,但是vTaskDelayUntil的参数为需要设置的节拍数,不能直接设置延时时间,使用pdMS_TO_TICKS(
2021-08-23 11:33:46 851
PL2303HXA驱动-解决串口不能使用的问题
2023-03-23
小米路由器3改flash教程资料包.7z
2023-01-11
esp8266烧录中继固件-esp-wifi-repeater
2022-11-12
嵌入式STM32按键状态机-单击双击长按操作
2022-06-02
PB03蓝牙5.2二次开发资料
2022-06-01
STM32单片机实现短按长按操作(按键状态机)
2022-03-26
昇润蓝牙4.0BLE模组(型号CC2541)调试工具及文档.7z
2021-12-28
MATLAB VS2019 Support.zip
2021-12-01
串口驱动(CH340、CP2102)及调试助手(XCOM、SSCOM).7z
2021-08-27
KEIL5-MDK配色方案.7z
2021-08-24
手把手教你实现printf.7z
2021-07-05
C语言指针测试代码VS19.7z
2021-07-03
esp8266机智云移植代码_基于stm32f103c8.7z
2021-06-28
小米路由器3工具包.7z
2021-06-07
机智云移植_基于stm32f103c8.7z
2021-05-11
esp8266烧录机智云固件.7z
2021-05-11
keil插件包(格式化代码 文件注释 函数注释 当前日期 当前时间)
2020-10-29
数据结构:不带头结点单链表的实现及其一些基本操作.cpp
2020-08-03
单链表(带头结点).cpp
2020-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人