自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ROS通信编程

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它包含了许多用于处理图像和视频的函数和工具。OpenCV最初由英特尔开发,现在由Willow Garage、Itseez和Intel等公司维护。它支持多种编程语言,包括C++、Python和Java,可以在多个平台上运行,包括Windows、Linux、macOS和Android。

2024-03-15 23:02:28 780

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

ROS(英语:Robot Operating System,一般译为机器人操作系统),是专为机器人软件开发ROS(机器人操作系统)是一个灵活的框架,用于编写机器人软件。它提供了一系列工具、库和约定,用于简化创建复杂和强大的机器人行为。ROS最初是为机器人研究和开发而设计的,但它也被广泛应用于工业和商业领域。ROS的核心是其通信基础架构,它允许不同部分的机器人软件系统相互通信和协作。这使得开发人员能够将不同的模块组合在一起,构建出完整的机器人系统。

2024-03-03 19:10:53 340

原创 FPGA编程入门

使用Logisim软件:学习使用Logisim软件时,我觉得阅读相关的教程和使用手册非常有帮助。Logisim提供了直观易用的界面和组件库,让我能够快速构建和测试数字电路。通过从简单的电路设计开始,逐步增加复杂度,我逐渐掌握了Logisim软件的功能和操作技巧。我发现利用Logisim提供的工具和组件,如开关、LED、时钟等,能够更直观地验证电路的功能。使用Quartus软件:对于Quartus软件的学习,我发现了学习FPGA的基本原理和架构的重要性。

2023-12-22 21:27:21 835

原创 嵌入式实时操作系统(RTOS),以uc/OS-III为例,将其移植到stm32F103上

RT-thread Nano或FreeRTOS的移植相比自己手动移植简单,大大提高了效率,但手动移植锻炼自己的细心。

2023-11-29 00:59:30 1491 1

原创 汉字点阵与OLED屏显

了解了汉字点阵的编码规则后,我们就可以在图片上显示任何我们想要的文字。可以设置相信参数改变文字在图片上的位置。本次实验主要使用标准库导入了AHT20模块和OLED模块,实现了显示温湿度数据和学号姓名的滚动显示。要了解OLED屏显和汉字点阵编码原理。

2023-11-26 21:04:21 72 1

原创 STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集

学习了I2C协议,了解了协议大致流程。通过STM32配置非常方便。

2023-11-18 21:00:49 433 1

原创 定时器&PWM应用编程

定时器的应用可以帮助我们实现对系统的实时性要求,掌握了如何根据需求设置定时器的参数来生成特定的时间延迟。通过实验,我了解了PWM的基本原理和应用,掌握了如何配置PWM控制器来产生特定频率和占空比的脉冲信号。

2023-11-07 21:43:51 66

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

char c;//指令 0:停止 1:开始//输出信息//提示1//提示2//提示3int flag=0;//标志 0:停止发送 1.开始发送过硬件连接、引入库文件、初始化串口、发送数据和接收数据等步骤,可以实现STM32与外部设备之间的简单串口通信。这为后续更复杂的串口通信应用奠定了基础。

2023-11-04 19:59:24 46 1

原创 STM32简单串口通信

char c;//指令 0:停止 1:开始//输出信息//提示1//提示2//提示3int flag=0;//标志 0:停止发送 1.开始发送过硬件连接、引入库文件、初始化串口、发送数据和接收数据等步骤,可以实现STM32与外部设备之间的简单串口通信。这为后续更复杂的串口通信应用奠定了基础。

2023-10-29 21:07:59 33 1

原创 【stm32外部中断模式控制流水灯】

通过配置外部中断引脚、初始化外部中断、编写中断处理函数和启用外部中断,可以实现使用外部中断模式控制流水灯的功能。

2023-10-29 18:48:19 504 1

原创 【STM32 基于HAL库点亮流水灯】

Hel 是一个用于 STM32 的开发库。点亮流水灯是一个常见的实验,以下是该实验的总结步骤: 1. 配置开发环境:首先,安装 STM32 开发环境,Keil。然后,将 Hel 库添加到您的项目中。2. 硬件连接:将流水灯的正极连接到 STM32 的一个 GPIO 引脚上,将负极连接到 GND 引脚上。3. 初始化 GPIO:在代码中,首先需要初始化用于控制流水灯的 GPIO 引脚。您需要指定引脚的模式(输入或输出)、速度、上下拉等参数。4. 点亮流水灯:使用循环结构可以依次点亮每个流水灯。

2023-10-29 14:27:03 78 1

原创 【基于寄存器与基于标准库的stm32 LED流水灯】

LED流水灯实验是基于STM32F103标准外设库的一个基础实验,通过这个实验,我们可以了解如何使用STM32F103的标准外设库来控制LED灯的亮灭和模式。STM32F103标准外设库提供了对芯片上各种外设的控制能力,包括GPIO(通用输入输出)外设。

2023-10-16 22:47:42 64 1

