自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用system verilog进行流水灯和VGA打印字符

这次对system verilog的编写让我对system verilog有了清晰的认识。

2024-06-03 22:02:54 911

原创 基于stm32和HC_SR04超声波模块的测距和报警

这次作业实现了HC_SR04模块的超声波测距,加深了我对modbus,RS485的认识.

2024-05-27 20:56:55 636

原创 基于HLS实现led灯闪烁

HLS(High-Level Synthesis),HLS是高层次综合的简称,至于层次的理解。一般分为系统级、算法级、RTL级、门级,开关级。一般认为RTL级及以下设计是可用的,“层次”即从什么角度去描述想要实现的功能。譬如,a xor b采用门级描述就是a,b是一个异或门的输入;而采用高一点层次描述就是a+b。显然,越低层次的描述越困难HLS就是从高层次描述,之后综合成可用的网表文件的技术。这里的“高”指采用C、C++等编写程序,而不是传统的HDL语言。

2024-05-25 17:13:05 700

原创 基于fpga的lcd显示

LCD,即液晶显示器(Liquid Crystal Display),是一种广泛使用的平面显示器技术。LCD显示原理主要基于液晶材料的光学特性,通过控制液晶分子的排列来调节光线的透过率,从而实现图像的显示。以下是LCD显示原理的基本步骤:背光系统:LCD显示器的背光系统通常由LED或冷阴极荧光灯(CCFL)组成,提供均匀的光线。偏振片:背光上方和下方各有一个偏振片,它们只允许特定方向的光通过。彩色滤光片:在偏振片上方,有一层彩色滤光片,它包含红、绿、蓝三种颜色的像素点,用于生成彩色图像。

2024-05-24 14:56:14 1036

原创 基于nios实现流水灯和串口通信

懂得了怎么配置一个nios软核以及调试方法。

2024-05-12 19:24:05 992

原创 orbslam2+kitti数据序列图像

下载链接:https://gitcode.com/raulmur/ORB_SLAM2/overview?链接:https://www.cvlibs.net/datasets/kitti/eval_odometry.php。在控制台输入:export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}注意:直接从github下载下来。解压之后进行编译,注意安装0.5版本的,不然会出错。进入你的ROS工作空间的src目录下,下载ORB_SLAM2的安装包。进入ORB_SLAM2文件夹下,

2024-04-27 16:05:58 267

原创 ROS中机器小车的仿真实验

在xacro文件夹中新建“my_camera.urdf.xacro”"“my_car_camera.urdf.xacro”“my_laser.urdf.xacro”文件。在launch文件夹下创建一个文件,文件名为gazebo_car.launch,在gazebo_car.launch文件中编写以下程序,在urdf文件夹下新建一个xacro文件夹,在文件夹中新建my_base.urdf.xacro文件,然后编写xacro文件,在 launch 文件中直接加载 xacro,box_launch文件,

2024-04-27 15:26:56 1126 1

原创 在ubnutu18中进行话题进行话题编程和控制小乌龟画圆

这次的实验让我进一步认识到了ros的话题编程和控制小乌龟行动的程序,知道了操作的具体步骤,明白了更深层的原理。

2024-03-15 19:17:36 1787

原创 Ubuntu18.04下ROS的配置和安装

ROS (Robot Operating System, 机器人操作系统) 提供一系列程序库和工具以帮助软件开发者创建机器人应用软件。它提供了硬件抽象、设备驱动、库函数、可视化、消息传递和软件包管理等诸多功能。ROS采用节点(Node)的概念来组织软件组件,节点之间通过发布(Publish)和订阅(Subscribe)模式进行消息传递,这种机制使得不同模块间可以高效地通信。ROS的软件架构是松耦合的,这意味着各个组件之间的依赖性较低,便于开发和维护。

2024-03-03 14:32:29 403

原创 简单周期CPU的Verliog代码的实现和通过在proteus上进行C51仿真LED流水灯实验

本文所设计的单周期CPU的指令系统采用类似MIPS的设计风格,包括以下四类指令:(1) 运算类指令;(2) 传送类指令;(3) 存储类指令;(4) 控制类指令;其中,所有指令的操作码部分用4位二进制表示,寄存器编号用3位二进制表示。在下述的具体设计表示中,以助记符表示的是汇编指令;以代码表示的则是二进制机器指令。

