自定义博客皮肤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)
  • 收藏
  • 关注

原创 晨启,手柄版,音乐播放器设计。

当按下“下一首”或者“上一首”按键,但是已经播放至最后一首时,显示屏显示“无更多曲目!设计制作一个简易音乐播放器(通过手柄板上的蜂鸣器发声,播放2到4首音乐),同时LED模块闪烁,给人视、听觉美的感受。6.具有音乐播放模式切换键,播放模式有单曲循环、顺序播放、随机播放三种模式。按下播放按键A6开始播放音乐,再次按下停止播放;按下按键A5播放下一首,按下按键A4播放上一首;播放音乐时OLED显示相应的曲目名;口袋开发板:独立按键、OLED显示屏、蜂鸣器。单片机:I/O功能、定时/计数器、显示接口。

2024-08-25 22:44:29 285

原创 基于stm32f103C8T6移植uc/OS-III实时操作系统

uC/OS 是一个免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。它分为uC/OS-II 和uC/OS-III 两个版本。uC/OS-II 是一个实时操作系统内核,仅包含任务调度、任务管理、时间管理、内存管理和任务间的通信和同步等基本功能。uC/OS-III 是一个可升级的、可固化的、基于优先级的实时内核,它对任务的个数无限制,并且支持现代的实时内核所期待的大部分功能,例如资源管理、同步、任务间的通信等。

2023-11-26 17:19:00 2062 1

原创 基于STM32F03C8TC读取RTC日历、温湿度显示在OLED屏上

STM32的RTC外设(),实质是一个掉电后还继续运行的定时器。从 定时器的角度来说,相对于通用定时器 TIM外设,它十分简单,只有很纯粹的计时和触发 中断的功能;但从掉电还继续运行的角度来说,它却是 STM32中唯一一个具有如此强大功能的外设。所以 RTC外设的复杂之处并不在于它的定时功能,而在于它掉电还继续运行的特性。RTC是一个独立的定时器。STM32的RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当 前的时间和日期。

2023-11-23 13:27:13 1897

原创 基于stm32f103c8t6、spi协议驱动oled读取AHT20温湿度、显示学号以及显示滚动字符

SPI 协议是由摩托罗拉公司提出的通讯协议,即串行外围设 备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADCLCD等设备与MCU间, 要求通讯速率较高的场合。SPI设备之间采用全双工模式通信,是一个主机和一个或者多个从机的主从模式。主机负责初始化帧,这个数据传输帧可以用于读与写两种操作,片选线可以从多个从机选择一个来响应主机的请求。SPI通讯使用3条总线及片选线,3条总线分别为SCKMOSIMISO,片选线为从设备选择信号线,常称为片选信号线,也称为NSS。

2023-11-20 18:39:15 2544 2

原创 两台PC通过USB转TTL互传文件

总结: 两台电脑可以通过usb转ttl来传输文件,该文件可以是图片、视频、文件等,传输的时间根据传输波特率有关,且可以根据波特率来推出传输时间,但是实际传输时间因为丢失、重传、排序错乱等现象时间更加长。对比我们平时用qq、wx等方式传输文件,通过usb转ttl的传输速度是十分man的。电脑间串口连接传输文件-优快云博客。

2023-11-20 18:29:43 974 1

原创 ubuntu中调用Opencv4版本在图片中显示文字

在Ubuntu下用C/C++(或python) 调用opencv库编程显示一张图片,并打开一个名为"logo.txt"的文本文件(其中只有一行文本文件,包括你自己的名字和学号),按照名字和学号去读取汉字24*24点阵字形字库(压缩包中的文件HZKf2424.hz)中对应字符的字形数据,将名字和学号叠加显示在此图片右下位置。通过此次实验,了解到汉字的区位码、国标码的编码方式,掌握了汉字在内存中是如何存储,不同的点阵方式,以及如何通过opencv库显示文字。汉字的机内码是指在计算机中表示一个汉字的编码。

2023-11-20 18:22:37 182 1

原创 基于stm32f103c8t6和AHT20-21的IIC协议温湿度采集

