自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(168)
  • 资源 (1)
  • 收藏
  • 关注

原创 ubuntu 16.04 安装openjdk1.7

编译安卓5.0源码需要openjdk1.7版本,ubuntu 16.04自带的openjdk为1.8或1.9说到安装,第一反应就是sudo apt-getinstallopenjdk-7-jdk那么恭喜你,喜提报错一个如何解决?娓娓道来sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-7-jdk 选择正确版本su...

2020-12-10 11:16:30 553 1

原创 有坑踩一踩 一 除数为0

今天分享一下一个C++程序的坑在填坑之前,大家先比对一下下面三个程序的内容和输出:相信大家从小学开始,老师就教我们,0是不可以作为除数的,那么上面的程序,第一个和第三个为什么可以正常运行,还能输出结果呢?在这里,可能需要涉及到一个小小的知识点,就是double类型或者float类型的0,在内存中的存储,其实并不是真正的0,而已一个极其小的数,所以,当一个整数除以一个极其小的数时,得到的结果就是一个极大数。...

2020-09-30 15:10:41 321

原创 TCP/IP socket通信简单案例

server.cpp#include <iostream>#include <sys/types.h> /* See NOTES */#include <sys/socket.h>#include <string.h>#include <arpa/inet.h>#include <netinet/in.h>#include <unistd.h>using namespace std;

2020-09-06 17:39:54 371

原创 QT-按下按钮实现页面跳转

情景导入 当我们在做应用时,一般都会遇到需要跳转页面的情况,按下一个按钮,跳转到对应的功能界面 ;或者需要进行角色选择,选择不同的角色,进入不同的界面。今天就用QT简单实现一下上述内容内容描述(1)设计三个界面:主界面、用户界面、管理员界面(2)主界面描述:一个下拉框,实现角色的选择,一个登录按钮,点击后跳转到对应的界面(3)管理员界面:一个返回按钮,点击后返回主界面(4)用户界面 :一个返回按钮,点击后返回主界面效果图(1)主界面(2)选择角色 ...

2020-09-04 11:54:12 9947

原创 QT学习 http ----获取天气Json信息并解析以及下载文件并保存

1

2020-08-27 18:00:58 921 1

原创 QT学习 实时显示时间

今天完成一个实时显示时间的小demo先上DJ先上DJ先看一下效果以两种形式显示当前具体时间先附上代码,再总结一下核心代码(1) myweather.ui文件创建一个Label,ObjectName值为text;创建一个LCD Number,ObjectName为lcd。分别用于两种形式的显示 (2) myweather.h文件#ifndef MYWEATHER_H#define MYWEATHER_H#include <QMai...

2020-08-26 17:15:28 8945 1

原创 QT 信号和槽 简单实例

QT中使用信号和槽的机制完成对象之间的协同操作。信号可以理解某一动作或者时间的发生(触发),槽的话,也可以理解为另一个动作,原则上这两者都是函数举个例子:门铃响了(发射信号),去开门(执行槽)水开了(发射信号),关掉火(执行槽)我们通过一个简单的实例,来进行理解。首先自定义一个槽,完成某个动作(槽一般使用slots关键字进行修饰);设置一个按钮,将按钮按下作为信号。接下来,我们看一下具体代码先创建一个工程,各代码如下main.cpp#include "widget.

2020-08-25 16:12:08 1850

原创 OpenCV学习--读取视频帧并保存

#include <opencv2/opencv.hpp>#include <stdio.h>#include<iostream>#include <string> using namespace std;using namespace cv;int main(){ VideoCapture cap(0); VideoWriter wri; //将从设备或文件获得的帧写入指定的视频文件中 string .

2020-08-21 11:44:55 1043

原创 OpenCV学习--读取视频,保存为灰度视频

先上DJ 先上DJ先上代码#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;int main(int, char **){ Mat in_frame, out_frame; const char win1[]="Grabbing...", win2[]="Recording..."; double fps=30;//每秒的帧数 ..

2020-08-20 17:39:48 2012

