自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在 DE2-115 开发板上使用 Chisel 编写流水灯程序

以上步骤提供了在DE2-115开发板上使用Verilog编写流水灯程序的基本指南。启动Quartus II软件并创建一个新项目,选择适合DE2-115开发板的板级支持包(Board Support Package, BSP)。在Quartus II中配置项目,包括引脚分配,确保LED输出引脚连接到DE2-115板上的相应LED。在Quartus II的"Assignment Editor"中,分配引脚,将。将生成的比特流文件下载到DE2-115开发板上。输出映射到开发板上的8个LED引脚。

2024-06-03 19:34:24 490

原创 红外超声波雷达测距

主控制器:STM32F103系列MCU。超声波传感器:HC-SR04超声波模块,用于测量障碍物距离。通信接口:使用STM32的串口(USART)进行数据上传。蜂鸣器/LED:用于根据测距结果发出不同频率的声音或LED闪烁。

2024-05-27 21:36:59 916

原创 基于FPGA的VGA协议实现

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

2024-05-24 19:43:50 614 1

原创 HLS入门-LED闪烁仿真

实验成功完成了LED闪烁的硬件实现。通过HLS工具,我们能够快速地将C语言代码转换为硬件电路,并在FPGA上运行。LED以预定的频率闪烁,验证了HLS流程的有效性。本实验通过LED闪烁项目成功地介绍了HLS的基本概念和流程。HLS作为一种新兴的硬件开发技术,具有简化设计流程、提高开发效率的潜力。通过本次实验,我们认识到了HLS的便捷性和其在现代硬件开发中的重要性。随着技术的不断发展,HLS有望在未来的硬件设计中扮演更加重要的角色。

2024-05-24 10:22:44 221

原创 用Nios软件编程方式完成LED流水灯显示并使用串口输出“Hello Nios-II”

本次实验旨在通过使用Nios软件编程环境,实现在FPGA开发板上控制LED灯以流水灯形式显示,并通过串口将“Hello Nios-II”字符串输出到笔记本电脑上。实验的目的是熟悉Nios软件的编程方法,掌握基本的硬件操作和串口通信技术,同时提高对嵌入式系统设计的理解和应用能力。实验成功实现了LED流水灯的显示效果,并且通过串口将“Hello Nios-II”字符串正确地输出到了笔记本电脑上。这证明了Nios II处理器能够有效地控制外设,并且能够与其他设备进行数据通信。

2024-05-12 13:31:47 712

原创 嵌入式作业3

#####先编译配置launch文件,退到主目录catkin_ws下,执行catkin_make。成功之后,再执行 catkin_make install。然后在主目录catkin_make下配置环境变量source devel/setup.bash。检测环境变量是否配置成功echo $ROS_PACKAGE_PATH。加载robot_description时使用command属性,属性值就是调用 xacro 功能包的 xacro 程序直接解析 xacro 文件,然后启动launch文件。

2024-04-27 21:24:00 810

原创 ROS的话题、服务模式的ROS示例程序

经过本次的学习,我了解到了ROS的话题、服务模式和动作编程,并通过练习,初步使用这些知识,让我对ROS的技能更加深刻。

2024-03-15 11:43:53 759 1

原创 Ubuntu18.04安装ROS并实现小海龟demo

机器人操作系统(Robot Operating System, ROS)是一个应用于机器人上的操作系统,它操作方便、功能强大,特别适用于机器人这种多节点多任务的复杂场景。说明:ROS是一个适用于机器人编程的框架, 这个框架把原本松散的零部件耦合在了一起, 为他们提供了通信架构。

2024-03-03 10:40:42 695

原创 运用Proteus完成一个C51简单程序设计和仿真——流水灯

51单片机的P0口是一个OC门输出的I/O口,所以要加上拉电阻才能有电平输出,在PROTEUS里的蓝色为低电平,红色为高电平,灰色则是高阻态,如果不是P0口,则不需要上拉电阻。C程序比较简单,这里面要引用reg51.h头文件,也可以引用REGX52头文件也是可以的,51头文件是proteus自带的,52的头文件需要另外添加到工程里面。(二)某盘\rightarrowProteus(双击)\rightarrow空白处右键\rightarrow新建文件夹\rightarrow 重命名“项目”

2024-01-05 21:43:24 3073 1

原创 FPGA编程入门——实现一位全加器

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

2023-12-19 21:01:15 1598 1

原创 STM32F103C8T6基于HAL库移植uC/OS-III

uC/OS是一个可以 基于ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,适合很多商业操作系统的实时操作系统(RTOS)uC/OS可简单的视为一个多任务调度器,在这个任务调度器之上完善并添加了和多任务操作系统相关的系统服务,如信号量、邮箱等;其主要特点有公开源代码,代码结构清晰、明了,注释详尽,组织有条理,可移植性好,可裁剪,可固化。内核属于抢占式,最多可以管理60个任务;

