自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Qt学习:QtCharts绘制动态曲线,实时更新数据与坐标轴

1.首先是掌握qtchart的基本使用,封装一个属于自己的绘图类:Mychart.h#pragma once#ifndef CHART_H#define CHART_H#include <QtCharts/QChart> #include<QtCharts\QChartView> //两个基本模块#include<QPointF> ...

2018-10-10 12:30:37 38603 16

原创 Qt学习:QtCharts的MSVC2017编译(vs2017+Qt5.9.2)

问题由来:QtCharts是Qt新增的强大图表控件,在Qt5.7之后可作为模块在Qt安装时统一安装。如果在安装时未选择该模块,后期项目中又需要,可以下载该模块源码包来使用msvc编译安装。...

2018-10-10 11:38:09 2163

原创 Qt学习:Qt5.9.2+vs2017移植usb第三方库

第三方库Hidapi用于实现usb通信,将它移植成功以用来实现qt做一个usb通信的上位机。首先是下载hidapi-0.7.0源码:http://www.signal11.us/oss/hidapi/源码文件夹截图如下:打开window下文件夹。这里由于源码所带的vs工程是基于32系统的,所以我们不能直接编译该工程 ,而且会报错。此时,通过vs2017新建一个空项目,仿照源码中的工程 ...

2018-10-10 10:53:33 2884 9

原创 程序基础:正则表达式

正则表达式及其应用

2022-12-21 00:39:54 740 1

原创 Linux: grep命令及用法说明

grep 基本用法, 及 与正则表达式 sed 的搭配使用

2022-12-20 23:25:01 709

原创 c/c++:内存操作函数 malloc/free/memcpy/memmove/memset

C语言内存操作函数及其原型

2022-12-19 22:33:04 675

原创 嵌入式程序load及加载

程序load及加载

2022-10-03 22:09:43 415

原创 VIM使用——通过cscope打造编译器

VIM 的cscope操作

2022-06-20 00:04:47 654

原创 c++内存管理

c++内存管理

2022-06-05 22:28:52 162

原创 VIM使用总结

VIM使用总结

2022-05-30 00:32:16 416

原创 计算机网络-IP和子网掩码及网络划分

1. IP地址2.子网掩码及网络划分

2022-02-26 22:20:49 3687 2

原创 计算机网络-网络分层模型及基本网络协议

1. 网络分层模型1.1 分层模型图示1.2 七层模型及各层含义1 物理层(Physical Layer)激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器。2 数据链路层(Data Link Layer)数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数

2022-02-13 18:25:48 3661

原创 计算机网络-TCP/UDP原理

1. TCP 通信原理TCP 把连接作为最基本的对象,每一条 TCP 连接都有两个端点,这种端点我们叫作套接字(socket),它的定义为端口号拼接到 IP 地址即构成了套接字,例如,若 IP 地址为 192.3.4.16 而端口号为 80,那么得到的套接字为192.3.4.16:80。IP 协议虽然能把数据报文送到目的主机,但是并没有交付给主机的具体应用进程。而端到端的通信才是应用进程之间的通信TCP 报文是 TCP 层传输的数据单元,也叫报文段。 TCP 报文的格式如下图所示6 个标志位:URG

2022-02-13 17:41:31 2004

原创 详说Git

对git的基本操作做了总结与图示说明

2022-01-16 11:52:10 888 2

原创 设计模式——行为型模式

前言:本文为学习《大话设计模式》的总结。其它参考链接有:https://design-patterns.readthedocs.io/zh_CN/latest/behavioral_patterns/behavioral.html总结:行为型模式共11种,策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式一、命令模式在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只

2021-01-11 22:37:34 215

原创 设计模式——结构型模式

前言:本文为学习《大话数据结构》过程的总结, 同时也参考了如下内容:https://design-patterns.readthedocs.io/zh_CN/latest/structural_patterns/structural.html总结:结构型模式,共七种,适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式一、适配器模式将一个类的接口换成客户希望的另一个接口。 使得原本接口

2021-01-11 22:24:26 181

原创 GNU的编译工具链

本书为韦东山老师《嵌入式Linux应用开发》中交叉工具篇章的总结1.编译工具链PC端:GCC ld objcopy objdump交叉编译工具链: arm-linux-gcc arm-linux-ld arm-linux-objcopy arm-linux-objdump2.编译流程预处理: #开头的都是预处理命令,只做简单的转换。 由源文件到 .i 文件 (所用工具:cpp / arm-linux-cpp)编译:进行语法检查, 将 .i 文件编译为 汇编代码 (

2021-01-01 22:25:41 648 1

原创 设计模式——创建型模式

《大话设计模式》总结其它参考链接:https://design-patterns.readthedocs.io/zh_CN/latest/creational_patterns/creational.html五种创建型模式: 工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式编外:(1)简单工厂模式, 工厂类中包含了必要的逻辑判断,根据客户端的条件动态 实例化相关的类。对于客户端来说,去除了与具体产品的依赖。(2)所有在用简单工厂的地方,可以考虑用反射技术来去除switch 或if ,解除

2020-12-27 22:39:52 197

