logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

(嵌入式操作系统)信号量

信号量是用于控制多线程/进程同步访问共享资源的机制,由Dijkstra于1965年提出,通过计数器避免竞争条件。主要分为二进制信号量(0/1值,用于互斥)和计数信号量(非负整数,限制并发量)。信号量通过获取/释放操作实现资源管理,如二进制信号量保护临界区,计数信号量模拟停车场车位管理。使用时需先创建句柄,通过rt_sem_create/take/release等函数操作。示例工程展示了按键控制停车

文章图片
#嵌入式硬件#c#
(实时操作系统)消息队列

消息队列是一种用于线程间异步通信的数据结构,支持先进先出(FIFO)和优先级排队方式。RT-Thread中的消息队列具有超时机制、紧急消息发送、支持不同长度消息等特性。创建队列时需分配内存并初始化空闲消息链表。发送消息时从空闲链表获取块并挂到队尾,队列满时返回错误;接收消息时线程可选择立即返回、超时等待或死等。实验演示了通过按键触发消息发送,接收线程打印消息的过程,展示了队列在RT-Thread中

文章图片
#java#jvm#开发语言 +2
LED流水灯控制代码详解

本文介绍了一种使用位移运算符优化LED流水灯控制的方法。通过分析传统逐位点亮LED的繁琐代码,作者提出利用左移运算符(<<)和取反运算符(~)简化控制逻辑。核心实现方案是:定义一个无符号变量LED,在for循环中通过P0=~(0X01<<LED)语句实现LED灯依次点亮,每500ms移动一位。这种方法相比原始方案减少了大量重复代码,仅需一个循环即可完成8个LED的流水效果。

文章图片
#51单片机#单片机
(实时操作系统)线程管理

摘要:本文介绍了RT-Thread实时操作系统线程的基本概念,包括线程优先级机制(数字越小优先级越高)和状态转换。重点讲解了动态线程的创建步骤:定义句柄、创建入口函数、初始化线程及启动线程,并以按键扫描线程为例进行说明。同时介绍了RT-Thread的轻量级打印函数rt_kprintf的特点及实现原理。最后指出实验需注意的移植要点:添加头文件、设置波特率、移植串口驱动等。通过Proteus仿真可观察

文章图片
#开发语言#嵌入式硬件#c语言
EEPROM&DCP&I2C

摘要:本文介绍了I2C总线协议及其在STM32上的应用实现。首先概述I2C的双线制、多主从架构等核心特性,详细说明其物理层和协议帧结构。然后重点讲解EEPROM存储器的特点和I2C通信实现方法,包括X24C02的读写函数和MCP4017数字电位器的控制函数。最后通过实验演示了使用I2C实现EEPROM数据存储和电位器调节功能,包括上电次数记录和电阻值动态调整。整个方案展示了I2C在嵌入式系统中连接

文章图片
#单片机#嵌入式硬件
到底了