自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

原创 ROS2: 手把手教你动作通信案例实现(客户端篇C++)

本文介绍了动作通信客户端的实现过程,主要包括三个核心任务:目标请求发送与结果接收、反馈数据接收以及最终结果接收。通过三个回调函数(GoalResponseCallback、FeedbackCallback、ResultCallback)处理这些任务。

2025-05-22 10:22:30 361

原创 ROS2: 手把手教你动作通信案例实现(服务端篇C++)

ROS动作通信是ROS2中一种结合了话题通信和服务通信的机制,主要用于处理长时间任务,能够在任务执行过程中向客户端反馈进度。动作通信分为三个部分:目标请求、结果响应和过程反馈。其运作原理包括客户端发送目标请求、服务端反馈接收结果、客户端发送结果请求、服务端执行任务并反馈数据,最终返回执行结果。实现动作通信的步骤包括创建接口文件、编译功能包、编写服务端代码等。

2025-05-20 18:27:39 875

原创 ROS2: 服务通信

介绍ros2服务通信的C++基本实现。

2025-05-07 23:55:51 362

原创 ROS2:话题通信CPP语法速记

快速复习ROS2订阅与发布方的C++实现流程与核心函数。

2025-05-06 21:32:14 337

原创 ROS2:自定义接口文件(无废话)

如何在ROS2中构建自定义的接口文件?本文介绍最简洁高效的方法。

2025-05-06 14:41:39 544

原创 Git版本管理系列:(三)远程仓库

一步步介绍如何将代码上传到远程代码托管平台,如github/gitee等。

2025-04-09 10:20:28 759

原创 Git版本管理系列:(二)多分支操作

在实际的版本控制中我们往往面临的是多分支的开发状况。

2025-04-09 09:08:37 737

原创 Git版本管理系列:(一)使用Git管理单分支

Git‌ 是一个分布式版本控制系统(DVCS),用于跟踪文件的变更并协调多人协作开发‌,由 Linus Torvalds 于 2005 年创建。为什么要学习使用Git?因为软件开发中必不可少的是版本迭代以及团队协作,并且现在很多开源软件的下载也依赖于Git方法。因此,只要是个程序员就应该要掌握使用Git进行版本管理的方法,是绕不开必须学会的技能。

2025-04-07 16:22:00 770 1

原创 C++学习之路:指针基础

指针一般在C/C++语言学习的后期接触,这样就导致指针给新手一种高深莫测、难以掌握的刻板印象。但实际上指针的使用其实很简单,并且还能够极大的提高程序的灵活性,帮助我们轻松实现复杂的功能.

2025-03-31 00:11:10 657

原创 C++学习之路:深入理解变量

数据(C++编程中的变量值)是核心中的核心,这章主要从比较底层的角度来谈一下对于C++中变量的一个认识。

2025-03-30 14:20:43 861

原创 C++学习之路:从头搞懂配置VScode开发环境的逻辑与步骤

正所谓“工欲善其事,必先利其器”,有很多小白入门时大把的时间都被浪费在配置和安装开发环境上,因此这篇博客将从易于理解的角度来讲讲怎么样配好一个C++的开发环境,目标是一次学习永远记忆。

2025-03-25 23:43:46 2417 3

原创 C++学习之路:新手应该了解的基础程序编译知识

最入门应该了解的有关编译步骤以及编译器的知识。

2025-03-25 09:42:11 713

原创 C++学习之路:filesystem文件系统的使用(C++17特性)

filesystem是C++17新引入的一个库,主要是用来操作文件系统,例如常用的文件夹以及文件的(内容编辑仍使用fstream库)。由于这个特性是C++17引入的,所以要检查编译器的版本是否支持C++17,VsCode中编译器版本的更改请参考。其余的库,例如<sstream>\ <fstream>等就依据需要自行添加。

2025-03-24 17:20:58 1216

原创 24年856电子线路专业课考场回忆

