自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老鱼的故事

嵌入式

  • 博客(49)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 C++-函数指针与指针函数

一、形式:函数指针:int (*f)(int x,int y);指针函数:int *f(int x,int y);二、概念:函数指针本质是一个指针,其指向一个函数。指针函数本质是一个函数,其返回值为指针。三、示例函数指针:#include <stdio.h>#include<stdlib.h> int add(int x, int y){ return x + y;}int sub(int x, int y){ ret

2022-01-29 16:38:12 879 1

原创 stm32f103c8t6最小系统的系统定时器设置

首先,非原创,感谢作者一、简介本文介绍如何使用STM32的系统滴答定时器,以延时1S、10S为例。二、实验平台库版本:STM32F10x_StdPeriph_Lib_V3.5.0编译软件:MDK4.53硬件平台:STM32开发板(主芯片stm32f103c8t6)仿真器:JLINK三、版权声明博主:甜甜的大香瓜声明:喝水不忘挖井人,转载请注明出处。原文地址:http://blog.csdn.NET/feilusia联系方式:897...

2020-09-20 22:21:45 2945

原创 工作笔记-ROM、RAM、DRAM、SRAM和FLASH简介

ROM:半导体存储器, 数据掉电保存,如EEPROM。RAM:半导体存储器,数据掉电丢失,速度比ROM快。 1.SRAM,静态RAM,速度快,如CPU的一级缓冲,二级缓冲。 2.DRAM,动态RAM,速度慢,价格便宜,如计算机内存,SDRAM、DDR RAM;Flash:闪存,电子可擦除可编程,非易失存储器,数据掉电保存,用作存储Boo...

2020-04-26 12:22:39 466

原创 Ubuntu18.04下安装搜狗输入法

https://blog.csdn.net/lupengCSDN/article/details/80279177

2019-09-24 14:09:48 158

原创 找到一个或多个多重定义的符号问题

多个源文件内不能有同名的全局标识所以不能在头文件内定义全局变量和函数,只能定义静态变量和内联函数因为它们不是全局的——除非这个头文件只被一个源文件包含...

2019-09-19 21:06:16 1334

转载 C++友元函数和友元类

在C++中,我们使用类对数据进行了隐藏和封装,类的数据成员一般都定义为私有成员,成员函数一般都定义为公有的,以此提供类与外界的通讯接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全性检查等都需要时间开销),但它破坏了...

2019-09-11 09:59:02 256

转载 指针数组和数组指针

对指针数组和数组指针的概念,相信很多C程序员都会混淆。下面通过两个简单的语句来分析一下二者之间的区别,示例代码如下所示:int *p1[5]; int (*p2)[5];首先,对于语句“int*p1[5]”,因为“[]”的优先级要比“*”要高,所以 p1 先与“[]”结合,构成一个数组的定义,数组名为 p1,而“int*”修饰的是数组的内容,即数组的每个元素。也就是说,该数组包含...

2019-09-05 21:18:04 108

转载 C++ 软件版本号对比

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/hellokandy/article/details/78017827在软件更新时,需要根据版本号来决定是否需要自动更新,所以就涉及到版本号的对比了。下面给出的是使用string的compare函数进行版本号判断的代码:#...

2019-08-29 18:01:25 813

转载 Linux进程间通信——使用共享内存

共享内存允许多个进程共享一个给定的内存空间,进程可以直接读写内存,因此是IPC中速度最快的。 Linux中,内核专门留出了一块内存区作为共享内存区,用于多个进程交换信息。需要通信的进程将共享内存区映射到自己的私有地址空间,从而使读写进程地址空间就相当于读写内存区。使用共享内存的头文件是#include <sys/shm.h> 由于多个进程读写同一块内存区,所以需...

2019-08-26 21:35:10 187

转载 VS常用快捷键

项目相关的快捷键  Ctrl + Shift + B= 生成项目  Ctrl + Alt + L= 显示 Solution Explorer(解决方案资源管理器)  Shift+Alt+ C= 添加新类  Shift+Alt+ A= 添加新项目到项目  编辑相关的键盘快捷键  Ctrl + Enter= 在当前行插入空行  Ctrl + Shift ...

2019-08-26 10:39:24 396

原创 char型字符字符串

一、char型字符字符串字符:char型对应ASCCII码中字符,int对应ASCCII中的十进制 char ch = 97; cout << ch << " " << (int)ch <<endl; //输出a 97 char ch2 = 'a'; ch2+=1; cout << c...

