自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

URDF文件包含了机器人的物理和关节属性,使得机器人可以在仿真环境中被准确地表示和模拟。加载robot_description时使用command属性,属性值就是调用 xacro 功能包的 xacro 程序直接解析 xacro 文件,然后启动launch文件。URDF文件使得开发者能够在不同的仿真环境中重用机器人模型,同时也方便了机器人设计和仿真的交流。先编译配置launch文件,退到主目录catkin_ws下,执行catkin_make。在xacro文件夹中新建my_camera.urdf.xacro。

2024-06-16 20:25:29 863

原创 基于FPGA的SystemVerilog练习

通过提供模块化、面向对象的特性,以及集成的验证功能,SystemVerilog不仅提高了设计的质量和效率,还为应对日益增长的设计复杂性提供了强有力的工具。语言特性的增强:为了跟上技术发展的步伐,SystemVerilog将持续更新其语言特性,包括增强建模能力、扩展验证功能等,以适应更加复杂的设计需求。工具链的优化与集成:EDA厂商将继续优化SystemVerilog相关工具的性能,提供更加集成化的解决方案,以便为用户提供更加高效和便捷的开发体验。

2024-06-03 22:47:40 1196

原创 STM32基于HAL库的HC-SR04模块超声波测距

​ 超声波是振动频率高于20kHz的机械波。它具有频率高、波长短、绕射现象小、方向性好、能够成为射线而定向传播等特点。HC-SRO4是一款尺寸完全兼容老版本,增加UART和IIC功能的开放式超声波测距模块,默认条件下,软件与硬件完全兼容老版本HC-SRO4;可以通过电阻设置成UART或IIC模式。2CM盲区,4.5M典型最远测距,2.2mA作电流。采用升级解调芯片RCWL-9206,带UART与IIC功能MCU:使其外围更加简洁,工作电压更宽(3-5.5V),接口功能更多。

2024-06-01 15:23:40 1003 1

原创 Quartus18.0 HLS入门

HLS(High-Level Synthesis)是一种硬件描述语言(HDL)的编程技术,它可以将高级语言代码(如C/C++)转换成硬件描述语言(如VHDL或Verilog)。

2024-05-24 14:42:38 672

原创 基于FPGA的VGA显示

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

2024-05-22 17:14:35 1150 1

原创 基于NIOS-II的流水灯

本次实验需要在FPGA上通过Nios Ⅱ软核完成流水灯控制,由于控制 LED 灯闪烁的用户程序代码很小,可将其固化在片内 ROM 来执行。变量、堆栈等空间使用片内 RAM,不使用任何片外存储器。整个系统的框图如图 1.1 所示。从图 1.1 控制 LED 闪烁的系统框图可知,其它逻辑与 Nios II 系统一样可存在于 FPGA中。Nios II 系统可与其它片内逻辑相互作用,取决于整个系统的需要。为了简单起见,本实验在 FPGA 内不包括其它逻辑。

2024-05-12 17:32:23 1080

原创 ROS通信编程

定义msg文件在打开的文件中写入uint8 sexuint8 age在package.xml文件中的相应位置添加功能包依赖(部分ROS版本中exec_depend需要修改为run_depend)在CMakeLists.txt添加编译选项编译如果报错,尝试在package.xml文件中增加以下代码查看自定义消息。

2024-03-15 19:38:42 1281

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

W: GPG 错误:http://mirrors.ustc.edu.cn/ros/ubuntu bionic InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654。若密钥服务器hkp://ha.pool.sks-keyservers.com:80无法添加成功,则可以尝试hkp://pgp.mit.edu:80或者hkp://keyserver.ubuntu.net:80。的错误,这里ROS提供了国内的安装源,添加国内安装源命令。本人使用的是下面这句。

2024-03-03 19:00:45 873

原创 Quartus两种方法仿真全加器

使用 Quartus-ll 来仿真十分的方便,整个过程也并不复杂,配置开发板使用更加的直观,有一定的数字电路基础后,再来使用这个软件来仿真,就会得心应手。若要进一步实现4位全加器,可参考FPGA实现1位全加器和4位全加器-CSDN博客。

2023-12-19 21:48:08 3262 1

原创 Logsim实现1位全加器和4位全加器

参考鼠标点击左边栏“逻辑门”旁边的小三角,会出现“异或门”,“与非门”等,鼠标点击其中的一个就可以拖到右边的白板中。第二栏的小手是来改变输入的,箭头是用来连线的,“A”是用来编写文字的。熟悉了就可以构建虚拟电路了。

2023-12-19 21:29:33 1601 1

原创 在线Verilog编程网站学习

https://hdlbits.01xz.net/wiki/Main_Page HDLBits — Verilog Practice 在线练习网站。

2023-12-19 21:25:49 734 1

原创 基于寄存器&标准外设库的LED流水灯