最后谈一下本人的学习过程,本人10月份开始正式准备考研,先买书,后在tb上买了两本真题,实话实说这真题错误的地方挺多(回忆版),大概一个月,把模电书过了一遍(做习题),十一月开始学数电,刚开始很难熬,感觉数电比模电难太多了,后来还是对着答案把课后题写了,写完以后感觉通透了很多,当然我都是写的重点题。第三题考了一道集成运放,三级电路,输入级差分放大,中间pnp,输出共集电极,第一问画交流等效,第二问求各级输入电阻,第三问求各级放大倍数,第四问问了差分射极电流源的功能。我是用S做控制,列真值表解决,不难。

2024-10-15 19:41:19 639 1

原创 蓝桥杯嵌入式--LCD卡死问题

我在设计一个按钮换页的程序的时候,突然发现按钮按下一次之后,整个程序出现了卡死的现象,经过一番努力终于查找到这个问题和LCD显示有关系。

2023-03-31 10:55:41 1167

原创 蓝桥杯嵌入式--实战模拟题

在蓝桥杯省赛举办之前,学校组织了一场模拟赛,基于第十三届的省赛题,但是难度略高于省赛,这篇博客记录一下解题的过程,其思路可供大家参考。这个题目相对于省赛稍微难一点,因此十分锻炼人,看完这个再去看省赛题简直不要太轻松!非常好!

2023-03-23 23:26:52 3250 3

原创 蓝桥杯嵌入式--LCD屏幕使用提升

之前在专栏里已经介绍过LCD相关库文件的移植,今天来介绍一下对于LCD屏幕的使用技巧。

2023-03-21 18:37:41 4106 7

原创 蓝桥杯嵌入式--E2PROM读写异常解决

这几天在使用E2PROM时出现了一些小问题,导致E2PROM不工作,历经9981难终于解决了问题,现记录如下:这个问题只能通过多阅读理解EEPROM读写时序图来解决。E2PROM写操作:I2C读操作:二、忘记初始化在使用I2C总线时,需要先进行初始化,即执行:三、未初始化时钟I2C的使用理论上来说是不需要我们在CubeMX中进行配置的,只需要包括头文件,然后初始化使用即可,但是通过阅读初始化代码可知:初始化代码并未使能时钟,如果没有使用GPIOB的情况下CubeMX并不会使能GPIOB的时钟,因此需要注意G

2023-03-20 08:25:40 1884 1

原创 蓝桥杯嵌入式--串口收发数据异常的解决

最近在做题的时候遇到了一个问题,就是单片机与上位机之间的通信出现问题。但是上位机并没有收到1,2,3,4这四个数字,而是收到了乱码。进行接收,我们可以发现收到的数据并不是我们预想当中的1,2,3,4;这究竟是什么原因呢?

2023-03-19 23:56:52 2842

原创 蓝桥杯嵌入式--字符串比较在串口通信中的应用

今天做了个模拟题,大致意思是接收上位机发的字符串,然后执行相应操作。思路很明确,就是把接收到的内容进行比较,但是从前我只学过比较数字的方式,即直接用“==”进行比较,但是字符串不能使用这个方法,因此这里介绍关于字符串比较的知识。

2023-03-18 23:45:52 924 1

原创 蓝桥杯嵌入式第八课--EEPROM读写

E2PROM的读写主要是考察IIC的使用,但是在比赛当中I2C的各种驱动文件都是直接给出的,因此我们需要做的工作就是根据EEPROM的读写时序配出读写的函数来。使用EEPROM的步骤主要分为两部分:相关库函数移植根据时序图编写读写操作代码从开始到现在第八课,蓝桥杯大部分内容都已经包含在内,接下来本专栏的重点会集中在实战应用上,并且不断补充涉及的知识点。

2023-03-18 13:58:15 1567

原创 蓝桥杯嵌入式第七课--ADC的配置与使用

蓝桥杯比赛中,ADC的使用和配置就像串口一样,比较固定简单,因此这节课介绍ADC的基础功能使用。配置ADC总共就两部分:CubeMX配置相应管脚,设置为Singl-ended每次读值前都要先启动 HAL_ADC_Start读值使用value = HAL_ADC_GetValue。

2023-03-17 20:10:48 1721

原创 蓝桥杯嵌入式第六课--串口收发

串口作为一个考试中考察频率较高的考点,其套路比较固定,因此值得我们仔细把握。本节课主要着眼于快速配置实现 串口收发与串口的中断。

