笔记
不知道起个啥名“”
每天敲一敲yyds
展开
-
leetcode--移除元素
题目:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素class Solution{ public: int removeElement(vector<int >&num,int val) { ┊ int rigth=num.size();原创 2022-03-09 17:25:19 · 96 阅读 · 0 评论 -
leetcode--搜索数组成员
题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置思路:由于是有序的数组,所以只要找到>=目标值,就可以确定该位置,如果目标值不存在于数组中,就返回数组大小 ************************************************************************/#include<iostream>#include<vector>using原创 2022-03-09 17:24:31 · 52 阅读 · 0 评论 -
leetcode---两数之和
1.给定目标值target,和数组元素,从数组元素找出两个元素的和为target,并且返回这两个元素的下标注意: 1.在求数组长度时不可以直接在函数中使用int length=sizeof(num)/sizeof(int); 应该,先把长度求出来再作为参数传给函数 2.在函数中数组作为返回值时数组是局部,该函数被调用后数组就会清空,所以里面的值不会被保留 问题解决: 方式1:在数组前面加上static确保函数被调用完成,数组不会原创 2022-03-09 17:23:05 · 50 阅读 · 0 评论 -
QT-信号和槽函数
1.信号和槽函数2.产生信号和槽函数的两种方式: 1.直接在界面设计,右键--->转到槽函数 2.自己写信号和槽函数 需要完成的工作如下: 1.在widget.h里声明槽函数 2.在widget.cpp里实现槽函数 3.在widget里的构造函数里connect关联信号和槽函数 主要多出那些内容: 1.在widget.cpp文件里多出槽函数 2.原创 2022-03-09 17:21:16 · 405 阅读 · 0 评论 -
C++面筋----语法篇
C和C++的语法篇:1.C++特点:1.c++的三大特点:封装、继承、多态2.c++是面向对象的,而c是面向过程的3.C++更加安全,增加了const常量、引用、四类cast转换(static_cast、dynamic_cast、const_cast、reinterpret_cast)、智能指针、try—catch等等4.C++可复用性高,C++引入了模板的概念,后面在此基础上,实现了方便开发的标准模板库STL(Standard Template Library)2.C语言和C++的区别1原创 2022-03-09 17:17:53 · 894 阅读 · 0 评论 -
指针运算1
在这里插入代码片```//学习目的://*p++ (*p)++ *(p++) *++p ++*p#include<stdio.h>int main(){int a=1;int *p=&a;printf("%d\n",*p);//读取*pprintf("%p\n",p);//读取指针指向地址/*int num =*p++;/先*p,再p++;即num=*p;p++;printf("num is %d\n",num);printf("%p\n"原创 2021-12-27 13:46:02 · 559 阅读 · 0 评论 -
指针基本概念
原创 2021-12-26 13:44:55 · 395 阅读 · 0 评论 -
关键字const
关键字const 4 大作用#include<stdio.h>//3.const作为修饰参数,表示该参数不能能被修改void mystrcpy(char*dest,const char*src){while((*dest++=*src++)!='\0');}//4.const修饰函数返回值,表示返回值不允许修改int main(){//1.修辞只读变量,不能通过变量本身修改变量的值//可以通过其他方式改变只读变量const int a=2;//a++;//不能通过变原创 2021-12-26 13:33:25 · 187 阅读 · 0 评论 -
C语言编程
什么时候用&1.如果定义了变量为指针类型就不用2.如果是数组就不用3.在scanf函数中需要原创 2021-08-23 08:43:15 · 85 阅读 · 0 评论 -
Linux进程
原创 2021-07-28 22:26:00 · 70 阅读 · 0 评论 -
STM32定时器学习笔记
#本节主要学习通用定时器#一.组成:自动装载寄存器和16位计数寄存器。二.适用场合:1.测量输入信号的脉冲长度(输入捕获)2.产生输出波形(输出比较和PWM)。。。。。说明:1.使用定时器预分频器和RCC时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整2.每个定时器都是完全独立的,没有互相共享任何资源。它们可以一起同步操作三.分类:1.高级定时器TIM8,TIM12.通用定时器TIM2、TIM3、TIM4和TIM5)3.基本定时器TIM6,TIM7四.通用定时器原创 2021-07-03 18:33:52 · 1031 阅读 · 0 评论 -
STM32--------------OV7725
准备知识:SCCB与IIC基本相同1.SCCB协议起始:SIO_C为高时,SIO_D由高拉低。停止:SIO_C为高时,SIO_D由低拉高开启信号停止信号时序图:即确保数据的有效性(先SIO_D之后再拉高SIO_C)SCCB_E为低电平时传输有效,SIO_C为高电平时SIO_D读取数据(SIO_C为低电平时SIO_D改变)对从机写数据时序“X”的意思是“don’t care”该位位一个字节之后的第9位,由从机发回给主机,代表着主机是否发送给从机成功,1代表失败,0代表成功,相当IIC原创 2021-06-04 18:43:11 · 644 阅读 · 0 评论 -
SDIO
一.SDIO 简介:STM32F1 的 SDIO 控制器包含 2 个部分:SDIO 适配器模块和 AHB 总线接口,其功能框图如图 40.1.1.1 所示1.SDIO_D介绍:a.如果一个 SD 或 SD I/O 卡接到了总线上,可以通过主机配置数据传输使用 SDIO_D0 或SDIO_D[3:0]。所有的数据线都工作在推挽模式b.如果一个多媒体卡接到了总线上,则 SDIO_D0、SDIO_D[3:0]或 SDIO_D[7:0]可以用于数据传输所有的数据线都工作在推挽模式。2.SDIO_CM原创 2021-05-04 18:49:29 · 3169 阅读 · 0 评论 -
MAX30102
#include "myiic.h"#include "delay.h"//初始化IICvoid IIC_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; //RCC->APB2ENR|=1<<4;//先使能外设IO PORTC时钟 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE ); GPIO_InitStructure.GPIO_原创 2021-04-26 20:53:57 · 4706 阅读 · 2 评论 -
IIC——24C02
表4:数据有效性表5:开始信号和停止信号表6:主机应答信号表7:从机地址表8:写一个字节时序图表11:读一个字节时序图#include "myiic.h"#include "delay.h" /*1、SDA,SCL2.SDA要作为输入和输出两种模式3.输出时是为了写数据,主机应答(低电平)和不应答(高电平),产生开启信号(下降沿),停止信号(上升沿)4.输入时是为了读数据,等待从机应答5.确保数据有效性:拉低SCL->数据输出(输入)->SCL拉高原创 2021-04-25 23:14:53 · 325 阅读 · 0 评论 -
STM32之RTC
简介:STM32 的实时时钟(RTC)是一个独立的定时器。STM32 的 RTC 模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。框图:相关寄存器:控制寄存器第 0 位是秒钟标志位,我们在进入闹钟中断的时候,通过判断这位来决定是不是发生了秒钟中断。然后必须通过软件将该位清零(写0)第 3 位为寄存器同步标志位,我们在修改控制寄存器 RTC_CRH/CRL 之前,必须先判断该位,是否已经同步了,如果没有则等待同步,在没同步的情原创 2021-04-21 22:33:34 · 6931 阅读 · 0 评论 -
基于STM32音频解码MP3——vs1053
基于正点原子教程VS1053简介:1.该模块采用VS1053B 作为主芯片2.支持:MP3/WMA/OGG/WAV/FLAC/MIDI/AAC 等音频格式的解码3.支持:OGG/WAV 音频格式的录音,支持高低音调节以及 EarSpeaker 空间效果设置模块如图所示正点原子ALIENTEK ATK-VS1053 MP3 模块板载资源如下:◆ 高性能编解码芯片:VS1053B◆ 1 个 LINE IN/MIC 选择接口◆ 1 个咪头◆ 1 个电源指示灯(蓝色) ◆ 1 个 1.8V 稳原创 2021-03-29 11:15:22 · 13757 阅读 · 1 评论 -
485通信
1.有线通信2.只是定义了电平多大为逻辑0和逻辑1,最终通过RS485转为TTL电平与STM32串口通信RS485 的特点包括:1) 接口电平低,不易损坏芯片。RS485 的电气特性:逻辑“1”以两线间的电压差为+(2~6)V表示;逻辑“0”以两线间的电压差为-(2~6)V 表示。接口信号电平比 RS232 降低了,不易损坏接口电路的芯片,且该电平与 TTL 电平兼容,可方便与 TTL 电路连接。2) 传输速率高。10 米时,RS485 的数据最高传输速率可达 35Mbps,在 1200m 时,原创 2021-03-28 16:50:59 · 363 阅读 · 0 评论 -
基于STM32——IAP
IAP:简介顾名思义:在应用程序中编程即实现APP更新工作思路:先在flash中写 Bootloader(该步骤在串口烧录时自动生成),这个Bootloader作用是把bin文件保存到数组,然后保存到指定flash位置,然后执行APP程序即被调用的文件三步走:注意:步骤2是在要更新工程里操作步骤3.是在更新的APP里操作 步骤1是在APP和工程同时#define FLASH_APP1_ADDR 0x08010000 //第一个应用程序起始地址(存放在FLASH)原创 2021-03-27 17:05:34 · 219 阅读 · 0 评论 -
手势识别 模式
一.简介:1.内置光源和环境光抑制滤波器集成的 LED,镜头和手势感测器在一个小的立方体模组,能在黑暗或低光环境下工作2.PAJ7620U2 的特点包括:①IIC 接口,支持高达 400Khz 通信速率。②内置 9 个手势类型(上、下、左、右、前、后、顺时针旋转、逆时针旋转、挥动),支持输出中断。③支持接近检测功能,检测物体体积大小和亮度3.PAJ7620U2 内部自带 LED 驱动器,传感器感应阵列、目标信息提取阵列和手势识别阵列二.工作原理:PAJ7620U2 工作时通过内部 LED原创 2021-03-14 13:27:07 · 2205 阅读 · 0 评论 -
STM32通过ESP8266与平台通信——远程控制STM32——TLINK
实现 TCP 和 UDP 通信主要围绕连接热点,连接服务器,向服务器发送数据和接收服务器传回来的信息这四个大的方面来展开。实现设备连接远程服务器的流程为:设置 ESP8266 连接 AP 热点使其正常上网 (连接路由器)设置 ESP8266 连接远程/局域网 TCP 或 UDP 服务器(连接平台)如TCP Lab将采集到的传感器数据发送到服务器根据服务器传输过来的控制指令做出相应动作,如控制 LED 和继电器STM32程序: 常见操作⚫ ESP8266 握手函数——STM32连接上ESP原创 2021-02-25 17:05:41 · 7083 阅读 · 2 评论 -
物联网——WIFI
AT指令:1.指令组成2.开启/关闭回显(ATE1/ATE0)——是否把指令也回显从上图可以看出,我们发送了一个 AT,模块回复了 AT OK,即模块将发送过来的指令原封不动的先复述了一遍后接着发送有效回复,我们称这种复述为回显,关闭回显(发送ATE0)后如再次发送 AT,则只回复 OK3. 设置 AP 模式及 AP 参(AT+CWMODEAT+CWSAP_DEF)WIFI 模式有三种,一种叫 AP 模式(热点)*,一种叫 Station 模式(连接热点),一种叫AP+Station*当 E原创 2021-02-24 20:18:27 · 2378 阅读 · 1 评论 -
对STM32学习小结
学习内容:1.GPIO输入输出:按键检测实验;流水灯实验;蜂鸣器实验2.串口通信5个3.外部中断实验4.独立看门狗5.窗户看门狗6.定时器:定时器中断;定时器输入捕获;输出PWM7.OLED显示8.TFTLCD显示——FSMC模拟8086接口控制9.RTC:实时钟10.ADC11.DAC12.DMA13.IIC14.SPI对W25Q128读写15.CAN——局域控制网汽车行业16.NRF——2.4G无线通信17.WIFI——ESP802618.蓝牙——HC0619.NE原创 2021-02-24 14:41:33 · 124 阅读 · 0 评论 -
IIC读写EEPROM24C02
1.IIC是串行通信协议,有两根线组成SDA,SCL即数据线和时钟线2.IIC有三种信号:开始信号,应答信号,停止信号开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。结束信号:SCL 为高电平时,SDA 由低电平向高电平***跳变,结束传送数据。应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收到数据3.发送或读8位数据即一个字节,高位在前EEPROM:地址和读写组成一个字节即发送地址时要把读或写一起发原创 2021-02-21 11:42:41 · 499 阅读 · 0 评论 -
C语言的那点事
renturn后面不加参数代表直接退出函数什么也不返回,若带参数则返回参数原创 2021-02-20 17:09:05 · 91 阅读 · 1 评论