自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

OSRdyList[0]为OS_RDY_LIST类型,从上面OS_RDY_LIST结构体可以看到成员变量:HeadPtr和TailPtr分别指向OS_TCB,我们知道OS_TCB是可以用来构造链表的,因此同一个优先级下的所有任务是通过链表来管理的,HeadPtr和TailPtr分别指向这个链表的头和尾,NbrEntries用来记录此优先级下的任务数量,图5.5.2表示了优先级4现在有3个任务时候的就绪任务列表。任务控制块是用来记录与任务相关的信息的数据结构,每个任务都要有自己的任务控制块。

2024-01-18 01:46:36 407 1

原创 阅读资料了解 STM32F103的RTC(实时时钟)原理,使用带SPI或IIC接口的OLED屏显模块实现以下功能:1) 读取STM32F103C8T6 内部的时钟(年月日时分秒),日历(星期x),

一.了解时钟RTCRTC (Real Time Clock):实时时钟RTC是个独立的定时器。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。在断电情况下 RTC仍可以独立运行 只要芯片的备用电源一直供电,RTC上的时间会一直走。RTC实质是一个掉电后还继续运行的定时器,从定时器的角度来看,相对于通用定时器TIM外设,它的功能十分简单,只有计时功能(也可以触发中断)。

2023-11-26 02:57:21 977 1

原创 stm32+(4SPI)OLED显示数据

2.2 SPI三线总线和多IO配置除了标准的4线配置外,SPI接口还扩展到包括各种IO标准,包括用于减少引脚数的3线和用于更高吞吐量的双或四I/O。在3线模式下,MOSI和MISO线路组合成单个双向数据线,如图3所示。事务是半双工的,以允许双向通信。减少数据线的数量并以半双工模式运行也会降低最大可能的吞吐量;许多3线设备具有低性能要求,而设计时考虑到低引脚数。多I/O变体(如双I/O和四I/O)在标准外添加了额外的数据线,以提高吞吐量。

2023-11-21 10:59:42 168 1

原创 第10周实验---IIC协议读取温湿度数据

主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用的,因而效率要远高于软件模拟的I2C;

2023-11-21 10:44:51 79 1

原创 一. 使用STM32F103的 Tim2~Tim5其一定时器的某一个通道pin(与GPIOx管脚复用,见下图),连接一个LED,用定时器计数方式,控制LED以2s的频率周期性地亮-灭。 二. 接上,采

当下降沿到来的时候,发生第二次捕获,计数器 CNT的值会再次被锁存到捕获寄存器 CCR中,并再次进入捕获中断,在捕获中断中,把捕获寄存器的值读取到 value3中,并清除捕获记录标志。注意:一般而言,尽量选用PWM口进行PWM输出,因为普通IO口模拟PWM的输出频率越高,进入定时器中断的次数就越快,中断间隔的时间越短,如果再有其他类型的中断也要处理时,会因为中断的优先级嵌套等待响应,影响控制精度,PWM输出误差增大,也会影响其他如ADC等中断处理,甚至会较出现单片机逻辑出错,死机或者跑飞的情况。

2023-11-08 20:30:10 1264 1

原创 STM32定时器&PWM应用编程

实验前言:本实验旨在深入了解STM32定时器的工作原理,并掌握使用定时器生成脉宽调制(PWM)信号的方法。STM32定时器是一种非常重要的外设,可用于实现定时、计数、捕获、比较和PWM等功能。在本实验中,我们将使用STM32开发板和相关的开发环境,通过编程配置定时器和PWM输出,实现对LED灯的亮度控制。具体步骤如下:首先,了解STM32定时器的基本概念和工作原理。定时器通常由一个或多个计数器、预分频器和控制寄存器组成。通过配置这些寄存器,我们可以实现不同的定时和计数功能。

2023-11-07 20:48:18 71

原创 流水灯点亮实验

stm32的点灯则是,通过使能外设GPIO时钟,发出指令给外设GPIO,外设GPIO收到指令后,着手配置自己的寄存器,然后给IO口模式,让其实现各种功能,过程为:CPU给指令->GPIO收到指令->配置内部寄存器->配置IO口模式(注意是模式)->控制LED亮灭。本次实验采用通用推挽输出模式,最高输出时钟频率2Mhz。单纯从学习的角度出发,可以选择 F1和 F4,F1代表了基础型,基于 Cortex-M3内核,主频为 72MHZ,F4 代表了高性能,基于 Cortex-M4 内核,主频 180M。

2023-10-31 22:21:04 68 1

原创 STM32串口通信入门

前言本实验旨在通过STM32微控制器实现串口通信功能。串口通信是一种常见的通信方式,广泛应用于各种嵌入式系统和物联网设备中。通过串口通信,我们可以实现与外部设备的数据传输和交互。本实验将使用STM32微控制器和一台计算机进行串口通信。我们将通过配置STM32的串口模块,并编写相应的程序,实现STM32与计算机之间的数据传输。在本实验中,我们将完成以下任务:配置STM32的串口模块:配置串口的波特率、数据位、停止位和校验位等参数。

2023-10-26 22:59:33 113

原创 基于HAL库的LED流水灯

(2)如下所示的选择型界面,勾选所需的HAL库,本教程开发的STM32F103C8t开发板作为演示,选择的则为STM32F1 —>STM32Cube MCU Package for STM32F1 Series 1.8.5版本。,本实验选择PA5、PB0、PC14点击右侧芯片,找到所需要的端口,并将其设置为GPIO_Output,然后修改Pin脚的电平,将其设置为高电平。观察波形图可以发现,GPIOA、GPIOB、GPIOC口的流水灯轮流被点亮,间隔为两秒,高低电平转换周期以及LED闪烁的周期为3秒。

2023-10-24 23:14:57 28

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

在嵌入式系统中,由于存储空间有限,寄存器是一种较为常用的存储方式。b. 51 单片机的 GPIO 端口配置相对简单,通常只需配置方向寄存器和速度寄存器,而 STM32 的 GPIO 端口配置需要考虑更多的参数,如复用功能、时钟源等。c. 51 单片机的 LED 驱动通常只需配置一个方向寄存器,即可实现点亮或熄灭,而 STM32 需要配置多个寄存器,如方向寄存器、速度寄存器、复用寄存器等。c. 对内存中的变量操作,通常不需要考虑时序问题,而对外部设备操作需要考虑时序,如读写操作的时序、锁存器等。

2023-09-26 22:39:17 92 1

原创 嵌入式Linux开发基础

嵌入式第一周作业

2023-09-15 18:01:40 142

空空如也

空空如也

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

TA关注的人

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