2019-08-22 17:04:18 5566

转载 不同平台下int类型、指针类型的数据大小

不同平台下int类型、指针类型的数据大小对于int类型数据和指针类型数据的大小,是非常基础的问题。在一个具体的平台上,确定他们最好的办法就是使用sizeof(type)对其进行判断,返回当前数据类型的大小。在不同的平台下,int类型和指针类型的数据类型大小时怎样的呢?如果要给出一个统一的答案,自然不可能集齐每个平台,一个个地去试,我们必须从底层进行分析。数据总线和地址总线计算机...

2019-08-21 20:46:49 484

转载 C语言中的字符串

C语言中的字符串简介C风格的字符串其实就是特殊的 char 数组。特殊在于,数组中至少有一个 '\0' (其ASCII码值为0)空字符元素来作为字符串结束的标志。否则,这个数组只能看做是字符数组,而不能看做是字符串。C处理字符串的标准库string.h,以及其他的字符串处理函数,都建立在这种约定上,所以如果不满足这种约定,则它们不能正确工作。例如 "C Language"是一个字符串常量...

2019-08-21 20:23:13 414

转载 C语言指针详解

本文转载www.cnblogs.com/lulipro感谢作者前言这不是我第一次写关于C指针的文章了,只是因为指针对于C来说太重要,而且随着自己编程经历越多,对指针的理解越多,因此有了本文。然而,想要全面理解指针,除了要对C语言有熟练的掌握外,还要有计算机硬件以及操作系统等方方面面的基本知识。所以我想通过一篇文章来尽可能的讲解指针,以对得起这个文章的标题吧。为什么需要指针?指针...

2019-08-21 20:07:32 393

原创 C++ const用法

  C++const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。1.const 修饰成员变量#include<iostream>using namespace std;int main(){ int a1=3; ///non-c...

2019-06-18 10:55:31 130

转载 C++引用

 一、引用简介  引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。  引用的声明方法:类型标识符 &引用名=目标变量名;  【例1】:int a; int &ra=a; //定义引用ra,它是变量a的引用,即别名  说明:  (1)&在此不是求地址运算,而是起标识作用。  (2)类型标识符是指目标变量的类型。  (3)声...

2019-06-18 10:47:33 88

转载 C++ this指针详解

this 是 C++ 中的一个关键字,也是一个 const 指针,它指向当前对象,通过它可以访问当前对象的所有成员。所谓当前对象,是指正在使用的对象。例如对于stu.show();,stu 就是当前对象,this 就指向 stu。下面是使用 this 的一个完整示例:#include <iostream>using namespace std;class Student...

2019-06-18 10:18:34 2004

转载 C++ 重载

C++ 中的函数重载在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。您不能仅通过返回类型的不同来重载函数。下面的实例中,同名函数 print() 被用于输出不同的数据类型:#include <iostream>using namespace std; class printData{ pu...

2019-06-18 09:55:51 289

原创 Enigma Virtual Box打包Qt文件

Enigma Virtual Box下载地址 https://download.csdn.net/download/duidaifen3896/11224861注意一定要打包release下的文件第一步将Qt内的图片、声音等资源文件移动到release文件夹第二步 寻找dll静态链接库1.编写.bat文件,内容为E:\qt\Qt5.7.0\5.7\mingw53_32...

2019-06-04 11:23:42 1440

转载 Ubuntu 14.04 64位系统兼容32位库

ubuntu 14.04 64位系统兼容32位库:打开一个终端第一步:查看自己的系统架构dpkg --print-architecture正常会显示amd64第二步:确认你打开了多架构支持功能(多架构支持可以让你在有64位库的情况下使用32位库。)输入:dpkg --print-foreign-architectures输出是:i386如果你还没有多架构...

2019-05-30 16:21:09 355

转载 Qt无法启动调试自启动/调试按钮显示the .pro file coulde not be parsed

问题描述: 当使用QT5 Creator加载一个项目并且添加新的现有文件后,无法启动调试自启动/调试按钮,程序的程序或者是灰色的,如果移动鼠标上的按钮,工具提示会显示它说:“.pro文件无法解析”。参考文章:https://blog.csdn.net/hello_world_lvlcoder/article/details/64666589问题解决:方法一:打开工...

2019-05-24 11:12:22 2194

