自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 OpenCV的安装并对图片与视频处理

安装时间比较长,但是对图片、视频的操作确实比较有意思,和一般的修图和剪辑视频软件不一样。

2024-03-15 17:06:09 819 2

原创 ROS基础——话题、服务编程

在这次学习中,我学会了在ROS中创建工作空间以及功能包,并对话题、服务与动作有了更深的了解。

2024-03-15 16:28:17 337 1

原创 ROS2安装以及小海龟画圆

ROS2(Robot Operating System 2)是一个用于机器人和自动化系统开发的开源软件平台。从名字可以看出,它是ROS的下一代版本,目标是利用 ROS1 的优点,改进不足之处,提供一个更加稳定、可靠和可扩展的平台,满足越来越复杂和多样化的机器人应用场景。​更好的可移植性。ROS2 可以在不同的操作系统和处理器架构上运行,例如 Linux、Windows、macOS 等操作系统,amd64、arm64 等处理器,以满足不同用户的需求。更加稳定和可靠。

2024-03-03 18:36:55 932

原创 FPGA编程入门——HDLBits练习、Quartus编写加法器

HDLBits是一个在线的Verilog编程学习网站。可以在上面通过例程快速上手学习Verilog编程,不过因为是全英文的,所以建议看不懂的地方可以参考HDLBits 中文导学来学习。通过半加器能更快构建全加器,再通过全加器可以构建多位全加器,因为时间原因,没能上板测试四位全加器,所以只给出1位全加器。

2023-12-19 20:36:46 74 1

原创 STM32CubeMX&Keil——STM32F103C8T6:移植ucOS

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

2023-11-30 21:13:59 181

原创 汉字点阵与OLED屏显

使用SPI接口实现了在OLED屏中显示名字,学号,以及实现流动字幕。

2023-11-26 22:20:22 60 1

原创 Proteus——仿真51单片机:LED流水灯

我选的是LED-RED。

2023-11-24 12:37:27 62 1

原创 STM32Cube&Keil——STM32C8T6:基于IIC协议的温湿度采集(奥松AHT20温湿度传感器)

通过使用I2C协议与AHT20传感器完成了此次温湿度采集,让我对传感器的使用更加了解,以及对I2C协议更加了解。

2023-11-18 20:28:13 94 1

原创 HAL库实现DMA串口通信

通过使用DMA串口通信实现最小系统板与windows11之间进行通信,发送“Hello World!”,与之前使用中断来进行通信相比,对cpu的占用更小,更加实用。

2023-11-08 22:03:49 463 2

原创 STM32F103C8T6的USART串口通信及中断

一、串口通信(一)串口协议和RS-232标准1.串口通信协议串口通信是指串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。

2023-10-29 22:45:38 3962 2

原创 STM32CubeMX——基于HAL库的LED流水灯

本次使用hal库进行流水灯实验,发现使用hal库对单片机编程更加便捷,并且更简单,只需在CubeMX中完成大多数前期的配置,自己编写核心代码即可,并且使用此方式代码与文件格式更加规范。(1)点击魔术棒,在Target中修改自己的晶振数量。一、在CubeMx使用HAL库完成LED流水灯。1.在Cube生成的模板中打开main.c文件。一、在CubeMx使用HAL库完成LED流水灯。(一)在CubeMX中新建项目。(一)在CubeMX中新建项目。二、在keil中进行模拟仿真。(三)编译、烧录与运行。

2023-10-27 21:01:04 65 1

原创 【无标题】

可以看到偏移量为0xc,所以该寄存器的地址等于端口的基址加上偏移量,在相应的位赋值可以控制输出电压,0为低电压,1为高电压,以pa7引脚为例子,想要输出高电压,就需要在第八位赋1。每四位配置一个端口,如11 01,11就是选择开启功能,01就是选择模式和确定最大速度,但有一点不一样,低寄存器的偏移地址为0x00,高寄存器的偏移地址为0x04。因为流水灯要操作的引脚都是在GPIO端口的,所以根据系统结构图,属于AHB总线,所以所要用的端口的复位和时间控制都受RCC控制。一、基于寄存器操作的LED流水灯。

2023-10-16 21:10:30 22 1

原创 gcc的介绍以及静态库和动态库的生成和使用

由于链接动态库和静态库的路径可能有重合,所以如果在路径中有同名的静态库文件和动态库文件,比如 libtest.a 和 libtest.so,gcc 链接时默认优先选择动态库,会链接libtest.so,如果要让 gcc 选择链接 libtest.a 则可以指定 gcc 选项-static,该选项会强制使用静态库进行链接。创建静态库用 ar 命令。在使用到这些公用函数的源程序中包含这些公用函数的原型声明,然后在用 gcc 命令生成目标文件时指明静态库名,gcc 将会从静态库中将公用函数连接到目标文件中。

2023-10-13 21:29:16 235

原创 用c语言编写helloworld

1编写一个main.c程序。5.将hello.c编译可运行文件:gcc hello.c -o hello。3.用gcc命令把main.c和sub.c文件生成main.o和sub.o。了解怎么创建文件,编写文件,编译文件,运行文件。2.用vi编写准程序和上面main.c,sub.c一样。3.创建hello.c文件夹:vi hello.c。1.新建文件夹:mkdir hw.一、编写hello wolrd。2.打开文件夹:cd hw.6.运行:./hello.4编写hello.c。

2023-09-17 20:59:44 216 2

空空如也

空空如也

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

TA关注的人

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