打开Kil5,点击Project,点击新建Kil工程,工程目录选择我们新建的Project文件夹。User文件夹用来存放我们自己建立的文件。还需要将STM32官方库的文件拷贝过来,如下图,其。其中CMSIS文件夹中存放从STM32官方固件库中拷贝来的文件如下。.在User文件夹中新建main.c文件以及在KIL5中新建工程。Project文件夹用来存放我们自己建立的Kil5工程文件。创建后,先从之前下好的固件库中添加启动文件。先创建一个文件夹,在此文件夹中添加五个文件夹。推荐烧录工具Flymcu。

2023-12-04 18:09:27 65

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

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

2023-11-30 15:02:42 75

原创 基于STM32的OLED显示

SPI(Serial Peripheral Interface)就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。SPI 是一个环形总线结构,由 ss(cs)、sck、sdi、sdo 构成,时序主要是在 sck 的控制下,两个双向移位寄存器进行数据交换。上升沿发送、下降沿接收、高位先发送。上升沿到来的时候,sdo 上的电平将被发送到从设备的寄存器中。下降沿到来的时候,sdi 上的电平将被接收到主设备的寄存器中。

2023-11-19 22:09:30 150 1

原创 点阵汉字的字模读取与显示

国标码 国标码是一个四位十六进制数,它将一个汉字用两个字节表示,每个字节只有7位,与ASCII码相似。

2023-11-19 22:03:36 101 1

原创 电脑间利用串口传输文件

实验比较简单,注意比特率的设置和USB转TTL的连接。电脑之间利用串口传文件_1m波特率串口通信-CSDN博客。

2023-11-19 21:57:09 64 1

原创 基于HAL库的AHT20温湿度采集

初步了解I2C协议,连接时注意不要连错,否则会炸。

2023-11-15 12:19:06 266 1

原创 定时器&PWM应用编程

PWM(Pulse Width Modulation)即脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术;它是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。基本原理:PWM就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也可以这样理解,PWM是一种对模拟信号电平进行数字编码的方法。

2023-11-04 16:32:52 54 1

原创 HAL库中断方式进行串口通信

将main.c中的内容替换为。

2023-10-28 16:32:27 57 1

原创 基于HAL库实现串口通信

1.DMA,全称Direct Memory Access,即直接存储器访问。DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。2.DMA用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU的干预,通过DMA数据可以快速地移动。这就节省了CPU的资源来做其他操作。3.DMA的作用就是实现数据的直接传输,而去掉了传统数据传输需要CPU寄存器参与的环节。

2023-10-28 16:27:27 196 1

原创 基于HAL库的LED流水灯

本次实验初步学会用HAL库创建STM32工程。

2023-10-27 22:54:48 45 1

原创 Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的地址分配

1.堆和栈空间分配:栈 向低地址扩展;堆 向高地址扩展2.如果依次定义变量,先定义的栈变量的内存地址比后定义的栈变量的内存地址要大;先定义的堆变量的内存地址比后定义的堆变量的内存地址要小。3.栈 临时变量,退出该作用域就会自动释放;堆 malloc变量,通过free函数释放。

2023-10-06 22:40:12 877 1

原创 用gcc生成静态库和动态库以及静态库.a与.so库文件的生成与使用

注意命令的空格,符号。

2023-10-06 22:26:28 387 1

原创 常见嵌入式岗位面试题

寄存器操作更复杂,需要参考芯片手册,注意访问时序、电平控制、优先级等因素;对内存中的变量进行修改操作和对外部设备的操作有一些相同的地方,但也存在一些差异。在编写嵌入式C程序时,需要根据具体的需求和硬件平台来选择合适的操作方式,并注意处理数据的有效性和正确性。

2023-09-26 22:45:45 34

原创 使用MTK开发stm32简单程序,利用GPIO端口点亮LED灯

因为操作不熟练,没有接入硬件设施,所以只进行程序的编译和仿真测试,而没有下载到硬件上运行,这个LED灯闪烁的代码不用深入了解,只是进行一个简单的程序编译调试,重点是学会如何安装MDK软件并且能够熟练建立工程、编写代码、编译程序、仿真调制。

2023-09-26 22:40:30 146

原创 C51设计和仿真

(1)点击绘制原理图按钮(2)左键单击元件,然后再点击P按钮,进入元件选择界面。(3)在 Keywords 处输入 AT89C51 ,然后在中间的窗口内双击AT89C51芯片,即可添加到元件列表中,而后依次添加LED-YELLOW、RES。操作过程中一定要注意Proteus和keil工程中的芯片一致。

2023-09-26 22:28:43 267

原创 Ubuntu18.04和win10环境下C语言编译

在ubuntu18.04环境和win10环境下可采用不同的方式进行C语言编译。其中,win10环境可以做到编译,运行,修改一体,而ubuntu则需要用不同的软件分别编译和运行。在代码较短的时候,win10更加快捷,方便。当需要编译长代码,涉及多个文件时,Ubuntu更方便。根据不同的需求可选择不同的环境。

2023-09-17 20:22:14 143

空空如也

空空如也

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

TA关注的人

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