自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

学习嵌入式实时操作系统(RTOS),以uc/OS-III为例,将其移植到stm32F103上,构建至少3个任务(task):其中两个task分别以1s和3s周期对LED等进行点亮-熄灭的控制;另外一个task以2s周期通过串口发送“hello uc/OS!欢迎来到RTOS多任务环境!记录详细的移植过程。在实验过程中,我遇到了一些问题。例如,我忘记了包含标准输入输出库的头文件,导致编译错误。此外,我还忘记了为uC-BSP文件夹新建bsp.c和bsp.h文件,导致后续的移植工作出现问题。

2023-11-27 21:47:51 197 1

原创 STM32日历读取串口输出

实时时钟的缩写是RTC(Real_Time Clock),核心是晶振,晶振频率一般为32768 Hz。它为分频计数器提供精确的与低功耗的实基信号。它可以用于产生秒、分、时、日等信息。为了确保时钟长期的准确性,晶振必须正常工作,不能够受到干扰。RTC的晶振又分为:外部晶振和内置晶振。

2023-11-25 17:24:03 311

原创 OLED屏显

文章目录前言一、SPI协议简介二、OLED显示二、实现过程总结前言理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI或IIC接口实现以下功能:显示自己的学号和姓名;显示AHT20的温度和湿度;上下或左右的滑动显示长字符,比如“Hello,欢迎来到重庆交通大学物联网205实训室!”或者一段歌词或诗词(最好使用硬件刷屏模式)。一、SPI协议简介1.SPI协议SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信

2023-11-19 17:31:39 207 1

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

汉字机内码,又称“汉字ASCII码”,简称“内码”,指计算机内部存储,处理加工和传输汉字时所用的由0和1符号组成的代码。输入码被接受后就由汉字操作系统的“输入码转换模块”转换为机内码,与所采用的键盘输入法无关。机内码是汉字最基本的编码,不管是什么汉字系统和汉字输入方法,输入的汉字外码到机器内部都要转换成机内码,才能被存储和进行各种处理。因为汉字处理系统要保证中西文的兼容,当系统中同时存在ASCII码和汉字国标码时,将会产生二义性。

2023-11-19 16:31:52 316 1

原创 两台电脑之间的串口传输

串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。参考地址参考1.在传输过程中,可以看出,文件的传输速率在一定程度上与波特率相关,在一定范围内,与波特率成正相关,倍数增长,传输消耗时间减少。

2023-11-16 14:18:12 273 1

原创 stm32f103c8t6配置iic使用AHT20传感器cubemx

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。2C总线上允许连接多个微处理器以及各种外围设备,如存储器、LED及LCD驱动、A/D及D/A转换器等。为了保证数据可靠地传送,任一时刻总线只能由某一台主机控制,各微处理器应该在总线空闲时发送数据。通过本次实验,详细了解到了I2C总线协议,以及AHT20温湿度传感器的使用,受益匪浅!

2023-11-13 17:20:55 568

原创 stm32使用cubemx配置pwm呼吸灯

PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于有效电平的时间占据整个信号周期的百分比。PWM是脉冲宽度调制。有效电平持续的时间占整个周期的百分比称为占空比本人在学习STM32过程中发现网上的PWM相关知识比较散乱,对于小白或新手而言会有很多不了解的地方。

2023-11-04 21:27:08 641 1

原创 stm32cubemx配置dma串口通信

STM32DMA指的是STMicroelectronics公司生产的基于ARM Cortex-M系列处理器中内置的DMA(Direct Memory Access,直接存储器访问)功能,并集成在STM32微控制器中的DMA控制器。STM32DMA具有以下特点:高带宽、低延迟:通过DMA控制器,数据可以在不占用CPU时间的情况下,直接在外设和内存之间传输,实现高带宽、低延迟的数据传输。灵活配置:STM32DMA支持多通道、多优先级、循环/单次传输等丰富的传输模式,可以根据应用场景和需求进行灵活配置。

2023-10-29 20:43:33 882 1

原创 stm32cubemx配置串口中断

我们是通过串口通信吗,设置串口1,单片机发送hellow windows,一直发送,当上位机发送#号到单片机时停止发送,当上位机*号到单片机时开始发送。