2024-01-04 19:22:51 1457 1

原创 FPGA实现一位全加器

再改用 Verilog编程(3种模式:门电路、数据流和行为级描述),完成这个4位全加器设计,并观察Verilog代码编译综合后生成的 RTL电路,与之前电路图设计的4位全加器电路进行对比。如果仿真波形的逻辑功能正确,就连接的实验室 DE2-115开发板硬件上,完成引脚绑定,烧录,再拨动按钮开关,进行加法器 正确性的验证。3.先选择Node Finder这个选项,然后再点击List,之后点击’>>',然后点击两次OK,就可以回到上面的那个界面,并且,此时信号也添加成功了。

2023-12-22 14:17:11 418

原创 stm32完成uCOS移植并实现多任务设计

UCOS是Micrium公司出品的RTOS类实时操作系统, UCOS目前有两个版本:UCOSII和UCOSIII。UCOSIII是一个可裁剪、可剥夺型的多任务内核,而且没有任务数限制,提供了实时操作系统所需的所有功能,包括资源管理、同步、任务通信等。UCOSIII是用C和汇编来写的,其中绝大部分都是用C语言编写的,只有极少数的与处理器密切相关的部分代码才是用汇编写的, UCOSIII结构简洁,可读性很强!非常适合初次接触嵌入式实时操作系统学生、嵌入式系统开发人员和爱好者学习。什么是任务?

2023-11-30 14:53:06 302 1

原创 stm32完成OLED屏显和汉字点阵

1.国标码:国标码是一个四位十六进制数,它将一个汉字用两个字节表示,每个字节只有7位,与ASCII码相似。因此,必须将“区码”和“位码”分别加上32(十六进制为20H,后缀H表示十六进制),作为国标码。也就是说,国标码相当于将区位码向后偏移了32,以避免与ASCII字符中0~32的不可显示字符和空格字符相冲突。2.汉字机内码:为了避免ASCII码和国标码同时使用时产生二义性问题,大部分汉字系统都采用将国标码每个字节高位置1作为汉字机内码。

2023-11-19 20:20:59 260 1

原创 stm32基于I2C协议实现温湿度采集

所谓硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用的;软件I2C一般是用GPIO管脚,用软件控制管脚状态以模拟I2C通信波形。硬件I2C的效率要远高于软件的,而软件I2C由于不受管脚限制,接口比较灵活。模拟I2C 是通过GPIO,软件模拟寄存器的工作方式,而硬件(固件)I2C是直接调用内部寄存器进行配置。如果要从具体硬件上来看,可以去看下芯片手册。因为固件I2C的端口是固定的,所以会有所区别。至于如何区分它们。

2023-11-15 11:13:49 85 1

原创 stm32使用定时器完成led灯闪烁和呼吸灯

这次实验让我掌握了怎样使用定时器来使led灯闪烁和呼吸的方法,以及如何使用其函数和配置相关环境,但对更深入的东西了解不够透彻。

2023-11-05 16:40:27 547 1

原创 基于hal库的串口中断通信和DMA通信

这次实验让我掌握了串口中断通信和DMA通信的具体方法,更深入的了解了串口中断函数和DMA函数的使用,但对这种方法还不够熟悉。

2023-10-31 20:12:47 123 1

原创 基于hal库的简单串口通信

这次实验让我掌握了串口通信的具体方法,更深入的了解了串口中断函数的使用,但对这种方法还不够熟悉。

2023-10-28 11:15:18 80 1

原创 使用外部中断方式控制LED灯亮灭

【代码】使用外部中断方式控制LED灯亮灭。

2023-10-25 22:55:50 136 1

原创 使用HAL库完成LED流水灯

这次实验学习了hal库的使用方法,理清了GPIO的使用原理,观察到了较精准的图像,但对代码编写掌握不足。

2023-10-25 22:30:01 110 1

原创 stm32f103c8基于寄存器和标准外设库编写流水灯

相比于寄存器,标准外设库可以直接调用函数,更加方便,而且波形比较准确,虽然比较推崇标准库,但对于初学者来说应该两个都要了解一些。

2023-10-16 18:50:51 91 1

原创 Ubuntu与STM32下的程序内存分配问题

