自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实验二-基于FPGA的VGA协议实现

VGA(Video Graphics Array)视频图形阵列是IBM于1987年提出的一个使用模拟信号的电脑显示标准。VGA接口即电脑采用VGA标准输出数据的专用接口。VGA接口共有15针,分成3排,每排5个孔,显卡上应用最为广泛的接口类型,绝大多数显卡都带有此种接口。它传输红、绿、蓝模拟信号以及同步信号(水平和垂直信号)。原理常见接口之色差VGA接口(D-Sub接口)

2024-06-13 15:45:58 1148

原创 实验四:基于System-Verilog的FPGA设计与仿真

控制流:理解条件语句(if, case)、循环语句(for, while, repeat, foreach)。基本结构:了解模块(module)、端口声明(input/output)、wire和reg数据类型。数据类型:掌握位宽(bit-width)、整数(integer)、实数(real)等数据类型。任务和函数:掌握如何定义和调用任务(task)和函数(function)。包和库:了解如何使用包(package)和库(library)来组织代码。接口:学习如何定义和使用接口(interface)。

2024-06-03 22:39:30 426

原创 实验三---红外超声波雷达测距

一. 采用stm32F103和HC-SR04超声波模块, 使用标准库或HAL库+ 定时器中断,完成1或2路的超声波障碍物测距功能。1)测试数据包含噪声,程序需要进行滤波处理;将测距数值通过串口上传到上位机串口助手;2)根据障碍物距离远近,控制一个蜂鸣器(可以用LED灯代替)发出频率不同的声音(或LED不同闪烁),即输出占空比变化的PWM波形;3)在没有超声波模块硬件的场景下,先使用Keil中的仿真逻辑分析仪,观察分析对应管脚上的时序波形,判读是否符合协议规范。

2024-05-29 11:03:50 712

原创 第12周作业--HLS入门

第12周作业–HLS入门实验要求;一. HLS是什么?与VHDL/Verilog编程技术有什么关系?二. HLS有哪些关键技术问题?目前存在什么技术局限性?三. 在win10(或者Ubuntu系统下)安装 Intel 或者 Xilinx 的支持HLS的FPGA编程开发软件(Quartus18或者Vivado18),设置好环境,完成一个入门级的HLS程序,并进行仿真或者实际开发板运行。一. HLS是什么?与VHDL/Verilog编程技术有什么关系?

2024-05-25 15:43:59 618

原创 Nios实验使用串口输出“Hello Nios-II”字符到笔记本电脑

本次实验通过实践收获了以下几个要点:了解掌握了nios基本原理及作用了解掌握了nios的简单使用方法及流程掌握了eclips进行nios的编程解决了编译NIOS2出现错误:make:[.mk] Error 1 或者 make: *** [*.elf] Error 1 解决方法见参考学习 Quartus Prime 、Platform Designer、Nios II SBT 的基本操作;初步了解 SOPC 的开发流程,基本掌握 Nios II 软核的定制方法;

2024-05-12 17:41:44 835

原创 基于NIOS II软核的流水灯

文章使用的工具及板子类型工具:Quartus II 13.1开发板:Cyclone IV E EP4CE115F29C7Quartus中的一个系统集成工具1.名称最先版本中名为SOPC Builder,最新版本名为Platform Designer2.SOPC的含义可编程片上系统(采用编程方法将整个系统集成到一个芯片上)3.Qsys作用通过集成IP核快速实现SOPC系统自动创建IP核之间的互联逻辑自定义IP核FPGA所设计的一种RSIC架构的嵌入式软核处理器。

2024-05-12 17:32:47 797

原创 ROS机器人小车建模仿真与SLAM

点击 file 的 save as 保存模型文件,地图绘制好后,保存为 .world 地图文件(文件后缀名一定要是 .world),将 .world 文件复制到 ~/catkin_ws/src/world 文件夹内,地图环境就搭建好了。打开你的ros工作目录,在src下创建一个功能包,在这个功能包下创建config和launch目录,config存放刚才的标定结果yaml文件,launch目录存放launch文件,来运行节点。X表示左右移动,Y表示上下,Size表示远近,Skew表示倾斜。

2024-05-07 21:20:42 988

原创 Ubuntu18.04下OpenCV3.4.11的安装及使用示例

