- 博客(16)
- 收藏
- 关注
原创 cpp 多态中的 virtual 和 override
即,virtual bool read(istream &is) override 表明函数read() 是重写基类中的虚函数,同时也可以在派生类中被重写。2、多态的优点:代码组织结构清晰、可读性强、利于前期和后期的扩展以及维护。override关键字:在C++11及以后的版本中,这个关键字用于明确指出。前言:针对学习vslam中遇到的问题,回顾多态,做个小总结。静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名。virtual关键字:表示这个函数可以在派生类中被重写。5、实现多态的简单例子。
2024-11-13 20:19:23
297
原创 Cpp-函数调用运算符重载
方法来计算每个残差项的值,这个重载的运算符实际上被间接调用了。这是Ceres Solver工作流程的一部分,它允许库使用用户提供的成本函数来计算残差。函数执行的内容是 cout
2024-10-26 15:20:33
130
原创 FreeRTOS-任务
本文是基于韦东山-FreeRTOS入门与工程实践的学习笔记。总结了freertos任务相关的一些操作,如任务创建,删除,修改优先级。探究了任务的几种状态和执行的顺序。
2024-01-14 10:58:24
1537
1
原创 蓝桥杯单片机-各模块总结
一、省赛中开发平台涉及的模块:1、AT24C02 IIC驱动2、PCF8591 IIC驱动3、DS1302 DS1302驱动4、DS18B20 ONEWIRE驱动5、定时器读取NE555频率1、IIC驱动在IIC中读取PCF的数据和读取AT24C02的数据是一样的步骤只是这两个器件的地址不一样...
2022-04-08 19:22:09
589
原创 C语言学习笔记(基于单片机)
目录一、关键字部分staticcodeconstexternbitsbitsftstruct(结构体)二、运算符部分逗号运算符[ , ]运算符[ -> ]一、关键字部分static仅将变量初始化一次,第二次调用时不进行初始化code将数据存储在ROM中(写入后不能再更改)const将数据存储在RAM中(写入后不能再更改)externextern关键字可以使变量或者函数跨文件被访.
2022-04-03 10:36:28
2013
原创 蓝桥杯单片机-NE555模块
一、简介1、NE555在开发板中用于输出频率可变,占空比不变的方波。2、NE555是纯硬件的设计,通过电位器RB3可改变其信号输出频率。不需要编程实现其功能。考点:使用定时器的计数模式测量NE555输出的频率3、开发板上电路 NET SIG即接P34(P34可以作为定时器/计数器0的外部输入口)二、应用考点:使用定时器的计数模式测量NE555输出的频率实现:1、定时器0的计数模式计脉冲的个数。使用STC-ISP软件生成函数后进行简单修改vo...
2022-03-23 21:13:14
4794
3
原创 蓝桥杯单片机-AT24C02模块
一、简介1、AT24C02是一个存储容量为2K bit 的E2PROM2、SDA(串行数据线)和SCL(串行时钟线)SCL:上升沿向设备写入数据,下降沿设备向主机发送数据 SDA:双向传输,SCL为高时,若SDA数据改变,则视为起始信号或停止信号(如下图) 在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。二、应用在iic.c文件中手写“读函数”和“写函数”void...
2022-03-18 15:02:01
1608
2
原创 蓝桥杯单片机-串行接口
一、简介串行口控制寄存器SCON (一般用01模式) SM0 SM1 SM2 REN TB8 RB8 TI RI 0 1 0 1 0 0 0 ...
2022-03-17 15:25:04
1475
原创 蓝桥杯单片机-定时器
一、简介有三个寄存器与定时器相关(TMOD,TCON,数值设置寄存器TH TL)1、定时器工作方式设置寄存器TMOD GATE: 门控制位 GATE=0时,定时器/计数器启动与停止仅受TCON寄存器中的TRX(X=0/1)来控制. =1时,由TCON寄存器中的TRX和外部中断引脚(INT0或INT1)上的电平共同控制. C/T: 定时器模式和计数器模式选择位 C/T=1时为计数器模式 C/T=0时为定时器
2022-03-17 13:49:38
4129
1
原创 蓝桥杯单片机-外部中断
一、简介有三个寄存器与中断相关(IE、IP、TCON),主要是应用IE和TCON寄存器1、 IE寄存器:中断允许寄存器,字节地址为A8H,可以位寻址 EA: 全局中断允许位 为1时-允许全局中断控制 ET2: 定时器/计数器2中断允许位 1-允许T2中断 ES: 串行口中断允许位 1-允许串行口中断 ET1: 定时器/计数器1中断允许位 ..
2022-03-17 13:15:17
2355
原创 蓝桥杯单片机-PCF8591模数转换模块
一、简介1、通过IIC驱动,串行通信2、有8个模拟量输入通道,1个模拟量输出通道(AOUT)Vss是接地点,Vdd接电源+ EXT:控制选择外部晶振或内部晶振3、开发板原理图简介AIN1与光敏电阻RD1相连,AIN3与滑动变阻器Rb2相连。二、应用在iic.c文件中手写模块设置函数,应用该函数输出需要的电压void DAC_set(unsigned char dat) { IIC_Start(); IIC_SendByte(0x90); //发送IIC地
2022-03-16 22:29:47
989
原创 蓝桥杯单片机-DS1302时钟模块
一、简介1、采用SPI三线接口通信(SCK、SDA、RST)上升沿数据被写入DS1302,下降沿被读出 二、应用1、在ds1302.c文件中定义三个数组unsigned char code READ_A[7]={0X81,0X83,0X85,0X87,0X89,0X8B,0X8D}; //读操作相应寄存器的地址unsigned char code WRITE_A[7]={0X80,0X82,0X84,0X86,0X88,0X8A,0X8C}; //写操作相应寄...
2022-03-16 22:08:57
3022
原创 蓝桥杯单片机-DS18B20温度模块
DS18B20简介1、DS18B20的默认温度是85°2、DS18B20读取需要时间,最多需要花750ms3、scratchpad中存放着9Byte的数据,Byte0和Byte1存储温度数据第一行为Byte0,第二行为Byte1 当Byte1中的S全为0时,代表读取到的温度大于0°; 为1时,代表小于0°DS18B20应用1、调用onewire.c文件进行驱动2、需要修改的地方将所有的 Delay_OneWire 延时扩大4倍,最后一个延...
2022-03-16 21:43:28
1720
原创 JLINK简介
一、什么是JLINK?JLINK是一个兼容JTAG的仿真器,作用是烧入程序和Debug二、JLINK是如何处理数据的?1.PC端应用程序将数据以某种协议格式,通过USB接口发送给J-Link2.J-Link将接收到的USB数据进行处理,然后通过JTAG接口发送给STM323.STM32上的JTAG接口电路通过操作寄存器直接访问到flash,实现对flash的读写NOTES:1.调试ARM,要遵循ARM的调试接口协议,JTAG就是其中的一种。2.JTAG(Joint T
2021-08-10 22:27:40
24682
2
原创 STM32 printf重定向(串口输出)
一、前言什么是重定向?重定向是指将fputc里面的输出指向目标设备。因printf函数调用了fputc,而fputc输出有默认指向的目标,且不同库中的fputc输出指向不同,所以需要重写fputc二、标准库与HAL库实现重定向到串口若需要printf输出到串口,则需要将fputc里面的输出指向串口,这一过程称为重定向。 1.标准库(重定向到USARTx,代码中为USART1)int fputc(int ch,FILE *p){USART_SendDate(US...
2021-08-10 22:12:30
43777
13
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人