自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2025-03-31 00:11:10 626

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

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

2025-03-30 14:20:43 830

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

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

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

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

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

2025-03-25 09:42:11 684

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

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

2025-03-24 17:20:58 1007

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

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

2024-10-15 19:41:19 585

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

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

2023-03-31 10:55:41 1091

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

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

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

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

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

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

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

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

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

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

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

2023-03-19 23:56:52 2752

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

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

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

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

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

2023-03-18 13:58:15 1485

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

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

2023-03-17 20:10:48 1678

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

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

2023-03-17 17:32:09 1491

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

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

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

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

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

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

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

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

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

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

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

2023-03-16 01:05:04 1555

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

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

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

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

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

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

原创 Verilog 基础仿真文件编写

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

2023-03-13 17:50:38 8734

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

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

2022-12-01 12:29:28 6422

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

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

2022-11-23 12:11:42 1404

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

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

2022-11-18 11:26:46 2731

原创 HLS优化实战之数组

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

2022-11-02 12:33:01 2811 5

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

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

2022-10-29 18:37:48 1455

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

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

2022-10-27 01:40:46 1549

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

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

2022-10-09 19:39:57 4313

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

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

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

原创 ZYNQ之路--HLS入门

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

2022-10-04 01:00:11 2099

原创 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 2790

原创 一起学时序分析之延迟与时钟偏斜和抖动

我们上一节提到了一些基础的时序参数,这一节我们来补充一下有关于路径与路径延迟,以及时钟偏斜(Clock Skew)和时钟抖动(Clock jitter)的内容。

2022-10-02 02:28:16 2933

原创 一起学时序分析之基础时序参数

什么是时序电路?我曾写过来阐述时序电路的一些概念。其实,简而言之,时序电路就是 “”构成,组合逻辑电路主要完成电路功能,锁存器和触发器,并且让输出的结果在时钟信号的节奏下。锁存器由于其对电平敏感的特性在时序电路中比较少地使用(毛刺),我们大多数使用的是对触发沿敏感的触发器。

2022-10-01 02:17:18 2811

原创 ZYNQ之路--制作AXI4 接口IP的思路

AXI的全称叫做即高级可扩展接口,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。很容易理解这个总线的重要作用:Soc上各个子模块之间要进行通信,既然是通信那么总得有一个规范和标准,AMBA就是为了这样一个目的而提出的(不要问为啥是由ARM公司提出的,问就是因为ZYNQ使用的是ARM的内核)

2022-09-30 03:07:46 3369

原创 ZYNQ之路--程序固化教程

我们刚开始使用ZYNQ时,习惯使用JTAG在线将ZYNQ的PS和PL部分的配置文件烧录进ZYNQ,这样方便我们进行调试,但是却带来了掉电配置文件丢失的问题,因此,在我们学习ZYNQ的路上,必须要学会如何把配置文件保存进非易失的存储器件当中去。

2022-09-26 00:18:36 8414

原创 ZYNQ之路--带你弄明白Vivado设计流程

经过一段时间的摸索,我大概对于使用这些软件有了一些心得体会,所以为什么要写这篇博客呢?当然是因为网上有关的内容太少了。各类五花八门的教材打着教会你ZYNQ的旗子,实际上做的都是一些填鸭式的教学,我们往往只知其然而不是所以然,不得其精髓,这是我们应该避免的。

2022-09-24 02:27:57 2533

原创 剖析LeNet-5 网络结构

本文介绍LeNet-5的网络结构与参数数量

2022-09-17 16:42:50 4277 3

原创 神经网络不神秘--初步认识ANN

读完之后大家可能对神经网络有了一些了解,可能你们会恍然大悟:噢,也就那么回事,不就是做数学运算嘛?但是,这只是神经网络的九牛一毛罢了。从前的人们也是这样看神经网络的,智商不够,算力来凑呗。但是随着卷积神经网络CNN等等的兴起,人们发现臃肿的神经网络也可以变得轻巧灵动,并且迸发出巨大的应用,这也是我们为什么要学习和研究神经网络的原因。两千多字下来了,相信大家也看累了,下一篇我们就一起来手把手实操一遍神经网络吧!

2022-09-15 02:07:43 603

原创 ZYNQ之路--初级开发流程介绍

很多有玩过FPGA的老兄入手了ZYNQ,也明白什么PS+PL的开发方式,但是不知道开发ZYNQ究竟要怎么样做。本篇博客是本人阅读正点原子等开发资料的一些感悟,希望能让大家对ZYNQ的开发流程有一个更清楚的认识。

2022-09-12 21:48:45 2358

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

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

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关注的人

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