原创 设计模式——设计原则

前言:本文系学习《大话设计模式》过程的知识总结总结:单一职责原则、开放——封闭原则、依赖——倒转原则、里氏代换原则、迪米特法则一、基本思想(也即开放——封闭原则的简单体现)避免重复: 例如实现一个计算器,要做的是将计算和显示分开。 这样计算的代码可以在多处复用。计算器中如何体现继承,多态呢?考虑扩展性, 如果要在加减乘除的基础上添加开根号等运算, 如果不通过抽象, 那么需要知道这个计算类的全部细节才能完成编译 。抽象的第一级别 : 定义一个抽象运算类和多个具体的运算类,再通过简单工厂实现调用

2020-12-18 09:08:06 113

原创 TM4C123-Bootloader_CAN/UART

引言:本文主要是自己在开发移植CAN flash-based bootloader过程的学习总结。 会对bootloader 的结构和使用进行一定的说明与解释,也会记录自己应用过程中的疑惑点及解决。1.bootloader概述TI 的TM4C123系统芯片采用的是arm -cotex M4架构,它有两类bootloader,一类是ROM -based bootloader ,另一类是Flash -based bootloader .ROM -based bootloader这个boot loa

2020-12-02 20:36:33 1130

原创 解读操作系统内存管理(上)——硬件机制

操作系统的内存管理(上)——硬件机制引言:本系列内存管理文章以80X86架构为基础,介绍操作系统的内存管理机制。 上篇从硬件寄存器和段页机制着手,介绍内存管理的硬件基础。 中篇主要是虚拟内存的实现及内存管理的保护机制,下篇为常见的内存管理算法。一、与内存管理相关的寄存器我们先从相关的硬件寄存器着手,对硬件机制有一个大概认识,以有助于理解后续段页机制的实现。1.通用寄存器——在汇编指令中存放源或目的操作数64位32位16位8位%rax%eax%ax%al%rbx

2020-11-29 18:45:24 881

原创 求职历程

前言:个人求职有大部分的时间花在了城市与企业性质的纠结上。首先是个人打算,因研究生课题偏嵌入式相关,所以给自己定下的目标是找嵌入式相关的工作,而弱化了互联网求职的刷题关和计算机基础关。 而在求职过程中,在这之间也有过反复横跳的过程,但准备工作毕竟是差下了。关于求职,主要有以下三点抉择:一、工作性质:研究所or私企因学校为军工背景,身边的80%~90%都想奔着研究所去,图一个北京户口,或是个人的理想与追求。我从入学以来也想着去一个航天系统研究所,解决一个北京户口,在研究所那样的体制与氛围中继续成长

2020-11-04 16:49:12 341 3

原创 操作系统-5-内核级线程

本系列博客为观看哈工大李治军老师的操作系统视频而做的整理总结。本文为第五篇,主要是内核级线程一、内核级线程的引入多线程才能发挥多核的优势。 因为共用了一套资源。多进程不能发挥优势。核心是实现两套栈 (用户栈+内核栈)带着中断才能进入内核 int 0x80EFLAGS 中断返回标志304 是IP 地址, 即中断后的返回地址。cs是段基址。 此处为10...

2020-02-26 17:57:52 628

原创 操作系统-用户级线程

本系列博客为观看哈工大李治军老师的操作系统视频而做的整理总结。本文为第四篇,主要是用户级线程,是用户程序,区别于内核级线程关键词索引:线程 , Yield() , TCB一、为什么引入线程(Thread)指令切换: 线程 。 不切换映射表映射表等资源切换,涉及到内存二、线程的实用性create 是制造出第一次切换时应该有的样子核心是Yield, 用来完成切换...

2020-02-25 18:40:16 397

原创 操作系统-CPU管理(多进程图像)

本系列博客为观看哈工大李治军老师的操作系统视频而做的整理总结。本文为第三篇,主要CPU管理关键词索引:并发(执行多道程序)、进程、多进程图像、PCB(Process Control Block)、进程状态图、调度(getNext() )、 进程同步见后续系列文章一、直观设想程序载入内存,设好PC指针初值后,CPU从该指针指向的内存地越取指执行,然后PC指针自动增加,自动执行指...

2020-02-25 18:08:01 562

原创 操作系统接口

本系列博客为观看哈工大李治军老师的操作系统视频而做的整理总结。本文为第二篇,主要是操作系统接口使用计算机的三种方式:命令行图形界面应用程序shell 也是一段程序 /bin/sh 系统启动的最后执行这个脚本,启动shell...

2020-02-24 23:57:41 829

原创 操作系统-操作系统概念及启动代码

本系列博客为观看哈工大李治军老师的操作系统视频而做的整理总结。本文为第一篇,主要是概念认知及阅读启动代码,了解操作系统的启动过程一、操作系统是什么?如图所示,操作系统就是界于应用和硬件之间,方便 我们使用硬件(如显存)的一层软件。它管理哪些硬件?我们重点关注它的 CPU管理、内存管理、终端管理、磁盘管理、文件管理学习操作系统的三个层次:应用软件调用操作系统接口应用软件进入操...

