自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lbd321的博客

人前显贵需人后受罪!

  • 博客(146)
  • 资源 (11)
  • 收藏
  • 关注

原创 牛客网C++专项练习20200717

1、%取余运算符只能用于整型2、1) malloc 函数: void *malloc(unsigned int size)在内存的动态分配区域中分配一个长度为size的连续空间,如果分配成功,则返回所分配内存空间的首地址,否则返回NULL,申请的内存不会进行初始化。2)calloc 函数: void *calloc(unsigned int num, unsigned int size)按照所给的数据个数和数据类型所占字节数,分配一个 num * size 连续的空间...

2020-07-17 15:24:22 215 1

原创 牛客网C++练习题经验整理20200707

1、"%5d"表示至少5个字符,如果不够五个字符,左侧用空格补齐;2、Interrupted Exception异常被捕获,线程调用了wait方法,会导致线程中断或停止运行。

2020-07-07 15:15:55 274

原创 C++类的静态成员变量

1、静态成员变量类内声明,类外初始化;2、没有this指针,属于类域,所有对象共享。

2020-07-06 11:12:32 321

原创 牛客网C++练习笔记20200701

1、如果一个类class A{}没有构造函数定义,那么当这个类的Object被创建时,编译器会为这个类提供默认构造函数去创建Objects;2、内联可能会导致二进制可执行文件内存变大;3、x是int型,当x被赋值为1.2浮点型时,x实际赋值为1,所以4.8/5.0由于/是整除,结果为小于1的小数,所以y被赋值为04、比如 class Base{};Base w1; //构造函数Base w2(w1); //拷贝构造函数w1 = w2; //赋值运算符Base w3 =...

2020-07-01 11:07:42 215

原创 C++中不能被重载的运算符

C++中不能被重载的运算符只有5个,分别是:1、 . (成员访问运算符)2、* (成员指针访问运算符)3、:: (域运算符)4、sizeof (长度运算法)5、? : (条件运算符)前两个运算符不能重载是为了保证访问成员的功能不被改变,域运算符和sizeof运算符的运算对象是类型而不是变量或者一般表达式,不具备重载的特征。...

2020-06-23 09:37:36 7866

原创 C++变量类型auto和decltype

int i = 0;const int ci = i;auto b = ci;//auto会忽略顶层const,所以b的类型为intint *p = &i;decltype (*p) c = i;//c的类型int &decltype和auto都可以推断类型,但是二者有几处明显的差异:1、auto忽略顶层const,decltype保留顶层const;2、对引用操作,auto推断出原有类型,decltype推断出引用;3、auto推断时会实际执行,declty

2020-06-23 09:29:45 170

原创 intel CPU,多线程对int型变量x的操作

X++ ++X为原子操作X=Y和X=1很可能被中断

2020-06-22 15:29:07 730

原创 C++程序中,变量频繁使用定义类型

如果一个变量被频繁使用,需保存在寄存器中,因为寄存器的速度要比内存快的许多。在早期的编译器中需要手动定义为register型,但是后来编译器可以自动将调用次数多的变量放入寄存器中。auto:给变量动态分配内存,默认的分配类型。一般不需要手动声明;static:静态分配内存。变量在整个作用域内的全局变量;extern:声明为外部变量;在函数的外部定义变量。...

2020-06-22 15:26:50 1647

原创 C++静态使用注意事项

1、静态方法只能访问静态成员(包括成员变量和成员方法),非静态方法可以访问静态也可以访问非静态。2、静态方法中不可以定义this、super关键字。因为一个类中,一个static只会有一个内存空间,虽然有多个类实例,但这些类实例中的这个static变量会共享同一个内存空间。静态方法在优先于对象存在,所以静态方法中不可以出现this、super关键字。3、主函数是静态的。1)只有类的成员函数才能说明为虚函数;2)静态成员函数不能是虚函数;3)内联函数不能为虚函数;4)构造函数不能是虚函

2020-06-22 15:21:46 288

原创 系统调用与库函数的区别?

一. 概念系统调用(英语:system call),指运行在用户空间的应用程序向操作系统内核请求某些服务的调用过程。 系统调用提供了用户程序与操作系统之间的接口。一般来说,系统调用都在内核态执行。由于系统调用不考虑平台差异性,由内核直接提供,因而移植性较差(几乎无移植性)。库函数(library function),是由用户或组织自己开发的,具有一定功能的函数集合,一般具有较好平台

