- 博客(112)
- 资源 (33)
- 收藏
- 关注
原创 【arduino】HC-SR04超声波测距模块的驱动与使用
首先超声波测距模块长这个样VCC->供电引脚,5VGND->地Trig->控制端Echo->接收端。
2023-06-20 21:48:19
942
1
原创 【笔记】I2S协议是什么?
I2S(Inter—IC Sound)总线, 又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。这里代入I2C总线来理解就可以了,说白了就是一种数据传输的通讯协议,基本上类似于I2C,只不过传输的是S(Sound)。本质就是用数值的方式将模拟信号存储下来,再通过总线传输出去。
2023-04-26 20:07:52
1188
原创 【esp8266】使用esp8266内部EEPROM存储,掉电不丢失
这阵子心血来潮想搞一下esp8266的wifi,需要存储wifi密码,所以想使用一下esp8266的flash,一查,原来esp8266有eeprom,比stm32好太多了,而且不需要麻烦的读写保护操作,arduino的EEPROM.h库全帮你操作好了,简直不要太爽。期间遇到一个bug,改了好几次还是没解决,即==void WIFI_Connect()==中的if不能换成while一直等待连接,否则串口中断无法接收到数据,具体问题未知。参考文章(推荐看这篇–>)
2023-04-21 14:31:40
4967
2
原创 STM32自己实现printf函数
stdio.h的串口打印只有一个,所以可以自己写一个。最要是运用这一个库==#include ==参考资料:[C语言]头文件之stdargc语言标准库详解(十一):可变参数表stdarg.hSTM32实现代码:
2022-12-06 14:20:07
963
原创 基于ESP32的蓝牙鼠标键盘(二)BleMouse.h函数解析
BleMouse.h是鼠标库。资料在这里可以找到: https://github.com/T-vK/ESP32-BLE-Mouse。
2022-08-06 03:57:03
2659
原创 基于ESP32的蓝牙鼠标键盘(一)BleKeyboard.h函数解析
private(私有成员),即只能在定义该类的区域中访问该属性成员,在该类的类区域外的任意位置均无法访问访问该属性成员,且该属性成员无法被继承类使用;在GitHub中的项目地址:https://github.com/T-vK/ESP32-BLE-Keyboard。组合键的时候,一次最多6个键和shift, ctrl等,用KeyReport这个结构体实现。我采用arduino IDE + esp32的方式来实现我的功能。c是一个字符,一个键盘编码的字符。我用的是esp32的这种模块。然后你电脑就会自动输出。.
2022-08-04 03:15:14
4545
3
原创 【GO记录】从零开始GO语言——用GO语言做一个示波器(二)基于arduino的简易示波器
理论上应该用定时器加外部中断会比较号一点,但是我在TinGo中没找到定时器计时和外部中断的代码,所以就没做出来,然后arduino的时钟频率实在太低了,才16M。示例代码地址https//tinygo.org/docs/reference/microcontrollers/machine/bluepill/原理就是用arduino获取高低电平模拟值的跳变,这就是示波器的电压值了,然后再来判断跳变的时间,来达到获取PWM或者触发信号的效果。用TinyGO语言做一个基于arduino的简易示波器。...
2022-08-02 02:19:30
626
原创 【笔记】tinygo下载编译
根据这个大佬的视频https://www.bilibili.com/video/BV1hi4y1m7g5?spm_id_from=333.788.top_right_bar_window_history.content.click我尝试了很久,遇到了很多GO的坑(毕竟是go小白,很多东西都没搞懂)最终终于烧录成功了参考文档:https://discretetom.github.io/posts/windows-vscode-tinygo-arduino/https://github.com/tiny
2022-07-09 08:35:00
900
2
原创 【GO记录】从零开始GO语言——用GO语言做一个示波器(一)GO语言基础
今天参加了一个挑战,从零开始GO语言,用GO语言开发一个串口示波器。目前没有接触过GO语言,只会C/C++,从零开始学GO,预计8小时速成。学习视频用这个:学习视频GO语言好处:简单易用。大厂开路,有C基础容易起飞。目标..............................
2022-07-06 17:26:08
348
1
原创 【笔记】常见组合滤波电路
什么是T型滤波?与L型、π型滤波对比,容易明白视频作者:电子电工黄超想非常推荐大家去看他的视频!!!需要了解这些电路,首先得先对电感、电容、电阻有一些基础了解:简单来说:电阻可以阻碍电流通过,可以起到了在电路中起分压、降压、限流、负载、分流、区配等作用;电容作用在于可以在电路中起滤波、耦合、旁路、调谐和能量转换等作用;电感的作用主要在于在电路中有通直流、阻交流,通低频、阻高频的作用。低通滤波与高通滤波就是利用电容通高频阻低频的特性来滤波。这个电路电容对地放电,当输入信号的频率低时,电容会将这个
2022-07-02 17:42:27
5116
原创 【笔记】C语言数组指针、结构体+二维数组指针小记
在开发中 为了高效,往往使用一大片连续的数据空间,如:结构体,数组,二维数组,而这些组合在一起,又是一大片的空间,在一bin内存一寸金的单片机中,非常的珍贵,所以我们常常使用指针来进行操作,一个是对内存空间的高效利用,一个是代码的高效运行,还有一个是在不懂的人看来,==逼格十足!==...
2022-06-07 09:35:49
754
原创 【笔记】74HC573的一些记录
在一些需要锁存信号的数码管中,经常可以见到74HC573。其内部原理图:从真值表可以看出:当OE为低,LE为高的时候,Dn输入的电平状态为高,On输出的状态就为高,Dn输入的电平状态为低,On输出的状态就为低。当OE为低,LE为低的时候,Dn的电平状态离开之前为高,On输出的状态就为高,Dn的电平状态离开之前为低,On输出的状态就为低。当OE为低,LE为低的时候,Dn的电平状态离开之前没变化(X),On输出的状态无变化,On状态锁存在从高到低的转换的时候。当OE为高,LE为高的时候,Dn输入的电平状态为高
2022-06-05 10:01:08
3337
原创 【笔记】关于GD32的PB3、PB4不能正常使用的问题
今天在使用GD32F103的PB4的时候,不管怎么推挽输出,引脚电平都是0.9V,很有问题。看了一下开发手册。才知道GD32的PB3、PB4默认是使用复用功能的,在手册中有提到:使用我们PB3 PB4想像普通一脚一样使用,的映射成为普通引脚,不然它默认为JTAG引脚(下载调试用的)。GD32映射函数: rcu_periph_clock_enable(RCU_AF); //使能映射功能的时钟 gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP, ENA
2022-05-26 08:17:20
5074
1
原创 【proteus】模拟电路——集成运算放大器之LM324(一)LM324的介绍
LM324什么是集成运算放大器?LM324的介绍什么是集成运算放大器?这就要讲到运放的概念了,运算放大器(后续简称运放)是一种集成电路,内部有很多三极管类晶体管的组合。外围接很少的电子元器件就能够实现放大信号的作用,并且信号干净、漂亮、准确… 好处一箩筐。运放电路是模拟电路的王者之一,甚至可以去掉之一这个限定词!利用运放虚断、虚短的特性可以实现非常多的道路模型,比如放大电路、正反馈电路、负反馈电路、积分电路等。而集成运算放大器就是将运算放大器按照所需的功能集成在一块芯片内部电路里面,比如像LM32
2022-05-15 19:43:35
11219
原创 【proteus】仿真STM32和串口通讯(附工程文件)
仿真STM32和串口通讯VSPD安装hal库配置proteus打印出现乱码或者000的问题:proteus仿真图和配置代码:工程文件VSPD安装本实验是用proteus仿真STM32F401VE的串口通讯实验,对串口进行模拟串口输出和物理串口输出。物理串口输出要借助VSPD这个软件:VSPD是一款虚拟串口软件,VSPD下载链接:链接:https://pan.baidu.com/s/10kd17T-W7vyK_dg7JbOTOg提取码:adan安装完之后点这里就可以将虚拟的串口1拓展成物理的串口
2022-05-09 22:28:12
4764
原创 【proteus】模拟串口和物理串口通讯
proteus提供了两种串口,一种是模拟的串口,还有一张是用软件仿真到硬件的物理串口。他们的区别就是:模拟串口只能在proteus内部进行通讯,但是物理可以通过软件映射到硬件上和单机或者串口软件通讯。物理串口在元器件搜索COMPIM即可找到。模拟串口在这里:PROTEUS仿真图:物理串口COMPIM的设置:模拟串口的设置:VSPD是一款虚拟串口软件,VSPD下载链接:链接:https://pan.baidu.com/s/1AZygJCeWZfQTnxdCb_3TPg提取码:12pm
2022-05-09 21:44:27
8155
原创 【Proteus】用proteus仿真STM32f4用HAL库寄存器控制IO进行流水灯案例(附工程文件)
GPIOA->BSRR是从GPIOA的地址指向里的BSRR寄存器的地址,然后对BSRR寄存器进行位操作,就可以对GPIOA的所有引脚操作了。
2022-05-09 02:08:01
1927
原创 【proteus】4051控制LED灯仿真案例(附proteus工程文件)
CD4051控制流水灯CD4051芯片介绍PROTEUS仿真CD4051芯片介绍CD4051是一个单刀单掷的双向模拟开关芯片。什么是模拟开关?模拟开关:用于信号链路中的信号切换,采用MOS管的开关方式实现对 信号链路关断或者打开;因其功能类似于开关,用模拟器件的特性实现所以称为模拟开关。特点:很高的判断阻抗、很低的导通阻抗,根据应用需求不同,模拟开关可以分为音频模拟开关、视频模拟开关数字开关、通用模拟开关等。说人话就是:这是一个模拟器件组成的开关,开的时候阻抗特别低,关的时候漏电路特别
2022-05-08 17:52:09
3524
原创 【ARM汇编】ARM 指令集和Thumb 指令集
指令集汇总关于指令集ARM指令集Thumb指令集简单的指令集操作关于指令集指令集是汇编的基础,是芯片的架构,不懂指令集看着汇编就只能干瞪眼了,所以把ARM指令集全都记录下来做个笔记。可能会和WIN32的指令集有出入,比如WIN32中MOV可以把数据从内存中加载到寄存器中去,但在ARM的RISC结构中,MOV只能将数据从寄存器移动到寄存器,WIM32的看小甲鱼的视频。说白了X86是复杂指令集(CISC),ARM是精简指令集(RISC)。复杂指令集是将很多操作集成起来,精简是可以很细节的去处理。51的
2022-04-01 11:08:47
3090
1
原创 【uCOS】uCOS-ii系统启动与时钟
本博客所有思路皆出自于:【创客海】【操作系统原理及嵌入式UCOS-II教学视频合集】【一周搞定系列】uCOS-ii系统的启动过程分析在嵌入式系统中,启动分为硬件启动与软件启动。 比如说ARM内核很多就是。硬启动主要是指硬件系统(包括各个功能部件)的初始化和启动;软启动是指操作系统内核的初始化与多任务的用户程序启动,比如说init。uCOS内核的初始化:主要运行OSInit初始化uCOS系统,然后才可以创建一个用户任务。接着运行OSStrart();让操作系统的TCB来管理CPU。系
2022-03-05 08:49:45
1407
原创 RC522详解(RC522arduino读写函数的详细解析)
RC522详解前言什么是RFID?什么是RC522?前言什么是RFID?射频识别技术RFID(Radio Frequency Identification),又称为电子标签、无线射频识别,是一种非接触式的自动识别技术,通过无线电讯号识别特定目标并读写相关数据而无需识别系统与特定目标之间建立机械或光学接触。可用于识别高速运动物体并可同时识别多个标签,过程中无需人工干预,操作快捷方便。可工作于各种环境,实现对各类物体或设备(人员、物品)在不同状态(移动、静止或恶劣环境)下的自动识别和管理。RFID系统主
2022-02-01 18:49:27
6479
原创 ESP8266NodeMCU的SPI通讯
原文链接 https://blog.youkuaiyun.com/m0_51522312/article/details/121140060SPI通讯什么是SPI通讯通讯原理工作时序:ESP8266的SPI常用函数什么是SPI通讯SPI, serial peripheral interface, 串行外围设备接口。高速的,全双工的,同步通信总线。有四个引脚:SDI(数据输入),SDO(数据输出),SCLK(时钟),CS(片选)。其具有全双工,通讯简单,传播速率快的特点。通讯原理以主从方式工作MOSI(SD
2022-01-31 14:08:43
674
原创 用ESP8266获取网页信息+获取b站粉丝数案例
用ESP8266获取网页信息前言示例:WiFiClient库连接相关响应相关参考:实战用esp8266获取b站粉丝数案例前言 WiFIClient库是ESP8266作为TCP客户端使用的库,现在它已经是ESP8266WiFi库的一部分了。示例:#include <ESP8266WiFi.h> const char* host = "www.example.com"; // 网络服务器地址const int httpPort = 80; // http端口
2022-01-28 00:27:43
3948
原创 使用esp8266点亮TFT屏(ST7789)
ST7789 OLED接线:案例代码:基础显示代码接线:ESP 8266ST7789 OLEDGNDGNDVCC3.3VSCLESP8266的D5(GPIO14)SDAESP8266的D7(GPIO13)RESESP8266的D2(GPIO4)DCESP8266的D1(GPIO5)CSESP8266的D8(GPIO15)BLK可不接或者接PWM或者接3.3VBLK为调光引脚,有需要调光再接案例代码:库函数下载:
2022-01-22 22:15:00
4221
原创 用esp8266获取和风天气的案例
esp8266获取和风天气前言基本介绍准备工作和风天气API配置流程esp8266端操作获取现在天气状况获取三天的天气数据获取空气质量库函数代码说明获取实时天气信息:获取天气预报信息:获取空气质量信息前言得益于GitHub的开源项目:ESP8266_Heweather使我们简单明了的就可以开发esp8266获取各种和风天气的API数据基本介绍Arduino开发平台使用ESP8266获取和风天气的第三方库。此库用于ESP8266(NodeMCU)物联网开发板通过HTTPS协议获取和风天气API所提
2022-01-20 21:56:20
4053
1
原创 使用esp8266连接wifi
AP模式ap联网ESP8266WiFiMulti库ap联网esp8266基础联网的代码:#include <ESP8266WiFi.h>const char *ssid = "adan"; //这里写入网络的ssidconst char *password = "88888888";//wifi密码void setup(){ Serial.begin(115200); Serial.println(); //换行乱码 乱码是因为esp8266内部
2022-01-18 19:53:31
2570
原创 第三章 esp8266 IO口的基础用法
IO口的基础用法数字输出数字输入模拟输出模拟输入用光敏电阻读取亮度GPIO外部中断首先,介绍三个函数:pinMode(pin, mode)–定义数字管脚的输入/输出;mode为INPUT/OUTPUT之一,表明该管脚是用于输入还是输出。digitalWrite(pin, val)–设置数字管脚输出电平,val取值为HIGH/LOW之一(或者1/0)。digitalRead(pin)–读取数字输入管脚的电平,函数返回值为1/0之一。数字输出所谓的数字输出,就是只有高低电平的输出,要么是高电平
2022-01-16 23:03:31
2490
原创 第二章 esp8266的串口
ESP8266串口esp8266的串口介绍esp8266的串口介绍和arduino一样,esp8266 NodeMCU拥有一个串口,他们分别位于D9(RX)和D10(TX)引脚。
2022-01-16 02:12:11
1957
原创 第一章 ESP8266开发环境的搭建以及点亮板载小灯
简单搭建ESP8266开发环境环境搭建方法一:在线下载方法二:离线下载ESP8266开发板的介绍使用esp8266点亮板载小灯大家刚开始学,本章仅教arduino IDE的esp8266开发环境搭建,就不推荐太难的开发环境,本来应该是VS code + Platform IO插件开发会更好,稍后在进阶章节会教VS code 的配置和插件使用。环境搭建方法一:在线下载从arduino官网下载arduino IDE 软件在安装完Arduino IDE后,打开文件->首选项,在窗口中的附加开
2022-01-15 21:47:57
3806
原创 【电路】(1)串联式开关电源
串联式开关电源串联式开关电源的工作原理串联式开关电源输出电压滤波电路分析串联式开关电源储能滤波电感的计算串联式开关电源储能滤波电容的计算串联式开关电源小结串联式开关电源的工作原理串联式开关电源也有人称为斩波器,或CuK开关电源,其工作原理简单,工作效率高,缺点是输入 、 输出共用一个地,容易触电和产生EMI干扰。下图是最简单的工作电路图:Ui—输入电压;uo—输出电 压 ;Up— 输 出 电 压 峰 值;Ton—导通时间;Toff—关断时间 ;Ua— 输 出 电 压 平 均 值;D—
2022-01-11 20:08:30
3337
原创 【C#】用Visual Studio连接ONENET物联网平台做一个简易版微信,兼带连接esp8266通讯控继电器功能
简易版微信前言onenet端的配置Visual Studio的编程主界面代码文件前言这是一个期末设计。。。。时间有点赶,基本上是一天晚上做完,所以可能还有很多地方不完善,基础功能是可以互相通信聊天(微信的功能),以及可以和esp8266进行物联网通讯,控制esp8266状态。效果图:参考资料有:onenet开发文档C# 基于OneNet 的物联网数据通信老师的公众号:图形编程与电子设计onenet端的配置关于onenet的详细配置和使用方法,可以看我之前的文章:物联网开发之esp8266
2021-12-24 05:04:40
3670
1
原创 【毕业设计】基于arduino的蓝牙扫地机器人
目录一、系统方案1、 主控制器件的论证与选择1.1.1 控制器选用1.1.2 控制系统方案选择2、 模块的论证与选择3、控制系统的论证与选择二、系统理论分析与计算1、电路分析三、电路与程序设计1、电路的设计2、程序的设计(1)程序功能描述与设计思路(2)程序流程图(3) 代码四、测试方案与测试结果1、测试方案2、测试条件与仪器3、测试结果及分析五、参考文献工程文件下载一、系统方案1、 主控制器件的论证与选择因为开发的功能和实现的功能比较简单,不需要那么多外设,所以经过价格和性能等多方面的综合考虑,最终
2021-12-14 06:49:47
7880
原创 【STM32】stm32驱动TB6600控制42/57步进电机的案例(TIM中断和PWM实验)
步进电机的简单使用接线:TB6600驱动盒的详细说明:程序设计:工程文件:做毕业设计要用到57步进电机,所以花了两天时间做了一下电机函数从淘宝查的资料:接线如图:接线:DIR- && PUL- 接 单片机GNDDIR+ 接 PA1PUL+ 接 PA0驱动盒TB6600 VCC 24V驱动盒TB6600 GND 24V的GND我测出来的 A组(绿+蓝- ) B组(黄+红-)如何确定AB两组看这个:关于42步进电机驱动——基于STM32 HAL库实现
2021-11-23 15:23:52
14403
27
原创 【笔记】stm32tim定时器AutoReload和pwm输出Pulse的关系
参考文章:我的文章我的文章2PWM输出(呼吸灯)老是理不清定时器的自动重装载和PWM通道Pulse的关系先说PSC和AutoReload的关系PSC是预分频ST32F103频率可以上到72M举个例子:72000000/72=1M1/1M=1/1000000=0.000001秒预分配会影响自动重装载的计数速度比如上面计算的,他可以0.000001s计一个数当计到AutoReload的值时,就会产生一个中断/*中断回调函数*/pwm的脉冲数Pulse:在AutoReload
2021-11-22 16:16:05
7681
1
基于proteus的CD4051仿真实验
2022-05-08
用Visual Studio连接ONENET物联网平台做一个简易版微信,兼带连接esp8266通讯控继电器功能
2021-12-24
arduino米思其1.15RFID522门禁板控制舵机的实例程序
2021-01-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人