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

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

实验过程中的关键点包括uc/OS-III内核的移植和配置、任务的创建和调度、任务之间的同步与通信。在实验中,通过uc/OS-III提供的同步机制,如信号量,实现了LED任务之间的同步控制。在进行嵌入式实时操作系统(RTOS)的学习和实验过程中,通过将uc/OS-III移植到STM32F103上并构建多个任务,我深刻体会到RTOS的强大和灵活性。实时操作系统在嵌入式系统中的应用是至关重要的。- 在uC/OS系列中,还有uC/OS-II等版本,每个版本在功能和性能上有一些差异,可以根据具体需求选择适当的版本。

2023-11-27 12:48:41 43 1

原创 数字温度计

在实验中,我了解到STM32F103C8T6内部的RTC模块提供了对年、月、日、时、分、秒等时间信息的准确获取和管理。在进行STM32F103的RTC与OLED显示模块实验的过程中,我深刻领悟到了实时时钟的重要性以及如何通过OLED显示模块将多种信息直观地展示给用户。5) 掌握数据处理和显示控制的技巧,将获取到的时间、日期、温度和湿度信息在 OLED 屏显模块上进行实时显示。2) 读取AHT20的温度和湿度,通过OLED,把年月份时分秒、日历和实时温度、湿度显示出来,2秒周期。

2023-11-25 17:58:13 536

原创 汉字点阵与OLED屏显

在嵌入式实验中,我们通过理解汉字的编码规则和字形数据存储格式,以及使用点阵字库文件,成功实现了在嵌入式系统上显示汉字的功能。首先,我们了解了汉字的编码规则,通过编码规则可以将字符与其对应的码位进行转换。然后,我们研究了汉字的字形数据存储方式。汉字的字形数据可以通过点阵方式表示,即将一个汉字的图形划分为一个个点的阵列,每个点可以用0或1来表示。字形数据的存储格式可以是横向排列的点阵,也可以是竖向排列的点阵。接着,我们使用点阵字库文件,该文件包含了每个汉字的字形数据。

2023-11-19 22:50:22 34

原创 IIC协议读取温湿度数据

在实验过程中,首先需要明确“软件I2C”和“硬件I2C”的概念,软件I2C是通过程序模拟实现I2C协议的通信,硬件I2C则是通过专用硬件电路实现I2C协议的通信。本次实验学习了I2C总线通信协议,通过使用STM32F103单片机,实现了基于I2C协议的AHT20温湿度传感器的数据采集,并将采集的数据通过串口输出到上位机。硬件连接:首先,将传感器的VCC引脚连接到供电电源,将GND引脚连接到地线,然后将SDA引脚连接到主控芯片的SDA引脚,将SCL引脚连接到主控芯片的SCL引脚。

2023-11-15 10:55:29 501

原创 定时器&PWM应用编程

实验总结:本次实验是STM32中外部中断和定时器应用的综合实践,通过掌握和应用这些核心知识点,进一步提高了STM32的应用水平,同时也掌握了HC-SR04超声波测距传感器的工作原理和使用方法,扩展了微控制器的应用范围。HC-SR04的一端发出超声波,接触到反射物后反射,被另一个端口接收到,所以只要知道发射和接收的时间差,就可以根据声波传播的速率算出HC-SR04和反射物直接的距离。//设置显示时钟分频比/振荡器频率。

2023-11-05 14:33:09 36 1

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

最被广泛使用的是RS-232C,它将mark(on)比特的电压定义为-3V到-12V之间,而将space(off)的电压定义到+3V到+12V之间。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3~7kΩ。3 .RS-485(EIA-485标准)是RS-422的改进, 支持多对多(2线连接),从10个增加到32个,可以用超过4000英尺的线进行串行通行。于是TTL电平的输入低电平的噪声容限就只有(0.8-0)/2=0.4V,高电平的噪声容限为(5-2.4)/2=1.3V。

2023-11-02 21:11:54 26 1

原创 STM32/51单片机编程入门(点亮LED)

差别之处在于,对内存的读写操作是通过 CPU 访问内存地址完成的,而对外部设备的操作是通过与芯片上的寄存器进行通信实现的。//GPIOA_BASE=0x40000000+0x10000+0x0800=0x40010800,该地址为GPIOA的基地址。//GPIOE_BASE=0x40000000+0x10000+0x0800=0x40011800,该地址为GPIOE的基地址。//GPIOF_BASE=0x40000000+0x10000+0x0800=0x40011C00,该地址为GPIOF的基地址。

