![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 53
创客阿蛋
学的越多,就越发现自己的无知
展开
-
【笔记】I2S协议是什么?
I2S(Inter—IC Sound)总线, 又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。这里代入I2C总线来理解就可以了,说白了就是一种数据传输的通讯协议,基本上类似于I2C,只不过传输的是S(Sound)。本质就是用数值的方式将模拟信号存储下来,再通过总线传输出去。原创 2023-04-26 20:07:52 · 1023 阅读 · 1 评论 -
STM32自己实现printf函数
stdio.h的串口打印只有一个,所以可以自己写一个。最要是运用这一个库==#include ==参考资料:[C语言]头文件之stdargc语言标准库详解(十一):可变参数表stdarg.hSTM32实现代码:原创 2022-12-06 14:20:07 · 834 阅读 · 0 评论 -
【ESP32】arduino中的ESP32实时系统FreeRTOS使用教程(一)
这个作者讲的挺好的,通俗易懂。原创 2022-09-28 06:11:45 · 6791 阅读 · 0 评论 -
【笔记】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 · 769 阅读 · 2 评论 -
【笔记】gomod 记录
gomod 新版go才需要 默认开启commands 可以填:例如即可创建go.mod原创 2022-07-09 05:36:49 · 232 阅读 · 0 评论 -
【GO记录】从零开始GO语言——用GO语言做一个示波器(一)GO语言基础
今天参加了一个挑战,从零开始GO语言,用GO语言开发一个串口示波器。目前没有接触过GO语言,只会C/C++,从零开始学GO,预计8小时速成。学习视频用这个:学习视频GO语言好处:简单易用。大厂开路,有C基础容易起飞。目标..............................原创 2022-07-06 17:26:08 · 309 阅读 · 1 评论 -
【笔记】常见组合滤波电路
什么是T型滤波?与L型、π型滤波对比,容易明白视频作者:电子电工黄超想非常推荐大家去看他的视频!!!需要了解这些电路,首先得先对电感、电容、电阻有一些基础了解:简单来说:电阻可以阻碍电流通过,可以起到了在电路中起分压、降压、限流、负载、分流、区配等作用;电容作用在于可以在电路中起滤波、耦合、旁路、调谐和能量转换等作用;电感的作用主要在于在电路中有通直流、阻交流,通低频、阻高频的作用。低通滤波与高通滤波就是利用电容通高频阻低频的特性来滤波。这个电路电容对地放电,当输入信号的频率低时,电容会将这个原创 2022-07-02 17:42:27 · 3395 阅读 · 0 评论 -
[C语言]C语言中的转义字符
待写。。。有人看到提醒我一下。。。原创 2022-06-17 14:02:36 · 354 阅读 · 0 评论 -
【C语言】指针函数与函数指针、数组函数
指针函数和函数指针是开发中经常混淆的一个概念。还有传说中少见的数组函数!原创 2022-06-07 15:21:06 · 255 阅读 · 0 评论 -
【笔记】C语言数组指针、结构体+二维数组指针小记
在开发中 为了高效,往往使用一大片连续的数据空间,如:结构体,数组,二维数组,而这些组合在一起,又是一大片的空间,在一bin内存一寸金的单片机中,非常的珍贵,所以我们常常使用指针来进行操作,一个是对内存空间的高效利用,一个是代码的高效运行,还有一个是在不懂的人看来,==逼格十足!==...原创 2022-06-07 09:35:49 · 640 阅读 · 0 评论 -
【笔记】关于keil中的出现的编译映射内存不足的问题
解决原创 2022-06-06 10:16:20 · 912 阅读 · 0 评论 -
【笔记】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 · 2889 阅读 · 0 评论 -
【笔记】关于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 · 4297 阅读 · 0 评论 -
【ARM汇编】ARM 指令集和Thumb 指令集
指令集汇总关于指令集ARM指令集Thumb指令集简单的指令集操作关于指令集指令集是汇编的基础,是芯片的架构,不懂指令集看着汇编就只能干瞪眼了,所以把ARM指令集全都记录下来做个笔记。可能会和WIN32的指令集有出入,比如WIN32中MOV可以把数据从内存中加载到寄存器中去,但在ARM的RISC结构中,MOV只能将数据从寄存器移动到寄存器,WIM32的看小甲鱼的视频。说白了X86是复杂指令集(CISC),ARM是精简指令集(RISC)。复杂指令集是将很多操作集成起来,精简是可以很细节的去处理。51的原创 2022-04-01 11:08:47 · 2866 阅读 · 1 评论 -
【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 · 12333 阅读 · 23 评论 -
【笔记】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 · 5980 阅读 · 1 评论 -
【笔记】文本数据格式解析
不做解释,自己悟uint8_t data[500] = "HTTP/1.1 200 OK\r\n\Date: Tue, 16 Nov 2021 17:55:33 GMT\r\n\Content-Type: application/json; charset=utf-8\r\n\Content-Length: 109\r\n\Connection: keep-alive\r\n\Bili-Status-Code: 0\r\n\Bili-Trace-Id: 2860ba1fc66193f0\r\n原创 2021-11-17 20:35:21 · 805 阅读 · 0 评论 -
字符转整型STM32史上最短 字符转整形 简简单单
一直奇怪为什么stm32处理数据那么麻烦,要指针数组判断等等跳来跳去的。直到今天,我发现了#include “string.h”#include “stdlib.h”!!!那我就可以两句话搞定我的数据了!!!而不是像之前那样子那么麻烦了:STM32字符转整型处理’stm32c语言字符转正型,并且进行数据分割#include "string.h"#include "stdlib.h"u8 DATA[200]="X12Y34Y56Y78";int shuju_chuli(const ch原创 2021-11-03 17:25:22 · 889 阅读 · 1 评论 -
【esp8266】esp8266两板之间的收发通讯,code for arduino IDE
参考代码:esp8266服务器端的代码://服务器/* 鲁伊·桑托斯 在https://RandomNerdTutorials.com/esp8266-nodemcu-client-server-wi-fi/上完成项目细节 在此,任何获得副本的人都可以免费获得许可 该软件和相关文档文件的。 上述版权声明和本许可声明应包括在所有 “软件”的副本或实质性部分。*///载入所需的库#include <ESP8266WiFi.h>#include "ESPAsy原创 2021-10-29 02:08:15 · 1040 阅读 · 2 评论 -
【arduino】用arduino IDE写自己的库文件
首先需要学一下C++的基础,推荐鱼C甲小鱼的速成视频然后跟着这篇文章来就可以了:如何编写自己的Arduino库?后续会补充一键获取串口的库以及一键和串口屏通讯的库,我先去看视频了。。。。...原创 2021-10-22 20:28:08 · 1360 阅读 · 0 评论 -
【我的笔记】VScode遇到的小问题以及个人配置代码记录
笔记记录bug,arduino选不了板个人配置代码记录环境搭建及编译时中文乱码问题下载页面的使用说明记录bug,arduino选不了板开发arduino我用VScode,但是最近他更新了新版本之后一直选择不了板,把版本改回去0.45就可以了。 算是一个小bug。个人配置代码记录开发的时候,经常出现各种bug,以防万一,把自己的配置代码传上来保存。arduino.json:{ "board": "arduino:avr:uno", "sketch": "car.ino"原创 2021-10-19 11:27:36 · 426 阅读 · 0 评论 -
【元器件使用】旋转编码器(STM32PWM输入实验)
旋转编码器一、编码器的介绍二、简单玩一玩1.简单理解一下:2.结论:3.arduino的米思齐编程:三、STM32PWM输入实验1.资料一、编码器的介绍编码器拆解视频ECC11旋转编码器介绍51的编程以及消抖二、简单玩一玩1.简单理解一下:VCC和GND基本上都知道了然后SW就是按钮,详细的看拆解视频,按下接通GND,为低电平。CLK和DT说明://CLK和DT实际上并没有明确定义什么意思,别一拿到就想是IIC的sck个sda,这不是那个!!!SCK和DT更像是通道A和通道B。原创 2021-10-18 00:31:04 · 6785 阅读 · 0 评论 -
【笔记】另一种“带‘触发延时开关驱动模块的’MOS管触发开关驱动板”的使用方法
“带‘触发延时开关驱动模块的’MOS管触发开关驱动板”的使用方法带触发延时开关驱动的MOS管触发开关驱动板使用方法板子介绍使用方法板子介绍使用方法左边:SIGN接单片机信号管脚(要求驱动单元至少为5V)GND接单片机GND右边:VIN接电源输入电压GND接电源GNDOUT+接负载正级OUT-接负载负极不同于另一种MOS板,这款OUT和VIN不互通,而且带了继电器,可以做到断压断流!!!其驱动电压默认为5V触发。...原创 2021-10-13 22:24:39 · 2371 阅读 · 5 评论 -
【笔记】一种“大功率MOS管场效应管触发开关驱动板”的使用方法
打电赛买了两种大功率mos管,拿来试试水,以备不时之需,我刚开始以为和继电器一样用,可是我想错了下面那一种他的DC+(也叫Vin+)和OUT+是连在一起的,用万用表去测,是导通的。HIGH/PWM我接的是信号控制引脚LOW/SWITCH应该是低电平触发的引脚,而且催发优先级大于HIGH/PWM一切触发效果以板上的NO指示灯为准,灯亮则电流导通信号为低电平时还有一半电压,但电流是完完全全截止了,这应该是和mos管的原理有关,等我看个两三年mos管的资料再回来填坑。在同一时原创 2021-10-13 13:07:02 · 3333 阅读 · 1 评论 -
arduino声音检测
volatile int monizhi1;volatile int monizhi2;int biaozhiwei=0;void setup() {monizhi1 = 0;monizhi2 = 0;Serial.begin(9600);pinMode(A0, INPUT);pinMode(3, OUTPUT);pinMode(5, OUTPUT);pinMode(6, OUTPUT);pinMode(13, OUTPUT);}void loop() {//monizhi1 =原创 2021-10-09 11:01:42 · 765 阅读 · 2 评论 -
openmv和arduino的梦幻联动,在arduino驱动的FTF屏上显示图像坐标点
目录效果:工程文件:arduino代码:openmv代码:驱动FTF屏幕代码openmv寻找最大色块openmv和arduino通信的基础代码效果:工程文件:arduino代码:#include <SPI.h>#include "Ucglib.h"volatile int flag;String shuju;bool stringComplete = false; //字符串是否完成int CenterX, lcd_CenterX, last_lcd_CenterX;原创 2021-10-04 05:08:19 · 1186 阅读 · 1 评论 -
openmv和arduino通信,串口数据通信的解决方案
openmv和arduino通信分析字符串会用到的函数:Arduino中处理字符串的常用方法:效果展示接线arduino代码:openmv代码:分析字符串会用到的函数:isAlphaNumeric() // 判断是否为字母数字isAlpha() // 判断是否为字母isAscii() // 判断是否为 ASCII 码isWhitespace() // 判断是否为空格符isControl() // 判断是否为控制字符isDigit(原创 2021-10-04 04:12:09 · 3548 阅读 · 0 评论 -
arduino驱动SPI的FTF_LCD的ST7735屏幕
在电脑上显示Openmv查看图像信息特别麻烦,所以找了一块屏幕出来,准备用arduino接收openmv的数据,然后以坐标点的形式在LCD屏上显示出来。工程及代码库:将 Ucglib_Arduino-1.3.3 放 到 arduino 库 目 录 下 解 压打开 Ucglib_Arduino-1.3.3\examples\UcgLogo\UcgLogo.ino 文件将 Ucglib_ST7735_18x128x160_SWSPI ucg(/sclk=/ 13, /data=/ 11, /c原创 2021-10-03 04:59:01 · 3468 阅读 · 2 评论 -
STM32字符转整型处理
/* USER CODE BEGIN Header */ /* USER CODE END Header *//* Includes ------------------------------------------------------------------*/#include "main.h"#include "usart.h"#include "gpio.h"/* Private includes -----------------------------------------.原创 2021-09-19 01:22:44 · 569 阅读 · 0 评论 -
C语言中static的作用
修饰局部变量,其值下次进来,还是不变详细说明及作用地方说白了用在全局变量时其他文件调用不到这个变量,防止重定义,你这个文件的是你的,他那个文件再来个相同名字,一样,是他的,不关你屁事用在局部变量时静态变量会保存那个值,函数结束后,不会删除其地址及地址的值,下一次函数进来,那个值还是那个值...原创 2021-09-12 13:26:13 · 111 阅读 · 0 评论 -
STM32hal库串口中断接收任意字符
cubeMCX设置:生成工程文件usart.c/** ****************************************************************************** * @file usart.c * @brief This file provides code for the configuration * of the USART instances. *********************原创 2021-09-06 03:17:17 · 2438 阅读 · 3 评论 -
STM32获取DHT11温湿度(单总线通信实验笔记)
笔记:原创 2021-08-30 03:20:14 · 4947 阅读 · 0 评论 -
STM32获取MPU6050数据
参考视频:https://www.bilibili.com/video/BV1Fy4y1t7mehttps://www.bilibili.com/video/BV1kx411k7JT?p=63效果图:接线:SDA–PB11SCL–PB10用正点原子的MPU6050案例库主函数改为:#include "led.h"#include "delay.h"#include "sys.h"#include "usart.h"#include "mpu6050.h"#include "in原创 2021-08-22 20:09:58 · 1588 阅读 · 3 评论 -
基于stm32的自平衡小车
文章目录引言1、系统概述1.1、设计任务1.2、设计要求2、方案设计与论证2.1、芯片选择方案2.2 、系统概述2.3、设计要求2.4、系统总体设计2.5、各功能模块程序实现原理分析2.5.1、MPU6050模块的介绍2.5.2、OLED12864显示屏2.5.3、LN298N电机驱动块3、单片机的选择及硬件设计介绍3.1、单片机选择3.2、电路设计4、系统程序4.1、主程序4.1.1主程序设计如下4.1.2主程序流程图4.2、主程序代码4.3、模块程序代码5、系统调试及分析5.1、系统调试5.2、调试现象原创 2021-08-22 17:24:45 · 11613 阅读 · 5 评论 -
项目报告模板(二)
目录一、系统方案1、 主控制器件的论证与选择1.1.1 控制器选用1.1.2 控制系统方案选择2、 模块的论证与选择3、控制系统的论证与选择二、系统理论分析与计算1、电路分析三、电路与程序设计1、电路的设计2、程序的设计(1)程序功能描述与设计思路(2)程序流程图四、测试方案与测试结果1、测试方案2、测试条件与仪器3、测试结果及分析五、参考文献一、系统方案1、 主控制器件的论证与选择1.1.1 控制器选用1.1.2 控制系统方案选择2、 模块的论证与选择3、控制系统的论证与选择二、系统理论分析原创 2021-08-22 13:56:19 · 137 阅读 · 0 评论 -
项目报告模板(一)
文章目录引言1、系统概述1.1、设计任务1.2、设计要求2、方案设计与论证2.1、芯片选择方案2.2 、系统概述2.3、设计要求2.4、系统总体设计2.5、各功能模块程序实现原理分析2.5.1、模块1介绍2.5.1、模块2介绍2.5.1、模块3介绍3、单片机的选择及硬件设计介绍3.1、3.2、4、系统程序4.1、主程序4.2、模块程序5、系统调试及分析5.1、系统调试5.2、调试现象及分析5.3、测试结果引言1、系统概述1.1、设计任务1.2、设计要求2、方案设计与论证2.1、芯片选择方案2.原创 2021-08-22 13:46:05 · 116 阅读 · 0 评论 -
用寄存器开发arduino
虽然别人好不容易包装的严严实实了,但是总有人想去碰底层,比如我!!!arduino是AVR芯片,相关信息可以查AVR的芯片手册不建议小白用这种方法。算是做个笔记一:linux调试和proteus开发二:中断(中断2)三:定时器四:串口五:AD/DA六:SRAM Flash EEPROM七:跑RTOS系统八:工具链与调试技术九:烧录引导程序https://www.arduino.cc/http://www.atmel.com/http://alldatasheet.com/原创 2021-08-21 16:12:02 · 261 阅读 · 0 评论 -
无聊的盒子笔记(STM32控制舵机,外部输入实验)
前几天在B站看到一个无聊的盒子,觉得还挺好的,想自己做一个结果舵机力气太小 拉不动,项目就烂尾了(家境贫寒,买不起996r舵机和无刷电机)把代码和元器件分享出来,也算做个保存用到的东西主要有stm32 舵机 还有一个开关有条件的,舵机一定要买大力气一点的T.T或者买大力气的步进电机代码:STM32F103ZET6工程文件(基于正点原子,参考野火的视频,用到usamrt调试):#include "sys.h"#include "delay.h"#include "usart.h"原创 2021-08-14 02:37:22 · 1019 阅读 · 2 评论 -
STM32串口蓝牙实验--蓝牙控制小灯
用的正点原子的串口模板#include "led.h"#include "delay.h"#include "key.h"#include "sys.h"#include "usart.h"int main(void){ delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 uart_init(9600);原创 2021-08-06 13:00:03 · 1557 阅读 · 2 评论 -
arduino按钮控制共阳灯渐亮渐灭
闲着无聊 帮同学完成他的作品在这里插入图片描述代码volatile int x;volatile int y;void setup(){pinMode(4, OUTPUT);pinMode(5, OUTPUT);x = 255;y = 0;analogWrite(3,0);digitalWrite(4,HIGH);digitalWrite(5,HIGH);}void loop(){if (digitalRead(4) == 0) {delay(5);if (digita原创 2021-06-15 22:22:30 · 475 阅读 · 1 评论