自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 ROS2学习笔记三:话题Topic

ROS2中的一个重要概念是话题(Topic)。话题是一种通过发布者和订阅者之间进行异步通信的机制。发布者(Publisher)将消息发布到特定的话题上,而订阅者(Subscriber)则可以选择订阅感兴趣的话题,并接收发布者发送的消息。话题可以用来传递各种类型的消息,例如传感器数据、机器人状态、控制指令等。每个话题有一个唯一的名称,并且可以有多个发布者和订阅者。ROS2提供了一套API来操作话题。开发者可以使用语言(如C++和Python)来编写发布者和订阅者节点,并在运行时将它们连接到ROS2系统中。

2024-01-11 17:48:34 1398 2

原创 ROS2学习笔记二:开发准备

和其他代码开发一样,首先建立一个工作空间,一个工作空间下可以有多个功能包,一个功能包可以有多个节点存在(或者一个功能包只有一个节点)ROS2中功能包根据编译方式的不同分为三种类型:cmake: 适用于C++。ament_python: 适用于python程序。ament_cmake: 适用于C++程序,是cmake的增强版。

2024-01-10 15:56:37 980 1

原创 ROS2学习笔记一:安装及测试

ROS2的前身是ROS,ROS即机器人操作系统(Robot Operating System),ROS为了“提高机器人软件复用率”的目标,时至今日,ROS已经广泛用于各种机器人的开发,无论是机械臂、移动机器人、水下机器人,还是人形机器人、复合机器人,统统都可以看到ROS的身影,ROS已经成为机器人领域的普遍标准。但是由于ROS自身的缺陷,如果在工业场景应用(例如无人驾驶)还需要做优化和定制,ROS无法真正进入产业界,也自然无法产品化。为了解决这一问题,社区提出了ROS 2。

2024-01-10 13:54:56 500 1

原创 委托构造函数

如果一个类中重载了多个构造函数,并且在每个构造函数中都需要对某些变量进行初始化,这时候就会出现很多重复的代码,C++11中引入了委托构造函数,就是为了解决这个问题,它允许在同一个类中一个构造函数可以调用另外一个构造函数,从而可以在初始化时简化变量的初始化。

2024-01-09 11:02:39 383

原创 ROS2 launch介绍

在大多数入门教程中,运行的每个新节点打开新的终端。随着创建越来越多的节点同时运行的更复杂的系统,需要重复的打开终端和重新输入。launch文件允许同时启动和配置许多包含ROS 2节点的可执行文件。使用 ros2 launch 命令运行单个launch文件将立即启动整个系统所有节点及其配置。

2024-01-09 10:50:50 1352 6

原创 Nand Flash的特性及烧录问题

为什么烧录Nand Flash经常失败?为什么烧录成功了,一部分Nand芯片贴板之后系统却运行不起来?为什么不能像Nor Flash一样接通过烧录器读取母片?…,等等,你是否了解过Nand Flash的特性吗?

2023-09-05 20:00:35 1198 38

原创 Uboot指令与烧录

Uboot指令与烧录,nand flash+nor flash+emmc

2023-09-04 18:14:21 660 37

原创 GIT使用教程(超详细)

Git是一个免费的分布式版本控制系统,最初由Linus Torvalds开发用于管理Linux内核代码。分布式版本控制系统:与集中式版本控制系统不同,Git的每个用户都拥有完整的代码仓库副本,这意味着即使离线,仍然可以继续进行代码管理和更改。版本控制:Git可以记录文件的每个版本和修改,可以轻松地查看和比较不同版本之间的差异。分支管理:Git非常强大的特性之一是分支管理。它允许创建不同的分支来独立开发功能或修复问题,而不会对主分支造成影响。分支可以合并回主分支,以获得最新的更新。

2023-09-01 11:26:17 3100 42

原创 嵌入式系统常用外部存储器

存储器主要包含两大类,一类是易失性内存存储,一类是非易失性内存,其作为数据、系统存储的关键介质,在嵌入式系统中扮演着重要角色。常见的有DDR SDRAM、EEPROM、NOR Flash、NAND Flash 、eMMC等,本文将介绍其区别及应用场景。

2023-08-29 20:01:57 436 11

原创 Linux 内核动态打印调试(dev_info、 dev_dbg )

在 kernel 驱动代码中,使用动态输出是系统内核调试的重要手段之一,printk打印是全局的,只能设置输出等级。而动态输出可以动态选择打开某个内核子系统的输出,可以有选择性地打开某些模块的输出,printk被dev_info,dev_dbg,dev_err之类的函数代替,dev_xxx函数的本质还是使用printk打印的,只是对printk进行了一层包装。下面简述下这几个dev_xxx函数的基本使用规则,以及动态调试使用方式。

2023-08-28 19:10:40 4748 83

原创 c语言开发笔记五:函数