原创 Ubuntu、stm32下的程序内存分配问题(堆栈、局部全局变量等)

主要是对C程序的内存分配有进一步的认识,知道一个C程序内存应该包括哪些部分。其中,主要是程序段、数据段、堆栈三个部分。不同系统下面,区域内的地址值变化是不相同。总的来说,是对内存的分配有了比较新的认识。

2023-10-06 18:29:09 38 1

原创 gcc生成静态库.a和动态库.so

由于运行时,是在/usr/lib中找库文件的。1、利用vim指令创建创建四个文件分别为x.h、x2x.c、x2y.c、main.c。通过比较发现静态库要比动态库要小很多,生成的可执行文件大小也存在较小的差别。2、在目录下创建三个文件hello.c main.c hello.h。在程序编译时会被连接到目标代码中,程序运行是则不需要静态库的存在。静态库文件命名规范:以lib作为前缀,是.a文件。3、 gcc编译hello.c得到.o文件。1、将目标文件生成一个静态库.a 文件。2、生成共享库.so 文件。

2023-09-29 14:40:25 89

原创 register和volatile变量修饰符的作用

但是,由于寄存器数量有限,编译器可能无法将所有带有register关键字的变量都存储在寄存器中。此外,register关键字只能用于自动变量(即在函数内部定义的变量),不能用于全局变量。volatile关键字用于告诉编译器该变量的值可能会在意料之外的情况下被改变,因此在每次访问该变量时都应该从内存中读取最新的值,而不是使用缓存的值。在主函数中,通过循环检查flag的值,直到它变为1。由于flag变量被声明为volatile,每次访问flag变量时都会从内存中读取最新的值,确保能够正确地检测到中断的发生。

2023-09-26 16:35:07 41

原创 STM32寄存器的简介

寄存器的数量和大小直接影响计算机的性能和能力。我们可以找到每个单元的起始地址,然后通过 C 语言指针的操作方式来访问这些单元,如果每次都是通过这种地址的方式来访问,不仅不好记忆还容易出错,这时我们可以根据每个单元功能的不同,以功能为名给这个内存单元取一个别名,这个别名就是我们经常说的寄存器,这个给已经分配好地址的有特定功能的内存单元取别名的过程就叫寄存器映射。其实外围设备的内存映射原理是一样的,只不过左边的集体变成了CPU,右边的集合变成了外围设备,那条带箭头的线就是连接CPU和外设地址引脚的地址总线。

2023-09-24 23:04:10 403 1

原创 stm32的简单的通过寄存器方式,用某一个GPIO端口点亮LED

下载获取Keil5.27版本安装包以及破解文件(获取Keil5.27安装包),可以通过官网下载或者其他方式下载。

2023-09-24 22:33:21 64 1

原创 安装并熟悉Proteus 电路仿真软件,完成一个C51程序设计和仿真

开一个激活证书管理界面,点击左下角【Browse For Key File】,找到刚才解压出来的文件夹,里面解压后的【Proteus 8.9】文件夹中的【Crack】文件夹下的【Licence.lxk】文件,点击【打开】。4、进入【C:\Program Files (x86)\Labcenter Electronics】目录下,有一个【Proteus 8 Professional】文件夹,进入此文件夹,【全选-复制这两个文件夹】。5、回到Proteus的安装路径,【右键粘贴,替换目标文件】

2023-09-24 21:17:06 890 1

原创 【无标题】Ubuntu系统使用gcc和Makefile编译C程序

工具:Qt。

2023-09-14 22:17:25 32

原创 JavaScript & TypeScript 学习总结

JavaScript 还提供了一些有用的内置函数和对象,比如 Math 和 Date,这些可以帮助我们进行数学计算和日期处理。有许多优秀的开源项目和社区资源可供学习和参考,比如 MDN 的 JavaScript 文档和 TypeScript 官方网站的文档。TypeScript 提供了一种强大的静态类型检查机制,可以在编码阶段发现和修复潜在的类型错误,从而提高代码的健壮性和可维护性。我学到了如何定义变量和函数的类型,如何使用接口和类来组织和抽象代码,以及如何利用泛型来增加代码的灵活性。

2023-06-29 21:17:37 36 1

原创 学习html&amp,css的总结

3. 常见的HTML标签包括,<html>:定义HTML文档的根元素,所有的HTML代码都应位于该标签之间。<div>:用于定义HTML文档中的一个块级容器,常用于组织和布局页面的内容,可以添加样式和添加其他元素。<h1>~<h6>:用于定义标题的六个级别,从大到小依次表示重要性递减,通常用于页面的标题标识和标题分级。常用属性有src用于指定图片的路径,alt用于指定图片的替代文本(当图片无法显示时显示该文本),width和height用于指定图片的宽度和高度。2. 使用标签来定义页面的结构和内容。

2023-06-29 20:54:53 174 1

空空如也

空空如也

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

TA关注的人

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