原创 Linux下统计程序、函数、代码运行时间

这阵子在做项目,需要从内核态获取数据,但是感觉读取的很慢,所以就想看看进行一次系统调用需要多少时间这时候需要输出一下程序的运行时间或者某一行代码的具体运行时间,看下是不是在系统调用上花了很多时间1. 统计整个程序的运行时间,可以用time命令#time ./testreal 0m2.913suser 0m0.012ssys 0m0.508s使用time命令,后面接可执行程序,便会显示所需时间2.使用clock()进行统计#include<s.

2020-08-06 15:32:28 2440

原创 OpenCV入门之读取和写入图像文件

本文通过http://c.biancheng.net/view/1790.html学习,总结并修改了一部分bugOpenCV 基本 API 概念Mat 类是存储和操作 OpenCV 中图像的主要数据结构。这个类是在 core 模块中定义的。OpenCV 已经实现了对于这些数据结构自动分配和释放内存的机制。但是,当数据结构共享相同的缓冲存储器时,程序员仍然应该特别注意。例如,赋值运算符并没有从一个对象(Mat A)到另一个对象(Mat B)复制内存内容;而只是对其引用(相应内容的存储地址)的复制..

2020-07-31 16:29:51 639

原创 C语言制作编译动态链接库

最近做项目的时候,需要跟人工智能组对接应用接口,要把写好的C函数给Python代码调用,所以打算把写好的代码制作成动态库,给他们直接import,随手记录一点相关知识1.概念程序的函数库一般就是:静态函数库、共享函数库以及动态加载函数库函数库一般来说编译集成了一系列我们要使用的接口(函数),程序源代码编译完成之后有一个链接环节,会通过链接器与使用到的函数库进行链接。静态函数库的话,事实上就是在程序在链接时整个库会一起编译进目标文件中,而动态函数库则不会,只是编译进去一个链接(符号),这种有点

2020-07-29 15:02:54 1204

原创 VCC、VDD、VSS的区别

1.VCC:C即为circuit, 表示电路, 即接入电路的电压;2.VDD:D即为device ,表示器件的意思, 即器件内部的工作电压;3.VSS:S即为series, 表示公共连接的意思,通常指电路公共接地端电压。一般VCC > VDD,VSS=GND一般来说VCC=模拟电源,VDD=数字电源,VSS=数字地,...

2020-06-29 15:34:57 7769

原创 Python-批量修改文件名

1.新建一个文本文档,重命名为***.py,用编辑软件打开2.输入如下代码import osimport reimport syspath = r"C:\Users\admin\Desktop\helo" #这里的引号里面放你要修改的文件所在的目录的绝对路径 fileList = os.listdir(path) # 待修改文件夹os.chdir(path) # 将当前工作目录修改为待修改文件夹的位置num = 1 # 名称变量for fileName in file

2020-06-18 16:47:33 495

原创 Python加载图片并显示

最近需要涉及python的项目,所以今天就下了一下python的相关环境1.python(也可以不装这个,因为我自己用的是Anaconda,集成了更多的库)https://www.python.org/downloads/release/python-383/本人下载的3.8.3版本,觉得下载执行安装包会更方便,可以直接在安装的过程中选择添加PATH变量(少做一点工作)2.Pycharm安装后需要破解3.Anacondahttp://www.2234.cn/soft/2715

2020-06-15 15:04:19 4304

原创 Proteus - 51最小系统 - 流水灯实验

现在开始学习单片机的仿真了,一般用的都是Proteus软件第一次使用,先画了一个单片机最小系统练练手,加上流水灯代码,做一个简单的实验,在此把流程做一个简单的介绍1.建立工程之后,选择相应的设备,所需要的设备如图所示,大家自行添加 2.画图,自己画的原理图如下,模块之间的连线采用线标模式3.把代码烧录,并仿真双击芯片,选择对应的 .hex文件4.效果5.代码附录#include "reg52.h"sbit led0 = P2^0;...

2020-05-20 17:52:39 1544

原创 STM32F103 之TFT显示屏动态显示数据

