技术栈
嵌入式软件
逆小舟
1 天前
单片机
·
学习
·
嵌入式软件
【SWM320】学习使用UART
上一次学习了使用时钟和定时器,较为简单本次学习UART,比之前的要难一丢丢波特率公式:目标波特率 = 系统主时钟 / (16 * (BAUD + 1))
香水5只用六神
6 天前
c语言
·
stm32
·
单片机
·
嵌入式硬件
·
freertos
·
rtos
·
嵌入式软件
【RTOS快速入门】05_动态_静态创建任务(2)
可以观察到一直在执行任务一,由此可以得到结论: 对于FreeRTOS来说,高优先级的任务优先执行,如果它没有主动放弃执行任务的话,其他低优先任务无法执行;同等优先级的任务交替执行。
香水5只用六神
6 天前
c语言
·
stm32
·
单片机
·
嵌入式硬件
·
freertos
·
rtos
·
嵌入式软件
【RTOS快速入门】06_任务状态理论讲解(1)
本文将讲解任务切换相关的基础和重点讲解任务状态图使用逻辑分析仪观察每次高电平维持的时间经过计算大约为1ms,为什么每个任务都能维持几乎固定的时间进行执行任务呢,这就是因为tick定时器
香水5只用六神
7 天前
单片机
·
嵌入式硬件
·
学习
·
操作系统
·
freertos
·
rtos
·
嵌入式软件
【RTOS快速入门】07_同步互斥与通信概述
同一时间只能有一个人使用的资源,被称为临界资源。比如任务A、B都要使用串口来打印,串口就是临 界资源。如果A、B同时使用串口,那么打印出来的信息就是A、B混杂,无法分辨。所以使用串口时, 应该是这样:A用完,B再用;B用完,A再用。
香水5只用六神
7 天前
c语言
·
开发语言
·
单片机
·
嵌入式硬件
·
freertos
·
rtos
·
嵌入式软件
【RTOS快速入门】05_动态_静态创建任务(1)
本文书接上文,学习如何静态创建任务。打印50个学生的信息如果要添加学生新的信息还要再定义,如果学生人数发生变化更要大的修改,因此引入结构体面向对象的编程思想进行定义
hateregiste
22 天前
c语言
·
单片机
·
嵌入式软件
嵌入式软件开发中常见知识点问答集锦!
1 const关键字的具体作用和用途?const主要用来修饰只读变量,告诉编译器:这个标识符所指向的内容是只读的,如果程序试图修改它,编译器就会直接报错。其作用体现在安全性、可读性两个方面。
Lester_1101
22 天前
单片机
·
嵌入式硬件
·
嵌入式软件
·
电机控制
STM32 电机控制应用中,ICxFilter,ICxPSC以及高级定时器的采样时钟分频CKD区别是什么
IC1Filter(输入捕获滤波器)和高级定时器的采样时钟分频(通常指 TIM_ClockDivision,即 CKD 位)虽然都涉及“分频”和“采样”,但它们在定时器内部所处的阶段、具体作用以及影响范围上有本质的区别。
螺丝钉的扭矩一瞬间产生高能蛋白
23 天前
stm32
·
freertos
·
嵌入式软件
·
优先级反转
深入剖析FreeRTOS优先级继承机制:vTaskPriorityInherit与xTaskPriorityDisinherit源码解析
在实时操作系统(RTOS)中,优先级反转是一个经典问题,它会导致高优先级任务被低优先级任务阻塞,从而破坏系统的实时性。FreeRTOS通过优先级继承(Priority Inheritance)机制有效缓解这一问题。该机制的核心实现隐藏在互斥量操作的背后:当任务调用 xSemaphoreTake 获取互斥量但因被其他任务占用而阻塞时,内核会自动调用 vTaskPriorityInherit() 提升当前持有者的优先级;而当任务调用 xSemaphoreGive 释放互斥量时,内核则会调用 xTaskPrio
戏舟的嵌入式开源笔记
25 天前
esp32
·
嵌入式软件
ESP32电子相册
之前有一段时间想搞一搞电子吧唧这东西,后来想来想去也就是个电子相册,这里拿杜邦线接一接,写一写程序,当个DEMO验证没有什么问题
小程同学>o<
1 个月前
linux
·
嵌入式软件
·
地瓜机器人
·
atomgit
·
linux应用层开发
·
openloong开源社区
·
开源新春集福
Linux 应用层开发入门(二十三)| 异步通知方式读取输入数据
在Linux应用开发中,I/O操作的处理方式分为同步和异步两种:异步通知的本质是 “信号驱动的 I/O”,核心问题可归纳为7个关键点:
小程同学>o<
1 个月前
linux
·
嵌入式软件
·
地瓜机器人
·
atomgit
·
linux应用层开发
·
openloong开源社区
·
开源新春集福
Linux 应用层开发入门(二十二)| poll_select方式读取输入数据
在前两篇文章中,我们已经学习了:如何通过ioctl查询输入设备信息;如何使用阻塞 / 非阻塞方式读取输入事件;但是在真实项目中,几乎不会直接使用while(1)+read轮询。原因很简单:
戏舟的嵌入式开源笔记
1 个月前
esp32
·
嵌入式软件
基于ESP32(PIO+Arduino)简单上手LVGL9
测试环境:ESP32S3R8N8 ST7789这是我的PIO板子相关配置,满足R8N8(8MB PSRAM +8MB FLASH),这里可根据不同配置来敲定,能够连接上,能够下载烧录程序,就没问题;
小程同学>o<
1 个月前
linux
·
嵌入式软件
·
嵌入式应用层
·
应用层开发
·
linux应用层开发
Linux 应用层开发入门(二十)| 获取输入系统设备数据
在前面的文章中,我们已经了解了Linux输入子系统的基本框架,以及/dev/input/eventX设备节点的作用。本篇我们进入实战阶段——编写一个应用层程序,读取输入设备的设备基本信息(厂商ID、产品ID等)、设备支持的事件类型(EV_KEY、EV_REL、EV_ABS 等)。通过本篇,你将彻底理解:
戏舟的嵌入式开源笔记
1 个月前
esp32
·
嵌入式软件
·
ota
ESP32(PIO+Arduino框架)联网OTA升级思路
平台:ESP32S3R8N8 VSCODE+PIO最近研究了一下ESP32的OTA升级思路,主要是联网上传BIN文件,通过服务器匹配获取新文件,蓝牙上传更新;
小程同学>o<
1 个月前
linux
·
学习
·
嵌入式软件
·
输入系统
·
嵌入式应用层
·
应用层开发
·
linux应用层开发
Linux 应用层开发入门(十九)| 输入系统框架及调试
在 Linux 应用层开发中,显示解决的是“怎么把内容画出来”,而输入解决的是另一个同样重要的问题:用户如何把操作传递给系统?
Lester_1101
1 个月前
stm32
·
单片机
·
嵌入式硬件
·
嵌入式软件
STM32 高级定时器PWM互补输出模式--如果没有死区,突然关闭PWM有产生瞬间导通的可能吗
MOSFET/IGBT的开通延迟(t_d(on)) 和关断延迟(t_d(off)) 通常不相等:text
嵌入小生007
2 个月前
c语言
·
开发语言
·
数据结构
·
算法
·
嵌入式软件
Data Structure Learning: Starting with C Language Singly Linked List
After several weeks of C language learning, everyone has laid a certain foundation in programming. Starting today, we will move on to the next stage of learning —— Data Structures.
嵌入小生007
2 个月前
linux
·
数据结构
·
学习
·
算法
·
小白
·
嵌入式软件
数据结构基础内容 + 顺序表 + 单链表的学习---嵌入式入门---Linux
经过几周C语言的学习,大家对程序编码也有了一定的基础,从今天开始,我们将进入下一阶段的学习,也就是数据结构的学习。
小程同学>o<
2 个月前
c语言
·
c++
·
算法
·
嵌入式软件
·
嵌入式面试题库
嵌入式之C/C++(三)指针
指针是 C/C++ 的灵魂,更是嵌入式开发的核心考点。本文系统梳理数组指针、指针数组、函数指针、指针函数等易混淆概念,结合代码示例和面试真题,拆解指针的底层逻辑,帮你彻底掌握指针的使用技巧和避坑方法。
小程同学>o<
2 个月前
c语言
·
开发语言
·
c++
·
笔记
·
嵌入式软件
·
面试题库
嵌入式之C/C++(二)内存
内存管理是 C/C++ 编程的核心,尤其是嵌入式开发中,对内存的精准把控直接影响程序的稳定性和性能。本文系统梳理 C/C++ 内存分配方式、栈 / 堆区别、函数参数压栈、内存泄漏等高频考点,结合嵌入式开发场景,帮你彻底吃透内存管理的底层逻辑。