原创 Linux常识

一、agt-get命令是一款适用于Unix和Linux系统的应用程序管理器apt-get install packagename 安装一个软件包apt-get upgrade 更新软件包使用apt-get update命令会从/etc/apt/sources.list中下载软件列表,并保存到该目录/var/lib/apt/lists1.下载的软件存放位置...

2019-05-14 19:37:41 402 1

原创 c++指针、二维指针

一.先分清三个概念int *p;int a = 10;p = &a;*p:p的值,取p指向的那个内存里的值,10p:p的指向,p指向的那个内存的地址,a的地址&p:p的地址,取p这个指针本身的地址二.再来看一个例子#include<iostream>using namespace std;int a= 10;int b ...

2019-05-13 18:49:44 3192

原创 数据结构,算法与应用 c++语言描述答案

题1#include <iostream>void swap(int& x, int& y);using namespace std;int main(){ int i ,j; std::cin >> i >> j; swap(i,j); cout<<i<<j<<e...

2019-05-12 21:00:16 5307

原创 c++引用

引用是将参数名与实参代替,是同一个值普通函数调用是将实参的值复制给实参,形参进行计算,然后将计算结果存在一个临时变量中,执行析构函数时将临时变量的值复制到调用函数的环境变量中,临时变量释放。以下是一个数值交换函数的调用:#include <QCoreApplication>#include <iostream>void swap(int& x...

2019-05-12 13:24:53 702

转载 c++虚函数

在面向对象的C++语言中,虚函数(virtualfunction)是一个非常重要的概念。什么是虚函数:  虚函数是指一个类中你希望重载的成员函数 ,当你用一个 基类指针或引用 指向一个继承类对象的时候,调用一个虚函数时, 实际调用的是继承类的版本。  ——摘自MSDN ...

2019-05-09 14:56:01 117

转载 linux 信号列表

信号 取值 默认动作 含义(发出信号的原因)SIGHUP 1 Term 终端的挂断或进程死亡SIGINT 2 Term 来自键盘的中断信号SIGQUIT 3 Core 来自键盘的离开信号SIGILL 4 Core 非...

2019-03-18 21:13:47 130

转载 管道、消息队列、共享内存对比

管道、消息队列、共享内存对比匿名管道:1.优点 不需要加锁2.缺点 默认缓冲区太小,只有4k3.进程父子间通信4.单向通信,半双工,通信时需要关闭不需要的读写5.是一种非永久性的管道通信机构,当它访问的进程全部终止时,它也将随之被撤消命名管道(一个文件)1.优点 不需要加锁2.缺点 默认缓冲区太小,只有4k3.可以多进程通信4.单向通信5...

2019-03-18 20:31:30 1974

转载 Linux文件目录结构详解

 整理自《鸟哥的私房菜》  对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面我们就开始了解一下linux目录结构的相关知识。  当在使用Linux的时候,如果您通过ls –l / 就会发现,在/下包涵很多的目录,比如etc、usr、var、...

2019-02-27 13:56:58 146

原创 基于Qt、opencv的规则工件尺寸识别

