- 博客(28)
- 收藏
- 关注
原创 使用system verilog进行流水灯和VGA打印字符
这次对system verilog的编写让我对system verilog有了清晰的认识。
2024-06-03 22:02:54
911
原创 基于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
原创 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
原创 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关注的人