2023-03-17 17:32:09 1549

原创 蓝桥杯嵌入式第五课--输入捕获

输入捕获的考题十分明确,就是测量输入脉冲波形的占空比和频率,对我们的板子而言,就是检测板载的两个信号发生器产生的信号:具体来说就是使用PA15和PB4来做输入捕获。输入捕获能够对输入信号的上升沿和下降沿进行捕获,并且记录下捕获时定时器的数值以及触发中断。借用一张图来阐明这个动作:边沿触发,产生捕获中断中断中读取当前的计数值CCR,并且将计数值清零退出中断因此通过计数值可以计算出高电平持续时间,这里面有一个溢出的问题,对于我们的信号发生器来说,

2023-03-17 13:55:02 7260 6

原创 蓝桥杯嵌入式第四课--定时器

蓝桥杯对于定时器这部分的考察主要集中在定时器中断PWM输出以及输入捕获三个方面,本节课着眼于应用,介绍一下定时器的使用。

2023-03-16 21:00:53 4198 1

原创 蓝桥杯嵌入式第三课--LED与按键检测

纵观多年考题,LED和按键检测作为必考的一个部分同时也作为GPIO的重点考察内容一直都是我们必须要掌握的部分。本节课带着大家,从底层硬件开始,把GPIO的这两个考点学的清清楚楚!GPIO虽然简单,但是如果认真说道的话内容其实也很繁杂,更高级的用法是在寄存器的级别,通过操控ODR寄存器等对GPIO进行操作,这个层面会比HAL库更加高效。下一节我们将重点学习定时计数器的相关内容。

2023-03-16 16:19:53 1756 3

原创 蓝桥杯嵌入式第二课--LCD的移植与文件放置问题

这节课是对前一课的延申,重点在于我们自己编写的代码要如何放置,以及如何将例程文件中的LCD移植到我们自己的工程当中。

2023-03-16 01:05:04 1681

原创 蓝桥杯嵌入式第一课--创建工程

学习本节之前,必须要先安装好 keil5 以及 CubeMX 等软硬件环境,如果你已经安装完成,请告诉自己:考试现在开始!

2023-03-15 23:50:14 1698 1

原创 蓝桥杯嵌入式专栏介绍(新板子)

本专栏目的在于从零开始记录和介绍蓝桥杯嵌入式比赛的技巧和内容,重要的是穿插了本人的一些理解。本人也是第一次参加这个比赛,之前使用单片机就是做一些小项目,突然也想尝试一下参加比赛的感觉。网上找了很多教程,但是大多都是使用老板子的,并且还是非HAL库,与现在的比赛相比还是有些差距,因此本教程立足于新一代的CT117E-M4板子,旨在用自己的理解,给大家带来新的理解。

2023-03-15 22:56:02 1657 1

原创 Verilog 基础仿真文件编写

在学习Verilog的过程中,相信大家都陷入了一个怪圈,那就是对于写模块相当拿手,但是一到编写仿真激励的时候就开始“抓瞎”,不知从何写起,本人也是一样。发现问题就要积极解决问题,因此,总结一篇博客(今后会不断更新)来介绍常用的一些基础仿真语句,供自己总结,也供大家查用。

2023-03-13 17:50:38 8853

原创 一起学时序分析之建立/保持时间裕量

裕量,英文名称叫做“Slack”。我们在Vivado实现后的报告中常常能看到这样一栏:上面我们一直提到了一个词:裕量。究竟如何理解“裕量”这个词呢?所谓的裕量字面上理解就是多出来的量,之前的文章中我们讨论过建立时间和保持时间的概念。对于建立时间,我们要求信号在建立时间之前就要稳定下来,至于具体提前了多久,那就得用“建立裕量”WNS和TNS进行衡量。对于保持时间,我们要求信号要在保持时间之后才可以变换,至于延后了多久,那就得用“保持裕量” WHS,THS进行衡量。

2022-12-01 12:29:28 6656

原创 一起学时序分析之时序分析基本路径

之前介绍了关于时序分析的基础知识,本节将打开时序分析的大门,来介绍一下时序分析的基本路径。

2022-11-23 12:11:42 1425

原创 从结构上浅谈FPGA实现逻辑的原理