之前有个朋友问过,stm32在使用TFT显示屏的时候,知道如何显示一个数据,但是类似传感器这种数据的显示,是需要实时显示的,但是不知道如何刷新,他一开始使用的是clear()清屏函数,确实有点暴力,但是效果不咋地,而且网上查了一下也似乎没有很好的解答。于是我自己去试了一下,其实我之前也不怎么用显示屏的,所以具体其他方法我也没有深入研究,不过通过查看了显示屏的一些封装函数,想到了一种解决方案,就是在显示时使用叠加模式,显示数据之后,加一个延时,画上一个遮挡区域,再显示下一个数据,这样就可以实现显示屏上显示

2020-05-20 16:09:43 9046 6

原创 Kconfig 学习

结合RT-Thread的qemu-vexpress-a9讲讲Kconfig文件和Kconfig语法1.简介RT-Thread 借助 Kconfig 文件生成的配置文件 rtconfig.h 来配置系统,Kconfig 文件是各种配置界面的源文件。当在 bsp 目录下使用 env 工具执行 menuconfig 命令时会出现 RT-Thread 系统的配置界面,所有配置工具都是通过读取当前 ...

2020-04-03 16:04:01 511

原创 STM32F103C8T6 串口发送字符串

不同开发板的封装可能不同,所以涉及到引脚号的配置,大家应该自行根据芯片资料去设置1.创建一个新工程2.导入对应的包main.c源代码如下:都是比较基础的,关键在USART_GetFlagStatus()函数的使用(大家根据代码做修改,代码已经经过测试的)#include "stm32f10x.h"#include "stm32f10x_usart.h" #de...

2020-03-27 16:04:09 3406 2

原创 stm32F407 连接 对射式红外对管 样例

本次样例,是利用 Led 灯来作为红外对管的显示,串口打印作为协助stm32F407开发板上有两个led灯,DS0和DS1所以需要编写的代码涉及:led.h、led.c、hong.c、hong.h、main.c (串口代码已集成) 直接上代码:led.h#ifndef __LED_H#define __LED_Hvoid LED_Init(...

2020-03-13 22:20:08 2595 9

原创 Mixly二次开发【 模块封装-第三方库引用】

1.简介Mixly主要是用于少儿编程或者一些不懂C语言语法但是想进行Arduino开发的初学者,通过拖拉拽的方式实现程序的编写程序的初始化、执行部分都有对应的图形模块,将图形模块进行拼堆,完成一整个程序代码,图形化模块最终可以直接翻译成C语言,烧写入Arduino等MCU实际上就是设计好对应的图形模块样式,再将模块与C代码进行对应。2.Mixly目录组成以上两张图是Mi...

2020-03-08 23:17:14 3308 2

原创 Stm32学习之看门狗

看门狗:本质上可以看成是一个定时器电路,一般就是分为输入和输出两部分,输入我们俗称“喂狗”,输出可以直接理解为复位,或者大家熟悉的重启。使用看门狗时,当MCU正常工作时,我们就会定期喂狗,如果超过预先设置好的时间没有喂狗,看门狗电路没有及时清零,就会跳转到我们所谓的输出部分,也就是回馈一个复位信号给MCU,复位MCU。主要是用于防止程序跑飞,或者MCU死机。(重启大法好)基本工作原理:...

2020-03-07 22:42:40 486

原创 使用信号实现异步通知

#include<sys/types.h>#include<sys/stat.h>#include<stdio.h>#include<fcntl.h>#include<signal.h>#include<unistd.h>#define MAX_LEN 100void input_handler(int num...

2020-02-07 23:08:44 207

原创 ROS入门之 消息通信

节点之间的消息通信主要有三种:topic(话题):异步,单向,发布/订阅service(服务):同步,双向,请求/响应action(动作):异步,双向,目标/结果/反馈1.话题话题消息通信就是指发送消息的发布者和接受信息的订阅者以话题消息的形式发送和接收信息。利用topic可以实现 1对1 、1对多、多对1 以及多对多的通信。topic通信 实例:建立一个发...