2020-02-24 21:33:27 839

原创 TM4C123-Peripheral Driver Library

本文主要是对TI的TivaWare™ Peripheral Driver Library USER’S GUIDE(spmu298d.pdf)文件的阅读摘录,是外设库的简介及对寄存器、库函数两种编程方式的认识。本文重点是对支持寄存器访问方式的头文件中寄存器命名方式的理解。一、外设库的简介该库是一个访问外设的驱动集。While they are not drivers in the pure...

2020-02-24 15:17:29 619

原创 TM4C123-使用ROM中的函数库

一、前言Many Tiva devices have portions of the peripheral driver library stored in an on-chip ROM. By using the code in the on-chip ROM, more flash is available for use by the application. The boot loade...

2020-02-23 22:43:59 1235

原创 TM4C123-HWREG()及外设寄存器地址说明

参考文件:ti\TivaWare_C_Series-2.1.4.178\inc\hw_types.hti\TivaWare_C_Series-2.1.4.178\inc\tm4c123gh6pz.htm4c123gh6pz datasheetTIVA程序的编写中常看到这样的操作,比如HWREG((UART0_BASE+UART_O_CTL)或者HWREG(0x12345678)这样...

2020-02-23 17:51:42 3503 2

原创 TM4C123-TivaWare中函数名与函数指针在ROM中的映射

一、认识函数指针如果在程序中定义了一个函数,那么在编译时系统就会为这个函数代码分配一段存储空间,这段存储空间的首地址称为这个函数的地址。而且函数名表示的就是这个地址函数指针的定义方式为:函数返回值类型 (* 指针变量名) (函数参数列表);函数指针的定义就是将“函数声明”中的“函数名”改成“(*指针变量名)”两端的括号不能省略,括号改变运算符的优先级,省略括号*将与前面的返回值类型结...

2020-02-23 13:42:34 749

原创 TM4C123-JTAG

本文摘录于TI官方手册SPMA075,主要内容是对JTAG的认识及硬件设计。一、JTAG的基本认识JTAG接口主要是四个引脚TMS 、TDI 、TDO、TCKAt power on, the TAP state machine (see Figure 1) is initialized to be in Test Logic Reset state. It moves from on...

2020-02-22 18:46:52 2944

原创 编程小问题:编译器使用及编译常见错误

1.为什么将头文件复制到当前项目目录,仍然提示:fatal error C1083: 无法打开包括文件: “dbg.h”: No such file or directory原因:使用了 #include <dbg.h><> 用于使用外部链接库,需要添加链接库目录“” 用于使用当前工程中自定义的头文件所以应修改为: #include"dbg.h"2.vs 中...

2019-12-23 21:02:31 475

原创 C++:lambda/函数对象/函数指针(函数名)

STL算法中通常会传入一个谓词来实现自定义的排序,查找数值等行为。lambda/函数对象/函数指针(函数名)均可以在这个情境中传递信息。在这种情境下对比一下三者的使用:1.传入函数指针(函数名)例如,count_if ()函数的第三个参数是一个一元谓词。若判数一个数能否被3整除,则定义函数:bool f3(int x) { return x%3==0;}使用:int count3 ...

2019-12-05 09:43:41 2093

原创 数据结构:双向链表的c语言实现

dlinklist.h#ifndef _DLINKLIST_H_#define _DLINKLIST_H_#include<stdio.h>typedef void DLinkList;typedef struct _tag_DLinkListNode{ struct _tag_DLinkListNode* next; struct _tag_DLinkList...

2019-10-09 22:37:55 151

原创 数据结构:循环链表的c语言实现

circlelist .h#ifndef _MYCIRCLELIST_H_#define _MYCIRCLELIST_H_#include<stdio.h>#include<stdlib.h>#include<string.h>typedef void CircleList;typedef struct _tag_CircleListNode...

2019-10-09 22:23:49 156

原创 C++:动态库生成与测试

一、动态库生成1.新建项目(1)使用vs建立动态库项目时要选择windows桌面开发向导,选动态库,空项目(2)要在函数前加导出函数的宏定义__declspec(dllexport)实例一:每个函数定义前都加该宏定义__declspec(dllexport)int cltSocketInit(void **handle){}实例二:建成头文件,加在函数声明前__declspec...

2019-10-09 21:21:28 386

原创 Socket:入门程序

server.cpp#define _WINSOCK_DEPRECATED_NO_WARNINGS#include<stdio.h>#include<WinSock2.h>#pragma comment (lib,"ws2_32.lib")int main(){ //初始化 DLL WSADATA wasData; WSAStartup(MAKEWORD...

2019-10-09 20:30:59 152

原创 LeetCode:三数之和/最接近的三数之和

题目:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]思路:这道题用暴力法三层嵌套...

2019-10-05 09:32:22 147

原创 LeetCode:罗马数字转整数

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12...

2019-10-02 20:56:04 103

tm4c123gh6pz整理.pdf

思维导图方式整理了tm4c123gh6pz的数据手册,可以快速对tm4c123的使用,编程及寄存器地址等有直观了解。

2020-03-14

空空如也

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

TA关注的人

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