自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 C++面经汇总

模板定义的编译发生在模板函数定义的地方,而模板实例化的编译发生在模板函数被调用的地方,并根据具体的类型参数生成函数实例。相比于其他自平衡的二叉搜索树,如AVL树,红黑树的旋转和重新着色操作更少,因此插入和删除操作的性能更优。模板函数的编译是由编译器自动完成的,无需显式的编译命令。I/O多路复用(I/O Multiplexing)是一种用于处理多个I/O事件的机制,它允许一个线程同时监视多个文件描述符(如套接字、管道等)的可读、可写状态,从而实现并发的I/O操作,提高程序的性能和效率。

2023-09-14 20:32:07 112

原创 STM32学习日记--Day9--实时时钟

【代码】STM32学习日记--Day9--实时时钟。

2023-07-28 16:54:12 152

原创 STM32学习日记--Day9--读写备份寄存器

【代码】STM32学习日记--Day8--读写备份寄存器。

2023-07-28 16:51:31 188

原创 STM32学习日记--Day9--硬件SPI读写W25Q64

【代码】STM32学习日记--Day8--硬件SPI读写W25Q64。

2023-07-27 15:29:27 134

原创 STM32学习日记--Day8--软件SPI读写W25Q64

【代码】STM32学习日记--Day8--软件SPI读写W25Q64。

2023-07-27 13:12:26 170

原创 STM32学习日记--Day7--硬件I2C读写MPU6050

软件I2C引脚可以随意更改但是硬件不可以。

2023-07-25 18:25:38 136

原创 STM32学习日记--Day7--软件I2C读写MPU6050

【代码】STM32学习日记--Day7--软件I2C读写MPU6050。

2023-07-25 16:39:42 89

原创 STM32学习日记--Day6--串口收发文本数据包

【代码】STM32学习日记--Day6--串口收发文本数据包。

2023-07-23 15:12:19 53

原创 STM32学习日记--Day6--串口收发HEX数据包

【代码】STM32学习日记--Day6--串口收发HEX数据包。

2023-07-23 14:46:27 105

原创 STM32学习日记--Day6--串口接收+发送

【代码】STM32学习日记--Day6--串口接收+发送。

2023-07-23 11:16:27 78

原创 STM32学习日记--Day6--串口发送

【代码】STM32学习日记--Day5--串口发送。

2023-07-23 11:05:17 120

原创 STM32学习日记--Day5--通信接口

串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信 单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大地扩展了单片机的应用范围,增强了单片机系统的硬件实力。

2023-07-22 20:05:30 34

原创 STM32学习日记--Day5--DMA+AD多通道

【代码】STM32学习日记--Day5--DMA+AD多通道。

2023-07-22 19:22:48 103

原创 STM32学习日记--Day5--DMA数据转运

而DMA技术的引入,可以解放CPU,让它专注于更复杂的任务,同时实现高速的数据传输。总之,DMA的作用是通过直接访问内存,实现高速、高效的数据传输,减轻CPU负担,提高系统性能,并支持多设备的并行操作和数据格式转换。它可以在设备和内存之间直接传输大块的数据,避免了CPU的频繁干预和数据拷贝,提高了数据传输的速度和效率。DMA(Direct Memory Access,直接内存访问)是一种计算机系统中的数据传输技术,它的作用是在不需要CPU干预的情况下,实现高速、高效的数据传输。

2023-07-22 19:10:08 304

原创 STM32学习日记--Day5--AD多通道

【代码】STM32学习日记--Day5--AD多通道。

2023-07-22 13:29:01 37 1

原创 STM32学习日记--Day5--AD模数转换

该函数检查 ADC 的转换完成标志位(`ADC_FLAG_EOC`),如果标志位为 `RESET`,表示转换还未完成,需要继续等待。需要注意的是,对于多个通道的转换,你可以按照需要多次调用 `ADC_RegularChannelConfig` 函数来配置不同的通道。- 通过设置 ADC_InitTypeDef 结构体变量的成员来配置 ADC 的基本参数,然后调用 `ADC_Init` 函数将配置应用到 ADC 模块。- `1`:指定转换序列的序号。- `ADC_Channel_1`:指定要配置的转换通道。

2023-07-22 13:05:17 722 1

原创 STM32学习日记--Day4--编码器接口测速

【代码】STM32学习日记--Day4--编码器接口测速。

2023-07-21 17:02:36 102 1

原创 STM32学习日记--Day4--PWMI测频率占空比

【代码】STM32学习日记--Day4--PWMI测频率占空比。

2023-07-21 13:50:26 129 1

原创 STM32学习日记--Day4--输入捕获模式测频率

【代码】STM32学习日记--Day4--输入捕获模式测频率。

2023-07-21 13:24:48 120 1

原创 STM32学习日记--Day4--PWM驱动直流电机

注意:AIN1、AIN2为方向控制,PWM引脚为速度控制。

2023-07-21 11:27:10 79 1

原创 STM32学习日记--Day4--PWM驱动舵机

CCR值与舵机角度对应关系:(线性)电压过低3.3V,功率不足。

2023-07-21 11:14:23 167 1

原创 STM32学习日记--Day3--PWM驱动LED灯

【代码】STM32学习日记--Day3--PWM驱动LED灯。

2023-07-20 20:11:42 144

原创 STM32学习日记--Day3--定时器中断--外时钟中断

通过调用 `TIM_ETRClockMode2Config` 函数,可以将定时器配置为外部时钟模式 2,并设置外部时钟的预分频系数、极性和滤波器值。- `TIM_ExtTRGPrescaler`:指定外部时钟的预分频系数,用于控制外部时钟信号的频率。- `TIM_ExtTRGPolarity_NonInverted`:外部时钟信号非反相。- `ExtTRGFilter`:指定外部时钟的滤波器值,用于消除外部时钟信号中的噪声和抖动。- `TIMx`:指定要配置的定时器,如 `TIM1`、`TIM2` 等。