FPGA是啥?你要是在百度上一查,多数会搜到什么 Field Programmable Gate Array,现场可编程门整列嘛,但是这句话对咱们新手理解FPGA起到的作用十分有限,其实不单是新手朋友,就连我这个玩了几个月的FPGAer也不求甚解,我脑海里隐隐约约的印象就是: 这个概念伴随了我很久,知道我看了一本关于FPGA结构的书,虽然是走马观花浏览了一遍,但还是给了我一些启发,今天特写一篇博客记录一下我的一些感悟。

2022-11-18 11:26:46 2760

原创 HLS优化实战之数组

手把手带你在实战中学习和分析HLS数组优化的内容,本篇为上,主要介绍优化策略。

2022-11-02 12:33:01 2918 6

原创 以爱情规律为例,浅谈三段式描述状态机

正所谓,天下武功,唯快不破同样,天下代码,唯练不破。状态机是一种方法论,不仅仅存在于时序电路,更是在编程算法和现实生活中广为存在,可以说,万物本质皆为状态机,我们要保留一颗融会贯通的心,这样学习才能得心应手,游刃有余。

2022-10-29 18:37:48 1479

原创 ZYNQ之路--HLS入门实例

上一节我们介绍了如何建立一个HLS工程以及HLS的工程结构,这一节我们着眼于HLS的优化部分,通过Xilinx官方提供的小示例来宏观了解HLS的优化操作。

2022-10-27 01:40:46 1575

原创 ZYNQ之路--AxiIIC IP核使用(基于PYNQ)

本博客介绍IIC传输协议的内容,以及如何在PYNQ上使用Axi IIC的IP核

2022-10-09 19:39:57 4568

原创 ZYNQ之路--HLS入门示例分析(基于UG871)(一)

哈喽各位同学大家好,前一篇文章中,我们介绍了HLS的一些基础知识,以及Vivado HLS的工程结构和主界面等,本节我们就以官方UG871中的一个实例来体会HLS设计的落地过程。

2022-10-07 01:03:42 2198 1

原创 ZYNQ之路--HLS入门

了解了HLS的优点、原理、工程架构、设计流程之后,我们就算是开始入门了HLS了;哥们我以一个先飞半米的笨鸟的角度来谈,其实HLS的内容真的是太多了,UG902和UG871加起来就有七八百页,并且还有很多繁杂的接口和库函数,可以说HLS的学习是不容易的。但是不要气馁,事实上HLS的学习适合于一边做项目一边学习,那么多库,那么多手册,不需要你从头看到尾,只要在项目应用的过程中遇见了,就学习,总结,不出几个月其实这部分内容你一定会很熟悉了!

2022-10-04 01:00:11 2129

原创 ZYNQ之路--Xilinx AXI-Full-Master实例代码翻译

在我学习过程中遇到了第一个认知上的门槛:AXI协议。试想一个场景:我PL端的IP要通过AXI-Full协议给PS端传输数据,我该怎么做?首先肯定是创建一个带有AXI-Full-Matser的接口下一步,Xilinx官方会给我们一个接口的实例文件:顶层是一个对外的接口,而内层的代码则是AXI-Full-Master接口的协议实现。当然了,我们肯定是要通过改动这个文件来将我们自己的IP和AXI接口协议相结合,因此我们有必要读懂AXI-Full-Master的代码内容。

2022-10-02 20:25:26 2902

博客-蓝桥杯模拟题工程文件

相关博客--蓝桥杯实战模拟

2023-04-03

PYNQ-Z1板卡支持包(Boardfile)

PYNQ-Z1的板卡支持包,学习ZYNQ同学的必备。PYNQ是一个开源项目,由一个可以轻松处理Xilinx FPGA的Python库和一个基于Ubuntu的嵌入式映像组成。在本文中,术语PYNQ仅指Python库。通过使用PYNQ,可以仅使用Python描述设计的FPGA电路的控制以及CPU和FPGA之间的数据传输。从嵌入式FPGA SoC到服务器FPGA卡,它可用于多种用途。您可以通过写入将PYNQ下载到SD卡上分发的图像文件来使用它。

2022-09-21

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

TA关注的人

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