实参的类型和顺序与函数的形参需要匹配,在函数声明或定义中,函数的形参是函数用于接收实参值的占位符。因此,可以通过使用指针传递数组的实参来访问和修改数组的元素,和上述指针的使用方法一样,需要注意的是,需要把数组的长度传递进来,避免指针越界访问。函数的实参是在函数调用时传递给函数的值。通过传递指针作为实参,可以将变量的地址传递给函数,此时实参和形参指向同一块地址,对形参指针指向的内容进行修改,函数实参指向的内容也会发生变化。函数的形参是在函数定义中声明的变量,用于接收函数调用时传递的实参,可以在函数内部使用。

2023-08-26 12:25:32 76 5

原创 C++开发学习笔记一:概述

C++是一种通用的、静态类型的、编译型的编程语言,它在C语言的基础上添加了面向对象编程(OOP)的特性,同时保留了C语言的底层控制和高性能特性。

2023-08-22 20:05:06 70 5

原创 c语言开发笔记四:9条语句与32个关键字

C 语言中一共规定了 32 个关键字,关键字(Keywords)是由 C 语言规定的具有特定意义的字符串,通常也称为保留字。extern int a ,仅声明变量,而没有定义变量,不分配空间。sizeof: 运算符,计算表达式或数据类型占用的,内存的字节数。C语言学习笔记今天就分享到这里啦!volatile:该变量在程序执行中可被隐含的改变。case 1:语句块;case 2:语句块;case n:语句块;9 条基本语句用到的关键字:12 个。没有专门的语句,语句从上而下执行。

2023-08-19 10:41:53 110 27

原创 c语言学习笔记三:运算符

优先级最低的运算符,逗号运算符可以用于多个表达式的顺序执行以及函数参数列表中的多个参数传递。初等运算符([],->等等)--》单目运算符--》算术运算符 --》关系运算符--》逻辑运算符(不包括!)--》条件运算符--》 赋 值运算符--》逗号运算符。,对表达式进行逻辑操作,并返回一个布尔值(真或假),真为1,假为0。或运算符(||):当至少有一个操作数为真时,结果为真。与运算符(&&):当且仅当两个操作数都为真时,结果为真。位运算符主要包括按位与(&)、按位或(|)和按位取反(~)。

2023-08-18 20:06:31 128 7

原创 H264解析帧率信息

主要分析Annex-B格式的H264码流,该格式常见于编码器输出,码流由多个NALU单元组成,网络流媒体传输时需要将每帧数据解析出来,进一步打包成RTP包发送。

2023-08-16 20:39:55 505 12

原创 Cmake构建项目交叉编译:上

CMake是一个跨平台的开源构建系统,用于自动化构建和管理项目的编译过程。使用名为CMakeLists.txt的配置文件来描述项目的源代码、编译选项、依赖关系等。CMake可以生成适用于多个编译器和操作系统的构建脚本,它用更抽象的语法来组织项目,目前很多大型项目,如opencv等使用cmake处理,相比makefile,使用起来更简单,且能够跨平台,本次旨在说明交叉编译中需要用到的部分。

2023-08-15 16:51:54 393 20

原创 vscode配置C++编译环境

将mingw64binbin目录添加到环境变量。安装c/c++ Runner。MinGW-64版本的区别。

2023-08-15 12:15:19 74 1

原创 c语言学习笔记二:变量

在C语言中,变量必须先声明后使用。变量的声明包括变量名和变量类型。变量名在程序中应该是唯一的,不能与C语言的保留字相同。变量类型指定变量的数据类型,可以是整数类型、浮点类型、字符类型等。int age;//定义了一个整数类型的变量age//定义了一个浮点类型的变量salarychar grade;//定义了一个字符类型的变量grade。

2023-08-12 20:01:48 322 1

原创 c语言学习笔记一:概述

C语言是什么?C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。C语言有哪些特点?具有高效、可移植、灵活、简单、可扩展性等显著特点,被广泛应用于操作系统、编译器、数据库、图形界面、嵌入式系统、网络通信、游戏等领域。

2023-08-12 18:05:41 292 1

转载 ImageWatch详细教程

image watch不仅仅只为opencv服务!在使用的过程中,经常在visual studio中使用image watch查看图像。其实Image watch的功能非常强大,不仅仅可以显示Opencv 图像数据,也可以显示其他类型的图像。例如有一块内存保存的是图像数据,也可以将其显示出来。intpitch0;

2023-08-08 14:45:26 730 1

原创 Jetson Nano(Ubuntu18.04) nmcli配置网络(NetworkManager)

第三列是当前网卡的状态(指的是NetworkManager服务是否接管了这块网卡), unmanaged 就表示该块网卡并没有被NetworkManager服务接管 disconnected 意味着该块网卡,并没有使用任何配置文件 connected 意味着该块网卡,正在使用某个配置文件 connecting 意味着该网卡正在获取ip地址。$ nmcli connection modify "网卡配置文件" connection.id "网卡配置文件"