2019-12-24 18:16:07 274

原创 ROS入门 之 基本命令

roscoreroscore 是运行ROS 主节点的命令,也可以在另一台位于同一个网络内的计算机上运行。注意:除了支持多roscore的某些特殊情况,roscore 在一个网络中只能运行一个。运行ROS时,将使用在 ROS_MASTER_URI 变量中列出的URI (统一资源标识符)地址和端口。如果用户没有设置,将使用当前的本机IP地址作为URI地址并使用端口11311。rosr...

2019-12-23 18:42:58 848

原创 ROS 创建工作空间和功能包

简单记录一些ROS下创建工作空间的具体步骤和操作命令工作空间就是一个存放工程开发相关文件的文件夹:src :代码空间 build :编译空间 devel :开发空间 install :安装空间创建工作空间://指令mkdir -p ~/workspace_name/srccd ~/workspace_name/srccatkin_init_workspace ...

2019-12-12 12:17:57 237

原创 ROS入门

本文一些内容是从哔哩哔哩视频网站的古月老师的ROS课程学习整理的,附上相关网址:https://www.bilibili.com/video/av59458869?p=71.ROS简介(1)定义ROS是一个开放源代码的机器人元操作系统。它提供了 我们对操作系统期望的服务,包括硬件抽象、低级设备控制、常用功能的实现、进程之间 的消息传递以及功能包管理。它还提供了用于在多台计算机之间获...

2019-12-04 20:19:11 578

原创 Lua学习

1.简介Lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放。2.设计目的为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能3.特性(1)轻量级:编译后仅仅100多k,可以很方便的嵌入其他程序中;(2)可扩展:Lua提供了非常易于使用的扩展接口和机制:由宿主语言(C/C++)提供这些功能,Lua可以使用他们,就像是本来就内置的功能一样;(3)其他:...

2019-11-20 10:13:00 120

原创 嵌入式软件工程师求职需要的基本技能

总结一下 嵌入式软件工程师一般需要会的技能,也可以为自己接下来的学习做一个规划:1.C、C++编程基础扎实;2.熟悉ARM体系结构、熟悉Linux操作系统;3.熟悉多线程编程,进程间通讯,线程同步4.网络编程(TCP/IP、UDP、socket编程);5.熟悉单片机开发6.熟悉无线通讯:Zigbee、BLE、WIFI、LoRa、NB-IoT7.硬件接口驱动:UART、...

2019-11-13 16:28:01 4101

原创 二叉树的遍历

二叉树的遍历有四种方法:1.前序遍历:先根节点,接着左节点,最后右节点2.中序遍历:先左节点,接着根节点,最后右节点3.后序遍历:先左节点,接着右节点,最后根节点4.层序遍历:逐层遍历...

2019-10-22 15:37:15 131

原创 波特率和比特率

比特率:指1秒内传输的二进制位数,也即是是单位时间内传输了多少位(比特),单位是bit/s1 bit/s就是1s传输一位二进制数波特率:即调制速率,指的是有效数据信号调制载波的速率,即单位时间内载波调制状态变化的次数它是对符号传输速率的一种度量,1波特即指每秒传输1个符号,而通过不同的调制方式,可以在一个码元符号上负载多个bit位信息它用单位时间内载波调制状态改变次数来表示,其单...

2019-10-15 10:55:36 798

原创 struct 内存对齐

struct 是一种复合数据类型,其构成元素既可以是基本数据类型(如 int、long、float 等)的变量,也可以是 一些复合数据类型(如 array、struct、union 等)的数据单元。对于结构体,编译器会自动进行成员变量的对齐, 以提高运算效率。缺省情况下,编译器为结构体的每个成员按其自然对界(natural alignment)条件分配空间。各 个成员按照它们被声明的顺...

2019-10-08 15:48:20 220

原创 C语言的union

