
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
Linux系统基础与开发流程摘要 Linux是一个多任务、多用户操作系统,以"万物皆文件"为核心理念。系统由内核(kernel)和外壳(shell)组成,shell命令实质是可执行程序。开发流程包括:在Windows共享文件夹编写代码→用gcc/g++编译→执行a.out程序。常用命令:cd切换目录、ls查看文件、pwd显示路径。编辑器vi有三种模式:命令模式(dd删除/yy复制)、编辑模式和底行

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

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

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

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