2023-10-26 13:04:33 1775

原创 stm32c8t6 cubemx配置流水灯并使用外部中断控制

输入工程名称,选择编写环境用kiel5,就跟着我选。选择我们stm32芯片类型,我们选的是c8t6。根据上图的教程,就能完成工程的创建配置,接下来。我们需要编写中断回调函数,在main函数外面。然后开启外部中断,到此,程序配置得差不多了。

2023-10-22 16:12:28 405 1

原创 STM32F103C8T6标准库流水灯

首先需要创建工程,我们创建工程可以参考其他人的博客,或者用已经有的工程,在已经创建好的工程里直接编程。如下所示,我们是通过程序延时,下面的延时并不准确,只是粗略的延时。上面代码是开启GPIOA与GPIOC的时钟。上面的代码就是对电灯进行编写,死循环。有什么问题可以直接私信我,我都会解答的。定义一个结构体变量,来编写引脚的模式。我开启的PA6,PA5,PA7引脚。打开我们的工程,直接开始编写代码。然后我们需要对主函数的进行编写。上面的代码就可以完成流水灯。在while中编写如下代码。首先我们需要开启时钟,

2023-10-13 20:09:54 181

原创 STM32F103c8t6使用CubeMX配置串口通信

这里我们可以看到波特率115200,数据长8bit,没有奇偶校验,停止位1;HAL_UART_Transmit():串口发送数据,使用超时管理机制。HAL_UART_Receive():串口接收数据,使用超时管理机制。HAL_UART_Transmit_DMA():串口DMA模式发送。HAL_UART_Transmit_DMA():串口DMA模式接收。HAL_UART_Transmit_IT():串口中断模式发送。这样我们就配置好了,这个串口,我们需要开启串口,第一步,打开cubumx创建工程。

2023-09-29 23:11:19 550 1

原创 Ubuntu18.04gcc的深入学习生成静态库,动态库

共享库的代码是在可执行程序运行时才载入内存的,在编译过程中仅简单的引用,因此代码体积较小。C标准库定义了一组标准头文件,每个头文件中包含一些相关的函数、变量、类型声明和宏定义,譬如常见的 printf函数便是一个C标准库函数,其原型定义在stdio头文件中。在windows中静态库是以 .lib 为后缀的文件,共享库是以 .dll 为后缀的文件。在linux中静态库是以.a为后缀的文件,共享库是以.so为后缀的文件。如果要将多个.o目标文件生成一个库文件,则存在两种类型的库,一种是静态库,另一种是动态库。

2023-09-29 01:20:35 170 1

原创 STM32f103c8t6寄存器点亮流水灯教程

STM32F103C8T6汇编语言流水灯

2023-09-27 20:13:04 551

原创 51单片机流水灯等与stm32的对比

这是因为寄存器的数量有限,编译器可能会根据优化策略和当前的寄存器分配情况来决定是否将变量存储在寄存器中。.与PC平台上的一般程序不同,嵌入式C程序经常会看见 register和volatile 关键字,请解释这两个变量修饰符的作用,并用C代码示例进行说明。register修饰符的使用场景通常是对频繁访问的变量进行优化,以减少内存访问的开销。在嵌入式C程序中,经常会看到register和volatile这两个变量修饰符,它们用于对变量的行为和存储进行修饰。我使用的是寄存器的方法来编写的,

2023-09-24 21:58:32 112 1

原创 关于中ubuntu18.04编写简单的c程序并使用gcc与Makefile编译

请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;在本次实验中学会了如何使用nano来编写c程序,再使用gcc来编译程序,学习心新的方法来实现同样的目的,本次学习我遇到了很多很多的问题,不断的发现问题并解决问题,才能达到我们的目的。我使用的是nano编写的,在终端编写nano main1.c。使用gcc执行我们的文件,

2023-09-15 19:35:08 95

原创 关于对安装ubuntu18.04系统时出现Failed to open \EFI\BOOT\mmx64.efi-Not Found

遇到这个问题Failed to open \EFI\BOOT\mmx64.efi-Not Founww

2023-09-14 21:56:24 1463 1

STM32F103C8T6标准库流水灯

STM32F103C8T6标准库流水灯

2023-10-11

空空如也

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

TA关注的人

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