2023-07-20 16:00:56 70

原创 STM32学习日记--Day3--定时器中断--内时钟中断

通过调用 `TIM_ITConfig` 函数,可以根据需要配置定时器的中断功能。`TIM_ITConfig` 是一个函数,用于配置定时器(Timer)的中断功能。请注意,要使用 `TIM_ITConfig` 函数,您需要正确配置和初始化定时器及其相关参数,以及使能相应的中断向量和优先级。- `NewState`:指定中断的状态,可以是 `ENABLE`(使能中断)或 `DISABLE`(禁止中断)。- `TIMx`:指定要配置的定时器,如 `TIM1`、`TIM2` 等。1.在主函数中调用中断函数。

2023-07-20 15:42:57 141

原创 STM32学习日记--Day3--定时器中断

16位计数器(每来一个时钟计数+1)、预分频器(对时钟进行分配,技术更灵活)、自动重装寄存器的时基单元(计数目标值,到达时自动重装),在72MHz计数时钟下可以实现最大59.65s的定时(支持级联进一步提高计时时间)。不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能 根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型。拥有基本定时器全部功能,并额外具有内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等功能。

2023-07-20 14:29:29 85

原创 STM32学习日记--Day2--外部中断--旋转编码器计次

*如果出现数据乱跳的现象,可再次判断引脚电平,以避免抖动*//*如果出现数据乱跳的现象,可再次判断引脚电平,以避免抖动*///初始化NVIC EXTI0_IRQn。//关联GPIOB引脚与EXTI中断线。//初始化NVIC EXTI1_IRQn。//开启外设时钟GPIOB、AFIO。//初始化GPIOB0、GPIOB1。//设置NVIC中断响应分组。//初始化EXTI外设。

2023-07-20 13:07:04 143

原创 STM32学习日记--Day2--外部中断--对射式红外传感器

/开启外设的时钟,外设分别有GPIO、AFIO、EXTI、NVIC,按照道理来说都需要开启时钟函数,但是EXTI、NVIC位内核控制因此无需开启时钟。if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_14) == 0)//判断GPIO输入口是否是低电平。//关联引脚与EXTI中断线。

2023-07-20 12:51:37 97

原创 STM32学习日记--Day1--跑马灯实验

GPIO_InitTypeDef结构体指针GPIO_InitStruct参数用于指定GPIO引脚的初始化配置。- GPIO_Mode_AF:将GPIO引脚配置为复用功能模式。- GPIO_Mode_OUT:将GPIO引脚配置为输出模式。GPIO_Mode是GPIO_InitTypeDef结构体的一个成员,用于指定GPIO引脚的工作模式。- GPIO_Mode_AN:将GPIO引脚配置为模拟模式。在该模式下,引脚用于模拟信号输入或输出。- GPIO_Mode_IN:将GPIO引脚配置为输入模式。

2023-07-19 11:26:00 113

原创 sizeof 和strlen区别

2. strlen 测量的是字符的实际长度,以'\0' 结束(不包含'\0' )。而sizeof 测量的是字符的分配大小,如果未分配大小,则遇到'\0' 结束(包含'\0' ,也就是strlen测量的长度加1),如果已经分配。sizeof为分配空间大小,strlen为实际显示长度。1. strlen 是函数,sizeof 是。大小,返回的就是分配的内存大小。......

2022-08-07 09:58:00 263 1

原创 线程池相关问题

在C语言中,我们使用pthread_create创建线程,线程函数是一个全局函数,所以在C++中,创建线程时,也应该使用一个全局函数。在C++的类中,普通成员函数不能作为pthread_create的线程函数,如果要作为pthread_create中的线程函数,必须是static!void*Threadstart_thread(void*arg)//静态成员函数只能访问静态变量或静态函数,通过传递this指针进行调用。函数原型中的第三个参数,为函数指针,指向处理线程函数的地址。...

2022-07-31 15:12:23 40

原创 线程同步机制

具体定义可以看代码。需要注意,线程处理函数和运行函数设置为私有属性。

2022-07-31 12:17:09 242

原创 epoll学习笔记

1.端口复用的目的?允许多个socket绑定同一个地址,可以实现多线程监听。2.epoll,select和poll,为什么用epoll,它和其他两个有什么区别呢?3.Epoll对文件操作符的操作有两种模式LT(电平触发)和ET(边缘触发),二者的区别在于当你调用epoll_waitselectepoll_waitepoll_waitsleepepoll_wait在使用ET模式时,必须要保证该文件描述符是非阻塞的(确保在没有数据可读时,该文件描述符不会一直阻塞);并且每次调用read和write。...

2022-07-29 16:52:18 122

原创 vs 中间及输出目录设置

输出目录 $(SolutionDir)../bin/$Platform/$(Configuration)中间目录$(SolutionDir)../temp/$Platform/$(Configuration)/$(ProjectName)

2022-05-14 18:28:15 432

原创 物理层 数据传送技术

数据在编码后,在通信线路上进行传输时,按照数据传送技术划分可以分为:(1)电路交换优点:传输时延小,不存在失序问题,随时通信,实时性强,控制简单,可传数模信号。缺点:连接建立时间长,信道利用率低。(2)报文交换只能传输数字信号。(3)分组交换报文交换plus。分组交换中通信子网向端系统提供虚电报和数据报两种网络服务。...

2022-03-28 10:15:36 346

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除