2023-10-31 22:20:01 120 1

原创 嵌入式Linux开发基础

请在ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行;,在windows系统下熟悉的编译工具编译主程序main1.c 并运行。,在ubuntu系统下用Makefile方式编程主程序。(1)建立文件“main1.c”“sub1.h”(1)建立文件“Helloworld.c”

2023-10-31 21:16:10 24 1

原创 STM32串口通信入门

如波特率、数据位、校验位和停止位等,每个参数的选择都对通信的正常运行有着重要的影响。串口通信是STM32开发中常见的应用场景之一,通过实践,我们熟悉了串口通信模块的配置和使用方法,为以后更复杂的项目打下了基础。最被广泛使用的是RS-232C,它将mark(on)比特的电压定义为-3V到-12V之间,而将space(off)的电压定义到+3V到+12V之间。3 .RS-485(EIA-485标准)是RS-422的改进, 支持多对多(2线连接),从10个增加到32个,可以用超过4000英尺的线进行串行通行。

2023-10-26 22:41:33 30

原创 基于HAL库的LED流水灯

然后,通过使用HAL库提供的`HAL_GPIO_WritePin()`函数,可以简便地控制GPIO引脚的电平状态,从而打开或关闭LED灯。同时,使用`HAL_Delay()`函数添加适当的延迟时间,使LED灯依次亮灭,形成流水灯的效果。控制LED灯的闪烁:一般流水灯实验中,LED灯会按照一定的顺序依次亮灭,形成流水灯的效果。首先,在编写STM32程序之前,需要引入STM32的HAL库头文件,这些头文件提供了丰富的函数和宏定义,方便了对微控制器的各个部分的控制。实验主题:基于HAL库的LED流水灯。

2023-10-24 22:59:41 45

原创 基于标准外设库的LED流水灯

将USER文件夹中导入main.c、stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h文件。在define一栏中输入以下内容STM32F10X_MD,USE_STDPERIPH_DRIVER,并进行相应设置。在CORE文件中导入core_cm3.c、system_stm32f10x.c文件,点击ok完成设置。在FWLIB文件中导入startup_stm32f10x_md.s文件。创建bsp_led.h文件并编写相应内容。实验代码以及运行结果。

2023-10-16 21:58:16 27 1

原创 嵌入式作业

一.1.gcc生成可执行的动态静态库步骤如下:第1步:创建hello.h、hello.c 和 main.c文件第 2 步:将 hello.c 编译成 .o文件第 3 步:由.o 文件创建静态库第 4 步,程序中使用静态库:第 5 步:.s文件的建立第6步,程序使用动态库2.生成静态和动态文件并进行链接步骤如下:1.创建sub1.h、sub2.h、main.c、sub1.c、sub2.c文件2.静态库.a文件的使用3.动态库.so文件使用二.(1)centos环境下安装gcc。

2023-10-07 22:25:57 31 1

原创 嵌入式实验一

0x40010C0C) //----------------GPIOC配置寄存器 ------------------------)0x4001080C)//----------------GPIOB配置寄存器 ----- #define GPIOB_CRH。)0x4001100C) //-------------------简单的延时函数-----------------------} //------------------------主函数--------------------------

2023-10-07 21:15:50 56 1

原创 嵌入式作业(第2周--- STM32/51单片机编程入门(点亮LED)

2. 对内存和外部设备(寄存器和相关管脚)的操作相同和差别: 相同之处在于,无论是对内存中的变量还是对外部设备,操作都需要通过对相应的地址进行读写。差别之处在于,对内存的读写操作是通过 CPU 访问内存地址完成的,而对外部设备的操作是通过与芯片上的寄存器进行通信实现的。因此,进行STM32的LED点灯编程时,需要进行更多的初始化和配置,以确保正确地控制GPIO端口。差异点:对内存中的变量进行修改操作时,我们可以直接通过变量名进行操作,而对外部设备的操作则需要通过特定的寄存器和相关管脚来实现。

2023-09-24 18:20:52 55 1

空空如也

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

TA关注的人

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