struct与union的主要区别:struct :当一个数据包需要包含多种不同数据类型的数据时,可以用struct定义一个数据类型,为每个字段在不同的偏移处分配存储空间,遵循内存对齐。union:可定义多个数据类型,但是将所有字段重叠在内存的相同偏移处,也就是各字段共享一块内存,每次只是访问一个字段(可用于将一个数据类型强制转换成另一个类型)union具体认识:1、union中...

2019-10-08 15:01:47 274

原创 回调函数

最近在看LWIP,看到了回调函数,似乎没有系统的了解过回调函数,今天就简单学习总结一下1.含义先了解一下什么是回调函数,看一下百科的回答回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或...

2019-09-29 12:58:26 169

原创 英语六级翻译练习-茶叶

翻译原文:现在,世界上大约有超过40个国家种植茶叶,而亚洲国家的产茶量占到了全球的90%。其他国家的茶树都直接或者间接地源自中国。许多国家用于指茶叶或者茶水的词都是汉字“茶”的衍生物(derivatives)。要想泡一壶好茶,必须要特别注意水的质量、水的温度、茶叶的用量以及茶壶的类型。喝茶的习惯是公元六世纪传到日本的,但直到17到18世纪才传到欧、美。现在,世界上喝茶的人数众多,并且仍在增加。...

2019-09-23 14:46:50 827

原创 数字信号和模拟信号

1.定义(1)数字信号:是指幅度的取值是离散的,幅值表示被限制在有限个数值之内。例如二进制码就是一种数字信号(二进制码受噪声的影响小,易于由数字电路进行处理)(2)模拟信号(analog signal):是指在时域上数学形式为连续函数的信号,可以取得连续值2.联系 模拟信号与数字信号的联系在于它们都是用来传递信息的,而且在一定条件下,模拟信号可以转换为数字信号传输。...

2019-09-20 17:43:55 4479

原创 迷宫问题【深搜学习】

输入:第一行有两个数m,n,m代表迷宫的行,n代表迷宫的列。接下来的n行m列为迷宫,0表示空地,1表示障碍物,最后一行4个数,前两个是迷宫入口的坐标,后两个是目的地的坐标eg:input:5 40 0 1 00 0 0 00 0 1 00 1 0 00 0 0 11 1 4 3output:7#include<iostream&...

2019-09-20 15:45:09 1124

原创 奥数加法

算法从9个数中取出3个3位数其中两个3位数相加等于另一个3位数其中每位数字不能重复,即__ __ __ + __ __ __ = __ __ __/*1.利用深搜思想2.将9个位置看成9个盒子,分别放入不重复的数字,进而遍历所有可能性*/#include<iostream>using namespace std;int book[10] = {0};i...

2019-09-19 11:56:48 207

原创 加法等式【牛客网】【c++】

题目描述设a、b、c 均是0 到9 之间的数字,abc、bcc 是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c 的值。输入描述:无。输出描述:每行输出3个数,分别表示abc的值,用一个空格隔开。/*1.本题可以利用深搜思想2.把a、b、c看成三个盒子,每次放进一个数字,三个盒子数字不能重复*/#include<iostream&...

2019-09-19 11:31:46 257

原创 SPI学习

1.简介SPI (SerialPeripheralinterface),串行外围设备接口;主要应用在EEPROM,Flash,实时时钟(RTC),AD转换器,数字信号处理器和数字信号解码器。是一种高速的,全双工的同步通信总线,芯片引脚只占4根线,节约了引脚资源。2.特点2.1采用主-从模式的控制方式两个 SPI 设备之间通信必须由主设备 (Master) 来控制从设备 (S...

2019-09-18 21:00:53 389

微机课程设计-抢答计时器

微型计算机技术的课程设计,抢答计时器,设计一个用于智力竞赛的抢答计时器。 按下启动钮,2个七段码倒计时开始,同时开始抢答 参赛双方分别按不同的抢答按钮参与抢答。一旦其中一位按下按钮,相应的显示灯亮,并记录抢答时间。此时若其它按钮按下均无效。 若一直到计数到零,无一人按下按钮,相应LED灯亮,抢答结束。

2019-02-15

空空如也

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

TA关注的人

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