© 2026 SouL87
C基础知识
内存分区 内存栈区: 存放局部变量名,自动释放; 内存堆区: 存放new或者malloc出来的对象,手动释放或系统释放; 全局区(静态区):data sagment 全局变量和静态变量的存储区域是在一起的,程序结束后由系统释放。 常量区:常量字符串就是放在这里的。 程序结束后由系统释放 代码区:二进
11
|
0
STM32基础知识
本文概述了 STM32 的若干基础知识。首先说明计算机中负数以补码形式存储,补码等于反码加 1。随后介绍 GPIO 的 8 种工作模式,包括输入浮空、输入上拉、输入下拉、模拟、开漏输出、推挽输出、开漏复用和推挽复用,并简述其典型用途,如 IIC 常用开漏,SPI 常用推挽复用。
在通信部分,文章对串行与并行通信、同步与异步通信进行了对比,指出串行通信占用 IO 少、距离长、成本低,而并行通信速率高但抗干扰较弱。接着总结了 UART、1-Wire、IIC、SPI 的引脚组成、同步方式和传输方向,并重点比较了 SPI 与 IIC 在通信方式、接口、拓扑、从机选择、速率和数据格式上的差异。
文章还梳理了常见电平标准,包括 RS-232、CMOS、TTL 和 RS485,并比较了 TTL、RS232、RS485 在通信方式、信号线、电平标准、拓扑、距离、速率和抗干扰能力方面的特点。最后分别介绍 I2C、SPI、RS485 的基本原理与应用场景,强调 RS485 采用差分传输、抗干扰能力强,常用于工业控制,并引出 Modbus 协议及其基于串口和 EIA-485 物理层的应用背景。
0
|
0
RTOS信号量
信号量 什么是信号量 信号量是一种解决同步问题的机制,可以实现对共享资源的有序访问 信号量简介 当计数值大于0,表示有信号量资源。 当释放信号量,信号量计数值(资源数)加一。 当获取信号量,信号量计数值(资源数)减一。 信号量的计数值都是有限的:限定最大值。 如果最大值被限定为1,那么它就是二值信号
0
|
0
RTOS消息队列
队列 FreeRTOS中的消息队列是什么 答:消息队列是任务到任务、任务到中断、中断到任务数据交流的一种机制(消息传递)。 消息队列和全局变量的区别 类似全局变量?假设有一个全局变量a = 0,现有两个任务都在写这个变量a 全局变量的弊端:数据无保护,导致数据不安全,当多个任务同时对该变量操作时,数
0
|
0
RTOS任务 状态&运行时间查询
FreeRTOS任务相关API函数 函数 描述 uxTaskPriorityGet() 获取任务优先级 vTaskPrioritySet() 设置任务优先级 uxTaskGetNumberOfTasks() 获取系统中任务的数量 uxTaskGetSystemState() 获取所有任务状态信息 v
0
|
0
RTOS任务 状态&运行时间查询
RTOS任务 状态&运行时间查询 FreeRTOS任务相关API函数 函数 描述 uxTaskPriorityGet() 获取任务优先级 vTaskPrioritySet() 设置任务优先级 uxTaskGetNumberOfTasks() 获取系统中任务的数量 uxTaskGetSystemSta
0
|
0
RTOS时间管理-延时函数
延时函数 FreeRTOS的延时函数 答:FreeRTOS有两种延时函数:相对延时函数 和 绝对延时函数。 函数 描述 vTaskDelay() 相对延时 xTaskDelayUntil() 绝对延时 相对延时:指每次延时都是从执行函数vTaskDelay()开始,直到延时指定的时间结束 绝对延
0
|
0
RTOS时间片调度
时间片调度 同等优先级任务轮流地享有相同的 CPU 时间(可设置), 叫 时间片 ,在FreeRTOS中,一个时间片就等于SysTick 中断周期 运行条件: 创建三个任务:Task1、Task2、Task3 Task1、Task2、Task3的优先级均为1;即3个任务同等优先级 运行过程如下:
0
|
0
RTOS时间片调度
RTOS时间片调度 时间片调度 同等优先级任务轮流地享有相同的 CPU 时间(可设置), 叫 时间片 ,在FreeRTOS中,一个时间片就等于SysTick 中断周期 运行条件: 创建三个任务:Task1、Task2、Task3 Task1、Task2、Task3的优先级均为1;即3个任务同等优先级
2
|
0