2023-08-07 19:48:00 1775 5

原创 sscanf函数的用法(高级进阶用法/正则表达式/贪婪性)

format: 字符串格式,可以是一个或多个 {%[*] [width] [{h | I | I64 | L}]type | ' ' | '\t' | '\n' | 非%符号};将已知的字符串通过格式化匹配出有效信息。sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。返回值:返回成功赋值的个数;返回值为 0 表示没有将任何字段赋值。成功则返回参数数目,失败则返回-1,错误原因存于errno中;str: 待解析的字符串;

2023-08-07 15:43:01 1003 2

原创 ubuntu虚拟机中添加新磁盘并挂载

vm中添加新硬盘: 1、虚拟机设置–》添加–》硬盘–》一直next到完成。ubuntu中配置新添加的硬盘: 1、fdisk -l 查看那新添加的磁盘状况root:~# sudo fdisk -l Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders, total 419430

2017-08-04 10:48:16 5383 3

git使用教程,学会使用git以及github远程仓库操作

git使用教程,学会使用git以及github远程仓库操作

2024-01-09

全面解析大语言模型的工作原理

全面解析大语言模型的工作原理

2023-09-05

全面解析大语言模型的工作原理

全面解析大语言模型的工作原理

2023-09-05

ChatGPT反思大语言模型的技术精要

ChatGPT反思大语言模型的技术精要

2023-08-30

ChatGPT的背后原理:大模型、注意力机制、强化学习

ChatGPT的背后原理:大模型、注意力机制、强化学习

2023-08-30

word2vec-recommender

word2vec-recommender

2023-08-29

Recommender Systems using Word Embeddings

Recommender Systems using Word Embeddings

2023-08-29

word2vec班第2课:词向量到word2vec与相关应用

word2vec班第2课:词向量到word2vec与相关应用

2023-08-29

A Neural Probabilistic Language Model

A Neural Probabilistic Language Model

2023-08-29

机器学习10大经典算法

机器学习10大经典算法

2023-08-29

锐米LoRa网关设参软件V3.0T20160330

锐米LoRa网关设参软件V3.0T20160330

2023-08-28

锐米LoRa网关说明书(Ethernet接口)

锐米LoRa网关说明书(Ethernet接口)

2023-08-28

Ting-01(M)转接板

Ting-01(M)转接板

2023-08-28

Ting-01(M)TingTest-V0.5

Ting-01(M)TingTest_V0.5

2023-08-28

Ting-01(M)用户手册

Ting-01(M)用户手册

2023-08-28

全国电子设计大赛F题-基于声传播的智能定位系统

全国电子设计大赛F题_基于声传播的智能定位系统

2023-08-28

全国电子设计大赛题目D题

全国电子设计大赛题目D题

2023-08-28

2023年全国电子设计大赛C题

2023年全国电子设计大赛C题

2023-08-28

全国电子设计大赛题目G题

全国电子设计大赛题目G题

2023-08-24

全国电子设计大赛题目H题

全国电子设计大赛题目H题

2023-08-24

c语言fseek函数介绍

fseek函数的用法

2023-08-23

十进制数转十六进制代码

十进制数转十六进制代码

2023-08-23

java学习笔记接口和抽象类

java学习笔记接口和抽象类

2023-08-23

java学习笔记java反射机制

java学习笔记java反射机制

2023-08-23

java学习笔记java包及权限

java学习笔记java包及权限

2023-08-23

精通MATLAB GUI设计2nd的源程序

精通MATLAB GUI设计2nd的源程序

2023-08-23

精通MATLAB GUI设计2nd的源程序

精通MATLAB GUI设计2nd的源程序1

2023-08-23

MATLAB语言及应用实验指导书

MATLAB语言及应用实验指导书

2023-08-22

MATLAB应用基础教程

MATLAB应用基础教程

2023-08-22

向量与矩阵运算数学实验

向量与矩阵运算数学实验

2023-08-22

kalman滤波的matlab程序

kalman滤波的matlab程序

2023-08-22

matlab决策树和随机森林例子

决策树和随机森林例子

2023-08-22

matlab支持向量机例子

matlab支持向量机例子

2023-08-22

matlab知识学习程序

matlab知识学习程序

2023-08-22

java异常的捕获及处理

java异常的捕获及处理

2023-08-22

Eclipse开发工具介绍

Eclipse开发工具介绍

2023-08-22

c语言开发入门知识学习

c语言开发入门知识学习

2023-08-22

c++开发入门知识学习

c++开发入门知识学习

2023-08-22

c++开发入门知识学习

c++开发入门知识学习

2023-08-22

python入门学习思维导图

python入门学习思维导图

2023-08-22

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

TA关注的人

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