2017-08-07 20:50:35 465

原创 为什么ARM的启动代码是汇编?

启动代码为什么启动代码一定一要用汇编语言编写,启动代码的主要功能是什么?单片机不用启动代码,为什么arm要用启动代码?------解决方案--------------------------------------------------------最开始的几行代码要完成初始化中断向量,堆栈什么的。这些只能用汇编做。------解决方案---------------------

2017-08-06 22:33:03 1606

原创 C#中修改exe图标

第一步选Release第二部右击工程名点击属性第三部去网上下载ico格式的图片第四部:重新生成工程在工程文件夹obj中即可找到带图标的exe

2017-08-06 22:27:17 2722

原创 C#中获取系统时间的一种方法

//获取当前电脑时间 ClockFunction[3] = Convert.ToByte(DateTime.Now.Year % 100); ClockFunction[4] = Convert.ToByte(DateTime.Now.Month); ClockFunction[5] = Convert.ToByte(DateTime.Now.Day); ClockFunction[6] = Co

2017-08-06 10:58:29 612

原创 C#中如何获取numericUpDown中的数字

AlbumFunction[4] = Convert.ToByte(numericUpDown10.Value);//将框中的值转换为byteAlbumFunction数组为byte类型,用上述方法就可以获取上下拉框的值。

2017-08-06 10:29:41 5556

原创 UART、SPI、IIC

1、UART, SPI, IIC的详解UART、SPI、IIC是经常用到的几个数据传输标准,下面分别总结一下:UART(Universal Asynchronous Receive Transmitter):也就是我们经常所说的串口,基本都用于调试。主机和从机至少要接三根线,RX、TX和GND。TX用于发送数据,RX用于接受数据(收发不是一根线,所以是全双工方式)。注意A和

2017-08-04 15:31:59 555

原创 51单片机中断

一、中断的概念CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断二、中断源在51单片机中有5个中断源中断号优先级中断源中断入口地址0 1(最高)外部中断00003H1 2 定时器

2017-08-04 15:27:24 603

原创 51单片机定时器

sTC单片机定时器的使用可以说非常简单,只要掌握原理,有一点的C语言基础就行了。要点有以下几个: 1.      一定要知道英文缩写的原形,这样寄存器的名字就不用记了。理解是最好的记忆方法。好的教材一定会给出所有英文缩写的原形。2.      尽量用形像的方法记忆。比如TCON和TMOD两个寄存器各位上的功能,教程一般有个图表,你就在学习中不断回忆那个图表的形像。3.

2017-08-04 15:01:12 1048

原创 聊天室项目问题

1.  makefile的作用:    makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。     makefile带来

2017-08-04 14:45:50 592

原创 关键字volatile有什么含义?并给出三个不同的例子。

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:  1). 并行设备的硬件寄存器(如:状态寄存器)  2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic varia

2017-08-02 15:44:45 4302

原创 友善之臂S3C2451开发板如何用MiniTools下载裸机程序

一开始开发板接在电脑上minitools是检测不到的,因为电脑里没有对应的驱动。解决方法就是下载驱动精灵,安装好。开发板开机按k1键进入类似bios的界面,然后打开驱动精灵开始检测驱动,安装一个Android驱动即可。

2017-07-30 10:56:00 750

原创 重载(overload)和重写(overied,有的书也叫作“覆盖”)的区别?

从定义上来说:  重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。  重写:是指子类重新定义父类虚函数的方法。1.重载:重载从overload翻译过来,是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。class A

2017-07-26 09:33:58 844

原创 简述static关键字的作用?(备注:在什么条件下使用static修饰局部变量、全局变量、函数)

static关键字至少有下列n个作用:(1)设置变量的存储域,函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;(2)限制变量的作用域,在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;(3)限制函数的作用域,在模块内的static函数只可被这一模块内的其

2017-07-26 09:28:10 1614

原创 笔试题2/5如何查看进程的信息(线程数)?

三种方法:1。 使用top命令,具体用法是 top -H        加上这个选项,top的每一行就不是显示一个进程,而是一个线程。2。 使用ps命令,具体用法是 ps -xH        这样可以查看所有存在的线程,也可以使用grep作进一步的过滤。3。 使用ps命令,具体用法是 ps -mq PID (ubuntu下貌似不能使用)      

2017-07-26 09:24:50 245

原创 Nandflash和Norflash的区别简介