在Ubuntu下安装OpenCV,确实大麻烦了,各种步骤繁杂,而 OpenCV 的使用确实有意思,可以应用在许多领域,比如人脸识别、摄像监控等等。

2024-03-16 13:51:17 1187 1

原创 ROS动作编程: 客户端发送一个运动目标,模拟机器人运动到目标位置的过程

在文件下创建action文件在action文件下创建文件,并在------

2024-03-15 15:06:31 963 1

原创 ROS通信编程-话题、服务、动作编程

定义msg文件​​Person.msguint8 sexuint8 age在中添加功能包依赖​​在添加编译选项编译成功:查看自定义消息(记得启动核心roscore和设置环境变量int64 aint64 b---int64 sum定义action文件#定义目标信息---#定义结果信息---#定义周期反馈的消息当涉及ROS(机器人操作系统)基础时,重要的概念包括话题、服务和动作。这些概念在ROS中扮演着关键的角色,用于实现机器人的各种功能和交互。

2024-03-15 14:57:37 924 1

原创 ROS1.0环境安装与运行小海龟

list,就会列举出现在的所有话题,查看某一话题的具体内容,添加info即可。来到workspace的src目录下,新建my_turtle_package包。每个步骤分明需要打开一个终端,小海龟的运行路径是在最后一个终端上,通过。打开一个新的终端,输入以下命令启动ROS Master。打开一个新的终端,输入以下命令启动小海龟仿真器。打开一个新的终端,输入以下命令启动海龟控制节点。1.新建一个文件夹,命名为catkin_ws。输入以下命令,运行该脚本让环境变量生效。再新建一个终端,启动我们的小海龟。

2024-03-02 14:12:43 1962

原创 STM32F103C8T6移植uC/OS-III基于HAL库详细过程

app.c 、 app_cfg.h 、 cpu_cfg.h 、 includes.h 、 lib_cfg.h 、 os_app_hooks.c 、os_app_hook.h、os_cfg.h、os_cfg_app.h复制到上一步建立的OS文件夹中,同时新建三个空白文件: bsp.c、bsp.h、app.h。欢迎来到RTOS多任务环境!app.c我们实际是用main.c代替,所以app.c中没有什么实际的代码,这里将其保留,也可选择删除,注意头文件包含即可。下载后打开文件夹可以看到四个文件目录,后面会用到。

2023-12-31 13:02:35 1737 1

原创 汉字点阵与OLED屏显

传输时间=文件大小/波特率,同一个文件波特率设置越高其发送的时间越短。本次实验需要熟练掌握虚拟机Ubuntu的使用,以及代码编写。本次实验让我熟练掌握了对SPI通信方式的运用。

2023-12-31 12:24:32 813 1

原创 基于Quartus完成1位全加器的设计及4位全加器的设计

全加器是指对输入的两个二进制数相加(A与B)同时会输入一个低位传来的进位(Ci-1),得到和数(SUM)和进位(Ci);通过仿真结果可以发现当a和b相同时s为0,否则为1;当a和b同时为1时,co等于1,其余都为零,逻辑关系为与。将原理保存至adder4文件夹下,并命名为full_adder4.bdf,将full_adder4.bdf设置为顶层文件并编译。点击File->New,然后选择Block Diagram/Schematic File,选择元件half_adder和or。

2023-12-19 19:08:48 2849 1

原创 从门电路、组合电路、时序电路的Verilog编程巩固练习

HDLBits— Verilog Practice 在线练习网站(参考HDLBits 中文导学https://zhuanlan.zhihu.com/c_1131528588117385216)从门电路、组合电路、时序电路中各选3个以上的例题进行实践练习,并记录结果(包括初学时发生的错误)。

2023-12-19 18:09:24 392 1

原创 IIC协议采集温湿度

IIC(Inter-Integrated Circuit)总线是一种由NXP(原PHILIPS)公司开发的两线式串行总线,用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps 以上。注意IIC是为了与低速设备通信而发明的,所以IIC的传输速率比不上SPII²C最重要的功能包括:只需要两条总线;

2023-11-16 15:55:55 605 1

原创 定时器&PWM应用编程

定时器就是用来定时的机器,是存在于STM32单片机中的一个外设。其本质就是计数器,只不过 计数器 记录的是STM32的外部情况,所接收的也是外部脉冲,而 定时器 则是由STM32自身提供的一个非常稳定的计数器,这个稳定的计数器就是STM32上连接的晶振部件。STM32的众多定时器中我们使用最多的是高级定时器和通用定时器,而高级定时器一般也是用作通用定时器的功能。通用定时器的功能和特点:位于低速的APB1总线上(APB1)

2023-11-07 19:46:33 388

原创 基于中断/DMA的串口通信

DMA,即直接内存访问(Direct Memory Access),是一种计算机系统中的数据传输技术,旨在提高数据传输的效率和性能。DMA允许外设(如硬盘驱动器、网络适配器、图形卡等)直接访问系统内存,而不需要通过中央处理器(CPU)的干预,从而减轻CPU的负担。以下是DMA的主要特点和工作原理:特点和优势:提高性能: DMA允许外设与内存之间的数据传输在不干扰CPU正常运行的情况下进行。这可以大大提高数据传输速度和整体系统性能。

2023-11-04 22:24:18 130 1

原创 基于寄存器和固件库的STM32LED灯程序

首先我们开启GPIO的时钟外设,然后创建一个结构体,设置结构体内部的参数来设置我们GPIO的引脚输出模式,然后通过标准外设库GPIO_ResetBits()和GPIO_SetBits()两个库函数对外设GPIOA的串口进行高低电平的设置,通过延时函数和间断的设置串口的高低电平实现点亮流水灯的操作。该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。手动新建,用于存放寄存器映射的代码,暂时为空。

2023-11-01 11:20:29 93 1

原创 GCC背后的故事&C程序常量变量的地址分配

通过几个示例程序和相关资料学会了用gcc生成静态库和动态库,还有静态库.a与.so库文件的生成和使用。这次实验让我更加熟练的使用gcc编译工具也更加了解了gcc。相信在以后的学习过程中会更加轻松自得。

2023-11-01 11:08:04 112 1

原创 STM32/51单片机编程入门-点亮LED

一.仿真51程序——LED流水灯1.使用proteus新建项目2.绘制原理图添加元件LED-YELLOW 和RESLED流水灯原理图新建文件创建主函数代码#include <reg51.h>#include <intrins.h>//延迟函数void delay_ms(int a){int i,j;for(i=0;i<a;i++){for(j=0;j<1000;j++) _nop_();}}void main(void){whi

2023-11-01 11:00:29 128 1

原创 STM32简单串口通信

在串口通信中,常用的协议包括RS-232、RS-422和RS-485。最被广泛使用的是RS-232C,它将mark(on)比特的电压定义为-3V到-12V之间,而将space(off)的电压定义到+3V到+12V之间。3 RS-485(EIA-485标准)是RS-422的改进, 支持多对多(2线连接),从10个增加到32个,可以用超过4000英尺的线进行串行通行。于是TTL电平的输入低电平的噪声容限就只有(0.8-0)/2=0.4V,高电平的噪声容限为(5-2.4)/2=1.3V。

2023-10-29 15:59:52 208

原创 STM32基于HAL库流水灯实验

1.下载地址:STM32CubeMX - STM32Cube initialization code generator - STMicroelectronics2.管理员身份运行安装程序,点击next:3.点击"I accept the terms of this license agreement",接着选择Next:4.勾选第一个即可5.选择安装位置,默认位置是安装在C盘中(注意:安装位置不要出现中文):6.直接开始安装:1.打开安装好的STMCubeMX2.点击HELP->Manage embedd

2023-10-25 20:33:22 125 1

原创 在ubuntu系统下使用gcc和makefile实现c语言程序的编译运行

本文目的是通过在Ubuntu系统上编译C程序来熟悉在Linux系统上编写C程序的操作。采用两种方式进行编译,第一种是直接使用gcc在命令行编译运行,第二种是使用makefile文件,并在命令行编译运行。在ubuntu16.04环境下 使用gcc对c语言进行编译,我了解了gcc对c语言程序的编译过程,学习使用了makefile来完成了c语言程序的编译,在多个程序的链接编译时makefile是一个不错的工具。

2023-09-15 13:25:34 875 1

空空如也

空空如也

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

TA关注的人

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