第一步:打开摄像头void MainWindow::on_OpenCameraBtn_clicked(){ capture = cvCreateCameraCapture(0);//打开摄像头,从摄像头中获取视频 if(capture==NULL) { qDebug()&lt;&lt;"error!"; } timer-&gt;sta...

2018-10-28 13:35:21 4737 2

原创 STM32F429和F103端口重映射

它自己默认每个管脚有自己的复用功能,但是这个管脚你用了,但你想要用它的其他功能,你就可以将这个功能重映射到其他管脚。使用复用功能是要保持一个功能使能,其他功能非使能状态重映射指的是内部功能转移到别的引脚上去,芯片内部已经固定了只能映射到固定的地方。若使用TIM3重映射到其他引脚上,则先要配置TIM3重映射到该引脚,然后在按该引脚的复用功能配置 F103重映射实例:1.打开重映射时钟和U...

2018-06-11 21:28:14 6700

原创 野火STM32F429设置的时钟频率

一:1.系统时钟    SYSCLK  SYSCLK=PLLCLK=180MHz.2.HCLK    AHB总线时钟    系统时钟SYSCLK经过AHB预分频器分频之后得到的时钟叫APB总线时钟,即HCLK,大部分外设的时钟都是经过HCLK分频得到,我们这里设置1分频HCLK=SYSCLK=180HMz。3.PCLK2    APB2总线时钟    由HCLK经过高速APB2预分频器得到。HCL...

2018-06-10 17:38:32 8555

原创 单片机串口收发字符数据的类型

  今天在用51单片机进行串口收发数据的时候遇到了这样一个问题,上位机给单片机的字符数据是什么类型的,单片机又是怎样存储的?串口中断如下/* UART中断服务函数 */void InterruptUART() interrupt 4{ if (RI) //接收到字节 { RI = 0; //手动清零接收中断标志位 table1[j] = SBUF; //接收到...

2018-06-09 17:50:38 10817 3

转载 p=p->next 表达了什么意思

问题:-&gt;是一个整体,它是用于指向结构体、C++中的class等含有子数据的指针用来取子数据。换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“-&gt;”.举个例子:struct Data{int a,b,c;}; /*定义结构体*/struct Data * p;/*定义结构体指针*/struct Data A =...

2018-04-25 18:12:45 46422 20

转载 c语言中预处理命令

C语言的预处理主要有三个方面的内容: 1.宏定义; 2.文件包含; 3.条件编译。预处理命令以符号“#”开头。宏定义命令:#define、#undef,用来定义和解除宏。(值得注意的是还可以定义带参数的宏)文件包含命令:#include "文件名" 或者 #include &lt;文件名&gt;。使用前者时会优先从当前目录查找头文件,使用后者时优先从默认的系统目录查找。条件编译:#ifdef、#e...

2018-04-25 18:01:07 906

转载 stm32f429之#ifndef的用法

作用:防止头文件的重复包含和编译 定义  #ifndef x  #define x  ...  #endif  这是宏定义的一种,它可以根据是否已经定义了一个变量来进行分支选择,一般用于调试等等.实际上确切的说这应该是预处理功能中三种(宏定义,文件包含和条件编译)中的一种----条件编译。 C语言在对程序进行编译时,会先根据预处理命令进行“预处理”。C语言编译系统包括预处理,编译和链接等部分。  ...

2018-04-25 17:57:53 1221

转载 嵌入式Linux根文件系统制作和挂载

嵌入式Linux系统由三部分组成: uboot、kernel、根文件系统, 还是这张老图这里的根文件系统可以说是包含两个部分: 一个是根,一个是文件系统那么什么是根呢?哈哈 其实根表示的就是第一个的意思下面贴张图看看整个根文件系统制作的步骤:第一步创建目录,这里是在我自己的一个目录下建立一个名为rootfs的目录:第二步 :创建设备文件(比如操作串口,其实就是打开一个串口文件,向里面写入读出等)这...

2018-04-14 12:43:29 489

原创 itop4412之tf卡烧写Ubuntu系统

显示写入速度不够 5MB/秒,不能用于烧写 Ubuntu。(by上帝之右手)下面的烧写方式仅仅适用于烧写 Ubuntu 系统。 1)给 TF 卡分区格式化。进入uboot模式,输入命令如下fdisk -c 1 2700 50 50 fatformat mmc 1:1 ext3format mmc 1:2 ext3format mmc 1:3 ext3format mmc 1:4 2)将 TF 接入...

2018-03-24 14:20:27 1784

原创 itop4412之tf卡拷贝文件到开发板

如果文件系统第一次启动的时候没有/mnt/udisk 目录,所以需要使用命令“mkdir /mnt/udisk”新建。使用命令“mount /dev/sda1 /mnt/udisk”加载 u 盘 “chmod 777 /mnt/udisk/helloworld”修改权限。“./mnt/udisk/helloworld”运行 helloworld 程序 也可以将程序拷贝到 bin 目录下,在 lin...

2018-03-24 13:57:37 494

原创 itop4412之OTG烧写系统

进入uboot模式,开发板分区格式化fdisk -c 0fatformat mmc 0:1ext3format mmc 0:2ext3format mmc 0:3ext3format mmc 0:4进入fastboot模式,在doc窗口下进行烧写fastboot.exe flash bootloader u-boot-iTOP-4412.bin   //uboot文件,通用,可不用烧写fastbo...

2018-03-24 13:47:20 990

2-新路由器.xlsx

2-新路由器.xlsx

2023-06-12

enigma virtual box.rar

用于Qt的打包软件,将Qt打包成一个.exe文件进行发布,独立运行于其他电脑上

2019-06-04

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

TA关注的人

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