(1)、接口差别:NOR型Flash采用的SRAM接口,提供足够的地址引脚来寻址,可以很容易的存取其片内的每一个字节;NAND型Flash使用复杂的I/O口来串行的存取数据,各个产品或厂商的方法可能各不相同,通常是采用8个I/O引脚来传送控制、地址、数据信息。(2)、读写的基本单位:NOR型Flash操作是以“字”为基本单位,而NAND型Flash以“页面”为基本单位,

2017-07-25 20:33:39 979

原创 第一章面试题整理

一、C++域操作符的使用#include "stdio.h"#include "windows.h"int value = 0;   //初始化全局变量void printvalue(){    printf("value = %d\n", value);}int main(){    int value = 0;  //初始化局部变量  

2017-07-16 19:05:48 313

原创 1、Qt winget基础

windows-get  winget  获得窗口QColorDialog         颜色对话框QFontDialog          文本对话框QTcpSocket           QUdpSocketQStringQt支持平台Windows2000以上版本、Linux(redhat、ubantu)QTabWidget  选项卡QLabel  

2017-07-16 09:26:17 317

原创 5、速度PID控制

1、速度闭环控制就是根据单位时间获取的脉冲数(这里使用了M法测速)测量电机的速度信息,并与目标值进行比较,得到控制偏差,然后通过对偏差的比例、积分、微分控制,使偏差趋向于零的过程。2、根据增量离散PID公式  PWM+=Kp[e(k)-e(k-1)]+Ki*e(k)+Kd[e(k)-2e(k-1)+e(k-2)]  e(k):本次偏差  e(k-1):上一次的偏差  e

2017-07-14 15:39:50 7165

原创 4、位置PID参数整定

1、控制目标    ·稳定性    ·快速性    ·准确性2、关于P、I、D三个参数的主要作用,可以大致又不完全地概括为:     P用于提高响应速度、I用于减小静差、D用于抑制震荡。

2017-07-14 15:39:05 583

原创 3、位置PID基础

1、位置闭环控制就是根据编码器的脉冲累加测量电机的位置信息,并与目标值进行比较,得到控制偏差,    然后通过对偏差的比例、积分、微分控制进行控制,使偏差趋向于零的过程。2、位置式离散PID公式    PWM = Kp*e(k)+Ki*∑e(k)+Kd[e(k)-e(k-1)]    e(k):本次偏差    e(k-1):上一次偏差    ∑e(k):e(k)以及

2017-07-14 15:13:34 576

原创 2、PID基础知识

1、PID调节器出现于上世纪30年代   所谓PID控制,就是对偏差进行比例、积分、和微分的值。  PID有3个单元组成,分别是比例(P)单元、积分(I)单元、微分(D)单元。  在工作实践中,一般P是必须的,所以衍生出许多组合的PID控制器,如PD  、PI、PID等2、离散化PID   在我们的微处理器里面,因为控制器是通过软件实现其控制算法的,所以必须对模拟

2017-07-14 15:11:59 857

原创 1、编码器的简单认识

编码器是一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器         ·测量位置(倒立摆)·测量速度(平衡小车)·光电编码器(光学式)·霍尔编码器(磁式)

2017-07-14 15:11:06 639

原创 4.4、数组与指针

1、数组是一段连续的内存空间2、数组的空间大小为sizeof(array_type) * array_size3、数组名可以看做指向数组第一个元素的常量指针4、指针的运算    ·指针是一种特殊的变量,与整数的运算规则为        p + n;(unsigned int)p + n*sizeof(*p);    ·结论:        当指针p指向一个桶

2017-07-08 20:43:17 235

原创 S3C2451-GPIO

1、每组GPIO(GPA-GPM),通过3个寄存器来控制与访问     ·GPxCON:GPIO配置寄存器     ·GPxDAT:GPIO数据寄存器     ·GPxUDP:上下拉电阻控制寄存器     ·GPxSEL:功能选择寄存器     其中x为(A、B、C....、M)     2、上拉电阻     由于管脚悬空比较容易受到外界的电磁干扰,因此通过一个电阻

2017-07-08 10:46:30 299

原创 warning: #61-D: integer operation result is out of range

STM32程序编译出现以下问题的解决方法://IO方向设置 #define SDA_IN()  {GPIOC->CRH&=0X0FFFFFFF;GPIOC->CRH|=8#define SDA_OUT() {GPIOC->CRH&=0X0FFFFFFF;GPIOC->CRH|=3结果编译时出现错误 compiling myiic.c... ..\HARDWARE\IIC\m

