- 博客(30)
- 收藏
- 关注
原创 STM32F103 AT24C02 EEPROM驱动代码
AT24C02是一个2K位串行非易数据存储器,内部包含一个8字节数据缓冲器,数据通过IIC总线进行传输。
2023-10-28 23:39:50
603
原创 C语言&变量和常量
被修饰的局部变量生命周期和全局变量一致,但是作用域还是在{}内,无法改变。如果想增加局部变量的生命周期可以用Static进行修饰。全局变量的作用域是全局可用的,任何地方都可使用此变量。局部变量的生命周期从创建后开始直到运行跳出{ }结束。局部变量的作用域从创建后生效直到运行跳出{ }失效。全局变量的生命周期持续到整个程序结束而终止。是指在程序运行时其值不可以改变的量。是指在程序运行时其值可以改变的量。变量分全局变量和局部变量2种。语言中的常量分为以下几种。
2023-05-25 14:27:28
192
原创 C语言&数据类型
数据类型说明字节取值范围(unsigned)取值范围(signed)char字符型10~255-128 ~ 127short短整型20~65535int整型4long长整型4float单精度浮点型4double双精度浮点型82^(64)
2023-05-22 18:27:32
161
原创 FreeRTOS学习笔记 & 任务通知
从 V8.2.0 版本开始,FreeRTOS 新增了任务通知这个功能,可以使用任务通知来代替信号量、消息队列、事件组等这些东西。使用任务通知的话效率会更高每个任务都有一个32 位的通知值,在大多数情况下,任务通知可以替代二值信号量、计数信号量、事件组,也可以替代长度为 1 的队列(可以保存一个 32 位整数或指针值)。相对于以前使用 FreeRTOS 内核通信的资源,必须创建队列、二进制信号量、计数信号量或事件组的情况,使用任务通知显然更灵活。
2023-05-01 19:06:13
341
原创 FreeRTOS学习笔记 & 软件定时器
定时器几乎每个 MCU 都有的外设,有的 MCU 其定时器功能异常强大,比如提供 PWM、输入捕获等功能。但最常用的还是定时器基础定时功能,通过定时器来完成需要周期性处理的事务。MCU 自带的定时器属于硬件定时器,不同的 MCU 其硬件定时器数量不同,因为要考虑成本问题。FreeRTOS 也提供了定时器功能,不过是软件定时器,软件定时器的精度肯定是没有硬件定时器那么高,但对于普通的精度要求不高的周期性处理的任务来说够了。
2023-05-01 16:00:20
1252
原创 FreeRTOS学习笔记 & 事件标志组
事件通讯是一种任务之间的通讯机制,实现任务之间信息同步事件通讯只能实现事件类型数据通讯,不提供数据传输功能(与消息队列不同)事件通讯可以等待单个或多个事件的发生,来唤醒阻塞任务进行处理。
2023-04-29 22:17:09
527
原创 FreeRTOS学习笔记 & FreeRTOS队列集
一个队列只允许任务间传递的消息为同一种数据类型,如果需要在任务间传递不同数据类型的消息时,那么就可以使用队列集!队列集用于对多个队列或信号量进行“监听”其中不管哪一个消息到来,都可让任务退出阻塞状态。
2023-04-29 21:17:25
231
原创 FreeRTOS学习笔记 & FreeRTOS消息队列
队列是为了任务与任务、任务与中断之间的通信而准备的,可以在任务与任务、任务与中断之间传递消息,队列中可以存储有限的、大小固定的数据项目。任务与任务、任务与中断之间要交流的数据保存在队列中,叫做队列项目。队列所能保存的最大数据项目数量叫做队列的长度,创建队列的时候会指定数据项目的大小和队列的长度。由于队列用来传递消息的,所以也称为消息队列。
2023-04-24 22:12:11
1090
原创 FreeRTOS学习笔记 & FreeRTOS任务管理
从系统的角度看,任务是竞争系统资源的最小运行单元。FreeRTOS 是一个支持多任务的操作系统。在 FreeRTOS 中,任务可以使用或等待 CPU、使用内存空间等系统资源,并独立于其它任务运行,任何数量的任务可以共享同一个优先级,如果宏 configUSE_TIME_SLICING 定义为 1,处于就绪态的多个相同优先级任务将会以时间片切换的方式共享处理器。简而言之:FreeRTOS 的任务可认为是一系列独立任务的集合。每个任务在自己的环境中运行。
2023-04-23 22:45:05
1160
原创 FreeRTOS学习笔记 & FreeRTOS任务创建
在裸机系统中,系统的主体就是 main 函数里面顺序执行的无限循环,这个无限循环里面 CPU 按照顺序完成各种事情。在多任务系统中,我们根据功能的不同,把整个系统分割成一个个独立的且无法返回的函数,这个函数我们称为任务。
2023-04-23 14:36:21
542
原创 FreeRTOS学习笔记 & FreeRTOSConfig.h 配置及介绍
FreeRTOSConfig.hFreeRTOS基础配置配置选项/* 置1:RTOS使用抢占式调度器;置0:RTOS使用协作式调度器(时间片) * * 注:在多任务管理机制上,操作系统可以分为抢占式和协作式两种。 * 协作式操作系统是任务主动释放CPU后,切换到下一个任务。 * 任务切换的时机完全取决于正在运行的任务。 */#define configUSE_PREEMPTION 1/* 某些运行FreeRTOS的硬件有两种方法选择下一个要执行的任务: * 通用方法和特定于
2023-04-18 21:08:17
474
原创 FreeRTOS学习笔记 & FreeRTOS移植
里面包含了 FreeRTOS 官方为各个单片机移植好的工程代码,FreeRTOS 为了推广自己,会给各种半导体厂商的评估板写好完整的工程程序,这些程序就放在 Demo 这个目录下,这部分 Demo 非常有参考价值里面包含的是 FreeRTOS 内核的源代码,我们移植 FreeRTOS的时候就需要这部分源代码这个文件夹里面就是相关的许可信息,要用 FreeRTOS 做产品的得仔细看看,尤其是要出口的产品Source文件夹。
2023-04-18 17:22:35
1256
原创 STM32学习笔记 & 通用和复用功能I/O(GPIO和AFIO) 04
STM32学习笔记 & 通用和复用功能I/O(GPIO和AFIO) 04
2023-02-28 16:41:34
343
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人