IIC(Inter-总线是一种由PHILIPS公司开发的两线式串行总线,用于连接 微控制器及其外围设备。它是由数据线 SDA和时钟SCL构成的串行总线,可发送和接收数据。在 CPU与被控IC之间、IC与IC之间进行双向传送。I2C 总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。接收数据的。

2023-11-08 23:50:58 1705 3

原创 基于stm32f103c8t6、HAL库定时器控制灯亮灭&&PWM实现呼吸灯

STM32 的定时器功能十分强 大,有 TIME1和TIME8等高级定时器,也有等通用定时器,还有TIME6和 TIME7 等基本定时器。三种定时器功能如下:STM32 的通用定时器是一个通过可编程预分频器(PSC)驱动的16位自动装载计数器(CNT) 构成。STM32的通用定时器可以被用于:测量输入信号的脉冲长度输入捕获或者产生输出波 形(输出比较和PWM)等。使用定时器预分频器和RCC时钟控制器预分频器,脉冲长度和波形 周期可以在几个微秒到几个毫秒间调整。

2023-11-05 22:37:06 3943 1

原创 基于HAL库的stm32f103c8t6 串口通信实验(中断方式)

1. 通过该实验,完成了中断方式的串口通信,掌握了中断串口方式配置的流程,还有一些中断的函数。2. 实验结果分析:从实物效果,通过串口调试助手的方式,和我们设想的目标一样,当发送start时,开始通信,发送stop时,单片机就停止给PC机发送信息。实物效果还是很明显的。通过仿真的方式,查看仿真输出,的确是和我们的结果是一样的。那么可以判断其时序图也是正确的,但是在这上面不好看出具体的某一个字符。

2023-10-31 17:23:28 3384 1

原创 基于HAL库的stm32f103c8t6 串口通信实验(DMA方式)

DMA,直接存储器访问,是一种完全由硬件执行数据交换的工作方式。它由DMA控制器控制在存储器和存储器,存储器和外设之间的批量数据传输。DMA 传输方式无需 CPU 直接 控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备 开辟一条直接传送数据的通路,能使 CPU 的效率大为提高。DMA能够直接不占用CPU任何资源,直接将存储器和外设连接,让二者相互访问。STM32 最多有 2 个 DMA 控制器(DMA2 仅存在大容量产品中),DMA1 有 7 个通道。

2023-10-31 17:21:41 3975 2

原创 基于HAL库的stm32f103c8t6 串口通信实验(查询方式)

HAL_UART_Transmit是HAl库中的UART接口的数据发送函数,用于将指定长度的数据发送到UART端口。该函数是调用底层的HAL_UART_Transmit_IT或者HAL_UART_Transmit_DMA函数实现,可以实现中断或者DMA方式发送。该函数有四个参数第一个参数是串口结构体,指明是哪个串口,如UART1第二个参数是8bit位的的数据第三个参数是指明发送数据的长度大小第四个参数规定发送的时间,如果超时还没有发送完成,则返回超时标志(HAL_TIMEOUT)

2023-10-26 20:33:15 6161 1

原创 Stm32f103c8t6 基于stm32CubeMX、HAL库实现的LED流水灯,以及中断控制流水灯工作状态

1. 对比之前的寄存器开发流水灯、库函数开发版本,HAL库开发效率大幅度提高,只需要在stm32cubeMX的UI界面进行操作,很快的就能配置好所需内容,之前的寄存器开发需要去查找手册每个寄存器的作用,需要知道如何设寄存器才能有对应的效果,库函数开发相比寄存器开发效率提高了很多,我们不需要知道寄存器的作用,官方通过库函数封装起来了,只需要调用对应的库函数就能完成操作,相比之下开发效率更高,而且方便记忆。

2023-10-19 23:36:00 4600 2

原创 基于固件库的STM32 LED流水灯

根据上面的步骤,首先是需要时钟使能,在配置STM32外设的时候,任何时候都要先使能该外设的时钟,GPIO是挂载在APB2总线的外设。

2023-10-11 19:06:38 1336 2

原创 Ubuntu、STM32下的C程序中堆、栈、全局、局部等变量的分配地址,对比分析

1. 通过此次实验,知道了c语言在stm32和ubuntu中的变量、堆栈的地址分配2. 为了达到最大利用率,向下增长的Stack更好3. 对堆栈的认识更加深刻c++学习(一)常量 全局变量 局部变量 静态变量 外部变量_局部常量和全局常量-优快云博客堆(Heap)、栈(Stack)_heap stack_Lingoesforstudy的博客-优快云博客【c语言】—动态内存分配 超详细版本-优快云博客。

2023-10-07 01:05:35 507 1

原创 GCC编译步骤、动态库和静态库的创建和使用、ELF库简介及查看方法

通过上面的操作,发现一个高级语言程序,通过预处理、编译、汇编之后生成了main.o目标文件的ELF格式文件,这到底是一种怎样的文件格式呢?ELF是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件的文件格式。一个ELF文件一般由四个部分组成:ELF header里面存放着很多整体分布的信息,如文件类型、版本信息等;描述的是一个段在文件中的位置、大小以及它被放进 内存后所在的位置和大小;Section将文件分成一个个节区,每个节区都有其对应的功能,如.text 用于存放机器码;

2023-10-05 02:12:43 4862 1

原创 STM32寄存器点亮流水灯实验 实物+Proteus仿真

目录一、Keil5程序编写与思路 1. 程序思路: 2. GPIOA端口使能 3. 端口配置 4. 端口操作和完整程序源码二、 Proteus8.15 仿真 1. Proteus8. 15 下载和安装 2. 在keil5中编译上面的代码,生成hex文件 3. Proteus8.15 新建项目,导入hex文件仿真 4. 仿真效果 三、 JLink烧录程序和实物效果 1. 安装Jlink驱动 2. 配置Jlink烧录环境

2023-09-28 22:02:07 4444 5

原创 Keil4与Proteus联合仿真实现流水灯实验&&STM32实现通过寄存器实现流水灯

stm32采用的是Cortex-M3处理器,32位操作系统,具有:32位寄存器、32位内部数据通路以及32位总线接口。那么其寻址能力就是2^32bit=4GCortex-M3采用的是哈佛计算机结构,即数据、指令分开存储,具有数据存储器和指令存储器其最大4G的地址分配如下:将4GB的大小分为代码区0.5GB、SRAM0.5GB、外设0.5GB、外部存储器RAM1G、外部设备 1G和私有外设0.5GB。

2023-09-24 18:31:55 10017 3

原创 Ubuntu 用gcc/CMakefile编译器 编译、运行c语言程序

所有库都是一些函数打包后的集合,差别在于静态库每次被调用后都会生成一个副本,而动态库则只有一个副本,更省空间。生成了main2 main3 可执行文件,liblibsub1.a静态库 以及liblibsub2.so动态库。思路:先编写sub1.c程序,再将封装为库函数,在主函数中引用sub1.c的头文件,调用其库函数。g++ a -o b 将a文件用c++的编译方式编译出名字b的可执行文件。3. 将sub1.c封装为名为libsub1的静态库。4. 将sub1.c封装为名为libsub2的动态库。

2023-09-13 23:17:50 7276 4

原创 QT连接SQL可视化实现《简易医院信息管理系统》

QT连接SQL可视化实现《简易医院信息管理系统》(1)可以实现对科室、病房、医生、病人的信息进行增、删、改、查功能。(3)医生可以对病人病历信息的填写,决定其能否出院。(2)可以查看同一科室的医生信息。

2022-12-12 12:30:08 583 2

原创 提示用户输入一行文本,以“.”结束。单词之间空格的数量不确定,输出其中每个单词和长度 .不输出 (不用数组,字符串知识)

直接上代码:#include <iostream>using namespace std;#include <string.h> struct Word { string n; Word* nect; }; Word* creatlist() { string g = "."; Word* head = NULL; Word* pre = head; ...

2022-05-10 11:45:56 273

原创 C++大于10的最小二进制,八进制,十进制都是回文数暴力简单求解

代码如下:#include <iostream>using namespace std;long int B(long int x){ long int m, b = 0; while (x > 0) { m = x % 10; x = x / 10; b = b * 10 + m; } return b;}int main(){ int x = 11, a[100], b[100...

2022-05-07 18:13:40 761

空空如也

空空如也

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

TA关注的人

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