2023-11-29 09:16:44 1950 1

原创 使用STM32F103的SPI或IIC接口实现各功能

通过OLED显示实验基本掌握了SPI通信协议和软件取字模转化为16进制,注意OLED显示时要对字长进行设置,否则无法完全显示出来。字模取模时,注意横向取模、纵向取模、倒序的差别,否则会得到一片模糊的点点,而不是正常清晰的汉字。OLED是一个比较有意思的外设,在之后完成更多硬件项目时,可以利用OLED进行调试显示,帮助会很大,所以要好好掌握OLED的使用,多加练习,受益匪浅。

2023-11-19 20:17:55 685 1

原创 stm32通过I2C接口实现温湿度的采集

主要是对于I2C协议进行通信的一个过程理解,如果不太理解这个协议,对于代码内容就会看不懂。同时,对于AHT20芯片读取数据的过程也要有一个比较清晰的认识,才能看懂代码中是如何进行读取的。这个过程,自己还是花了很久的时间,才完成的。最开始,自己对于I2C协议内容和芯片不太了解的时候,一直读不出温度和湿度值,就以为代码存在问题,最终,通过对I2C协议和芯片的了解过后,发现代码并没有存在问题。此时,更换了传感器后,就能够读取到正确的数值,这才明白原来是传感器出现了问题。

2023-11-15 17:23:58 84 1

原创 STM32实现定时器和LED呼吸灯

1.1概述PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。1.2优点PWM的一个优点是从处理器到被控系统。

2023-11-07 21:55:45 245

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

配置RCC配置SYS配置USART1配置NVIC配置时钟树project manager设置。

2023-11-04 18:36:03 33 1

原创 STM32的USART串口通信,给上位机连续发送Hello Windows!

本文学习了描述串口协议和RS-232标准,以及"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理,并实际操作串口通信hello windows,学习到了很多新知识,也不断巩固旧知识,收益匪浅。

2023-10-28 13:26:18 757 1

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

1.Keil52.STM32F103C8T6最小核心板。

2023-10-27 21:04:34 56 1

原创 基于寄存器与基于固件库的stm32 LED流水灯

STM32标准库函数简要介绍及与寄存器编程的区别STM32标准库是一套由STMicroelectronics提供的软件库,用于简化STM32微控制器上开发应用程序的过程。它包含了许多常用的函数和驱动程序,可用于配置和操作STM32微控制器的各种硬件资源。STM32标准库函数可以分为几个主要类别:系统初始化函数:用于初始化系统时钟、中断向量表和其他系统设置。GPIO函数:用于配置和操作通用输入/输出端口,包括设置引脚方向、读取和写入引脚状态等。

2023-10-16 19:33:39 129 1

原创 用gcc生成静态库和动态库

hello.hhello.cmain.c2. 将hello.c编译得到.o文件创建静态库的工具: ar静态库文件命名规范:以lib作为前缀,是.a文件gcc -o hello main.c -L. –lmyhellogcc main.c libmyhello.a -o hello先生成 main.o :gcc -c main.c再生成可执行文件:gcc -o hello main.o libmyhello.a创建动态库的工具:gcc动态库文件命名规范:以lib作为前缀,是.so文件我

2023-10-06 18:38:54 117 1

原创 编写一个C程序,重温全局常量、全局变量、局部变量、静态变量、堆、栈等概念

任务要求编写一个C程序,重温全局常量、全局变量、局部变量、静态变量、堆、栈等概念,在Ubuntu(x86)系统和STM32(Keil)中分别进行编程、验证(STM32 通过串口printf 信息到上位机串口助手)。1)归纳出Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址,进行对比分析;2)加深对ARM Cortex-M/stm32F10x的存储器地址映射的理解。

2023-10-06 15:57:59 54 1

原创 STM32/51单片机编程入门

回到Proteus软件的原理图内,双击 AT89C51 芯片后,在弹出的窗口的 Program File 一栏从刚才 keil 软件编译后的路径中添加 .hex 文件,再点击 OK。使用 LBL 为支线标记编号,连接到主线的支线,电阻阻值改为300,需要对支线进行编号才能正常连接,否则后面需要正常实验成功。打开keil软件,点击project,选择New uVision Project。点击编译按钮,进行编译,编译成功并生成了两个头文件。选择AT89C51芯片,点击ok。编写main.c文件。

2023-09-24 17:26:01 121 1

原创 在Ubunto系统下编写简单程序

ctrl+alt+T打开终端点击i键后输入相应代码输入完毕点击esc键退出书写点击“shift+:”三键,输入wq退出编译并运行。

2023-09-15 14:26:09 362

空空如也

空空如也

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

TA关注的人

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