通过对C语言程序里全局变量、局部变量、堆、栈等概念的重温以及在不同平台进行编程验证,熟悉掌握了C语言中相关概念,并对整体的内存地址分配由高到低,以及栈区内存地址由高到低方向生长,堆区内存地址由低到高方向生长进行了验证。经过本次实验,主要是对C程序的内存分配有进一步的认识,知道一个C程序内存应该包括哪些部分。其中,主要是程序段、数据段、堆栈三个部分。不同系统下面,区域内的地址值变化是不相同。总的来说,是对内存的分配有了比较新的认识。

2023-10-06 15:59:50 59 1

原创 在GCC中生成静态库和动态库

在这次的实验中,我初步熟悉了静态库的特性和动态库的特性,静态库主要可以封装原来的.o文件,让其变得便于移植,但是浪费了空间,而动态库并不会直接将代码放入文件中,而是程序运行时才使用,可以进行增量更新。

2023-10-06 14:45:38 145 1

原创 关于对STM32F103系列芯片地址映射和寄存器映射的相关思考

二. 51单片机的资源占用更少,所需要的内存、存储空间和低级硬件资源更少,因此开发者可以更加专注于程序状态的处理,编写更加高效、简洁的代码。四. 对变量进行的操作不涉及到硬件电路和信号,而对外部设备的操作必须要考虑硬件的特性、电路和信号等问题。三. 对变量进行的操作速度相对较快,而对外部设备的操作可能会有一定的延迟,需要考虑时序和时钟等问题。一. 对变量的操作是在内存(RAM)中进行,而对外部设备的操作是通过控制外设对应的寄存器来实现的。三.对变量或外设的操作都需要考虑数据的读写顺序和正确性。

2023-09-24 14:45:00 74 1

原创 使用MDK完成stm32程序-流水灯

1.新建项目时一定要选择stm32f103rb芯片,2.再勾选相应合适的选项,2.保存代码,3.保存完成后,右键Source Group1,选择添加到Source Group1中,4.选中刚刚保存好的文件,再添加上去,5.对程序进行编译,

2023-09-24 14:10:14 97 1

原创 通过在proteus上进行C51仿真LED流水灯实验

这次对于AT89C51芯片流水灯的仿真实验,是本人初次接触嵌入式开发的实验,让我对开发的大概流程和大致原理有了一定的了解,为接下来的学习打下了基础。

2023-09-24 13:27:40 338 1

原创 在linux虚拟机中使用gcc和makefile进行编译c语言程序

在这次的虚拟机系统编程程序中,初步掌握了虚拟机的安装和命令行的使用,并成功使用命令行进行了部分插件的安装和c语言程序编译和执行。在编译过程中,因为使用了gcc和makefile这两种编译工具,让我对c语言编译的流程变得更加清楚,不再只是课本上的知识,此外,我还了解了怎么使用vim进行c语言的编辑,和几种命令的使用,功能比原本的文本编辑器更加强大。

2023-09-11 19:25:57 1696

原创 Javascript和Typescript的学习总结

JavaScript和TypeScript是两种强大的编程语言,广泛应用于Web开发。JavaScript具有灵活性和动态性,适合快速开发。TypeScript在JavaScript的基础上添加了静态类型检查和其他一些特性,使得代码更加可靠和易于维护。通过学习JavaScript和TypeScript的基本语法、常用特性和最佳实践,可以提高Web开发的效率和代码质量。以上是对JavaScript和TypeScript综合学习的总结,希望对你有所帮助。

2023-07-02 21:26:05 60 1

原创 html和css的学习总结

用于定义段落,用于定义链接,用于插入图片等。标签用于定义一个区块,可以嵌套其他标签。二、CSS基础知识CSS是层叠样式表的缩写,它用于定义网页的样式和布局。CSS样式可以通过选择器来选择HTML元素,然后通过属性和值来设置样式。常用的CSS选择器有:标签选择器,类选择器,ID选择器等。CSS属性可以控制元素的外观,例如:color属性用于设置文字颜色,font-size属性用于设置文字大小,background-color属性用于设置背景颜色等。三、HTML和CSS的综合应用。

2023-07-02 21:20:23 72 1

空空如也

空空如也

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

TA关注的人

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