自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ROS通信编程

本章实验内容较多,需做好每个步骤,不然接下来每个步骤都有错误。

2024-03-15 22:24:08 877 1

原创 Ubuntu16.2.4安装ROS系统(Kinetic版)并实现小海龟仿真

ROS(机器人操作系统,Robot Operating System),是专为机器人软件开发所设计出来的一套电脑操作系统架构。它是一个开源的元级操作系统(后操作系统),提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间消息传递、程序发行包管理,它也提供一些工具和库用于获取、建立、编写和执行多机融合的程序。ROS的运行架构是一种使用ROS通信模块实现模块间P2P的松耦合的网络连接的处理架构,它执行若干种类型的通讯,包括:基于服务的同步RPC(远程过程调用)通讯;

2024-02-29 14:40:12 885

原创 gcc相关运行原理及buntu、stm32下的程序内存分配问题

3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。3)将x2x、x2y目标文件用 ar工具生成1个 .so 动态库文件, 然后用 gcc将 main函数的目标文件与此动态库文件进行链接,生成最终的可执行程序,记录文件的大小,并与之前做对比。定义在函数内部的变量称为局部变量(Local Variable),它的作用域仅限于函数内部, 离开该函数的内部就是无效的,再使用就会报错。

2024-01-02 10:33:31 903

原创 C51程序设计与仿真LED流水灯

学习Proteus软件的知识、如何安装、如何使用,熟悉Proteus电路仿真软件,并完成一个51程序设计和仿真Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是比较好的仿真单片机及外围器件的工具。虽然国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

2023-12-31 12:58:29 804 1

原创 嵌入式RTOS多任务程序设计

µC/OS/III是一个实时操作系统,也就是 RTOS(Real Time Operating System)。操作系统最直观的特点就体现在,操作系统能够使得一个 CPU 核心“同时运行”多个任务,这个特性就被称为“多任务”。然而,实际上,一个 CPU 核心在某一时刻只能运行一个任务,而操作系统中任务调度器的责任就是决定在某一时刻 CPU 究竟要运行哪一个任务,任务调度器使得 CPU 在各个任务之间来回切换并处理任务,由于切换处理任务的速度非常快,因此给人造成了一种同一时刻有多个任务同时运行的错觉。

2023-12-31 11:26:18 782

原创 从门电路、组合电路、时序电路的Verilog编程

通过这些实验,我不仅学会了如何使用Verilog来描述各种类型的数字电路,还深入理解了数字电路的基本原理和设计方法。

2023-12-19 19:59:41 340 1

原创 基于Quartus 软件完成一个1位全加器的设计

基于Quartus软件完成一个 1 位全加器的设计,分别采用1)原理图设计;2)Verilog编程实现方法。软件基于 quartusII 13.0 版本,开发板基于 Intel DE2-115通过本次实验,我们深入了解了硬件加速器的原理和设计方法。通过Quartus软件,我们成功地实现了1位加速器的设计,并验证了其功能。实验过程中,我们也遇到了一些问题,如代码调试、仿真与实际测试的差异等。这些问题提醒我们在今后的实验中需要更加细心和耐心,注重理论与实践的结合。

2023-12-19 17:21:21 1372 1

原创 汉字点阵与OLED屏显

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

2023-11-19 23:12:05 36

原创 STM32-IIC协议采集温湿度

I2C总线通信协议是一种由Philips公司开发的串行通信协议,它允许在系统内将多个设备连接到一条总线上进行通信。由于其引脚少、硬件实现简单、可扩展性强,且不需要外部收发设备等特点,被广泛应用于嵌入式系统和其他需要少量设备相互通信的应用程序中。I2C协议层定义了通讯的起始和停止信号、数据有效性、响应、仲裁、时钟同步和地址广播等环节。在设备和系统之间,通过定义通信模式的语言进行通信,该语言规定了电气方面、传输速率、位排序和位模式含义等。

2023-11-12 13:53:31 92 1

原创 定时器&PWM应用编程

嵌入式

2023-11-07 21:48:10 90

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

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

2023-11-02 18:20:28 36 1

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

寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。简单来说,寄存器就是存放东西的东西。寄存器存放的是指令、数据或地址。存放数据的寄存器是最好理解的,如果你需要读取一个数据,直接到这个寄存器所在的地方来问问他,数据是多少就行了。问寄存器这个动作,叫做访问寄存器。不同的数据会存放在不同的寄存器,例如引脚PA2与PB8的高低电平数据(1或0)肯定放在不同的寄存器里,那么怎么区分不同的寄存器呢?

2023-10-31 22:43:17 35 1

原创 gcc相关运行原理及buntu、stm32下的程序内存分配问题

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

2023-10-31 21:56:14 77 1

原创 C51程序设计与仿真LED流水灯

Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是比较好的仿真单片机及外围器件的工具。虽然国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是英国著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

2023-10-31 21:33:06 236 1

原创 STM32简单串口通信

在这次实验中,我们通过使用STM32微控制器实现了简单的串口通信。通过连接串口与计算机,我们能够通过串口发送数据,并在计算机上接收和显示这些数据。在实验过程中,我们首先对STM32的串口通信模块进行了配置,包括设置波特率、数据位、停止位和校验位等。然后,我们通过使用STM32的HAL库函数向串口发送数据,并在计算机上通过串口调试器接收这些数据。通过这次实验,我们深入了解了STM32的串口通信原理和实现方法。同时,我们也学会了如何配置串口通信参数以及如何通过串口进行数据传输。

2023-10-27 20:54:44 48 1

原创 STM32cubeMX基于HAL库点亮LED流水灯

HAL库是ST公司为STM32的MCU最新推出的抽象层嵌入式软件,为更方便的实现跨STM32产品的最大可移植性。HAL库的推出,可以说ST也慢慢的抛弃了原来的标准固件库,这也使得很多老用户不满。但是HAL库推出的同时,也加入了很多第三方的中间件,有RTOS,USB,TCP / IP和图形等等。和标准库对比起来,STM32的HAL库更加的抽象,ST最终的目的是要实现在STM32系列MCU之间无缝移植,甚至在其他MCU也能实现快速移植。(1)打开安装好的STMCubeMX。

2023-10-27 11:37:34 90 1

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

寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。简单来说,寄存器就是存放东西的东西。寄存器存放的是指令、数据或地址。存放数据的寄存器是最好理解的,如果你需要读取一个数据,直接到这个寄存器所在的地方来问问他,数据是多少就行了。问寄存器这个动作,叫做访问寄存器。不同的数据会存放在不同的寄存器,例如引脚PA2与PB8的高低电平数据(1或0)肯定放在不同的寄存器里,那么怎么区分不同的寄存器呢?

2023-10-16 21:06:38 37

原创 Ubuntu系统下编译c语言主程序及用Makefile方式编程主程序

第一步 创建并编写main1.c和sub1.c。程序:与Ubuntu系统上一致。第二部 打开main1.c。在main1.c中输入代码。在sub1.c中输入代码。

2023-09-14 22:09:20 144

空空如也

空空如也

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

TA关注的人

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