2017-06-19 12:21:23 9286 1

原创 STM32 DMA的特性

STM32的DMA特性:   ·每个通道都直接连接专用的硬件DMA请求,每个通道都同样支持软件触发。这些功能通多软件来配置。   ·在七个请求间的优先权可以通过软件编程设置(共有四级:很高、高、中等和低),假如在相等优先权       时由硬件决定(请求0优先于请求1,以此类推)。   ·独立的源和目标数据区的传输宽度(字节8、半字16、全字32),模拟打包和拆包的过程。源和目标地

2017-06-10 21:42:51 1125

原创 FreeRTOS静态任务创建与删除

//空闲任务任务堆栈static StackType_t IdleTaskStack[configMINIMAL_STACK_SIZE];//空闲任务控制块static StaticTask_t IdleTaskTCB;//空闲任务API函数void vApplicationGetIdleTaskMemory( StaticTask_t **ppxIdleTaskTCBBuff

2017-06-08 16:45:01 732

原创 FreeRTOS动态创建任务和删除任务

#define Start_Stack_Size 120    //任务堆栈大小#define Start_Task_Prio  1      //任务优先级       0和31分别是空闲任务和软件定时器优先级,用户不能用TaskHandle_t Start_Task_Handle; //任务句柄void Start_Task( void * pvParameters );  //开

2017-06-08 16:41:07 1436

原创 STM32DAC的特点

STM32的DAC模块主要特点有:    1、2个DAC转换器:每个转换器对应1个输出通道    2、8位或者12位单调输出    3、12位模式下数据左对齐或者右对齐    4、同步更新功能    5、噪声波形生成    6、三角波形生成    7、双DAC通道同时或者分别转换    8、每个通道都有DMA功能

2017-06-08 16:39:01 1223

原创 STM32F10x ADC基本原理简介

1、STM32F10x ADC特点        ·12位逐次逼近型的模拟数字转换器。        ·最多带3个ADC控制器        ·最多支持18个通道,可最多测量16个外部和2个内部信号源。        ·支持单次和连续转换模式        ·转换结束,注入转换结束,和发生模拟看门狗事件时产生中断。        ·通道0到通道n的自动扫描模式     

2017-06-04 09:52:58 1678

原创 FreeRTOS任务基础知识总结

1、单任务系统-前后台系统:中断服务函数为前台程序,大循环while(1)作为后台程序。      前后台系统的实时性差,但是前后台系统简单,资源消耗少。      2、FreeRTOS是一种抢占式的实时多任务系统,其任务调度器也是抢占式的。3、高优先级的任务可以打断低优先级任务的运行而取得CPU的使用权,这样就保证了那些紧急任务的运行。       高优先级的任务执行完成

2017-06-03 23:30:24 925

APMF32F1-keil5-pack包

用APM32F103c8t6代替STM32F103c8t6,需要安装相应的pack。

2021-01-14

基于STM32车牌识别系统资料V1.0_Ricky(1).zip

stm32f103rbt6+OV7670摄像头车牌识别资料,包含制作教程、原件清单、电路图、源码例程(keil4)

2020-05-26

HC-SR04超声波测距模块资料.zip

智能小车最常用的测距避障模块,有C51+1602测距例程,如果需要stm32超声波舵机避障的程序,可以加评论。

2020-05-26

STM32F103C8T6最小核心板程序文档电路图.zip

stm32f103c8t6说明手册,包括例程、芯片手册、电路图。这款stm32性价比高,适合各类stm32相关设计。

2020-05-26

OLED-STM32-SPI和IIC例程资料.zip

OLED 0.96 stm32 SPI和IIC例程资料,还包含了C51、Arduino单片机例程

2020-05-26

myAction.zip

Qt常用的Action图标,便于在Qt程序开发中使用。

2019-08-13

基于QT5的modbus服务器和客户端demo

QT5环境下的Modbus例程,可供工控modbus通信参考。

2019-04-08

正点原子STM32F103+MPU6050实现计步器源码

STM32开发板MPU6050陀螺仪实现计步器功能

2017-06-27

51单片机wifi小车制作资料

史上最全的单片机wifi小车制作资料

2017-03-05

Navicat Premium简体中文版

免费给大家下载,有什么问题尽管留言!

2017-02-19

计算机系统安装与故障维护

2016-12-03

空空如也

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

TA关注的人

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