嵌入式软件

笨笨饿20 小时前
linux·服务器·c语言·人工智能·mcu·学习方法·嵌入式软件
42_C语言查找算法
Lester_11014 天前
嵌入式软件
全局变量与函数内的静态局部变量名字相同在 Keil C 语言(标准 C 行为)中,如果全局变量与函数内的静态局部变量名字相同,在该函数内部,使用的是静态局部变量。
小向是个Der5 天前
单片机·编译·嵌入式软件·cline+glm5.0
嵌入式进阶——嵌入式MCU编译工具链总结本文介绍MCU在编译过程中的一些知识及技能,使用GLM5.0完成编写,作者只是提供了大纲,总结了从业以来所接触到的编译相关技能。相关附件存放到gitee。需要的自取——https://gitee.com/GWLZ/embedded-advanced.git
Lester_11016 天前
嵌入式软件
#ifndef FLOW_EXT #define FLOW_EXT extern.c 文件里面:#define FLOW_EXT, .h文件里面:#ifndef FLOW_EXT #define FLOW_EXT extern #endif FLOW_EXT u16 t_boundary_1s; 怎么理解?
AF_INET610 天前
c语言·经验分享·音视频·视频编解码·嵌入式软件·rv1126b
RV1126B开发板学习篇(二)v4l2+mpp编码🏸在v4l2框架里,本质是存储视频帧分量的一块内存区域,或者叫缓冲区,是v4l2框架中的一个抽象概念,对承载单分量数据的内存块的属性封装。
逆小舟22 天前
单片机·学习·嵌入式软件
【SWM320】学习使用UART上一次学习了使用时钟和定时器,较为简单本次学习UART,比之前的要难一丢丢波特率公式:目标波特率 = 系统主时钟 / (16 * (BAUD + 1))
香水5只用六神1 个月前
c语言·stm32·单片机·嵌入式硬件·freertos·rtos·嵌入式软件
【RTOS快速入门】05_动态_静态创建任务(2)可以观察到一直在执行任务一,由此可以得到结论: 对于FreeRTOS来说,高优先级的任务优先执行,如果它没有主动放弃执行任务的话,其他低优先任务无法执行;同等优先级的任务交替执行。
香水5只用六神1 个月前
c语言·stm32·单片机·嵌入式硬件·freertos·rtos·嵌入式软件
【RTOS快速入门】06_任务状态理论讲解(1)本文将讲解任务切换相关的基础和重点讲解任务状态图使用逻辑分析仪观察每次高电平维持的时间经过计算大约为1ms,为什么每个任务都能维持几乎固定的时间进行执行任务呢,这就是因为tick定时器
香水5只用六神1 个月前
单片机·嵌入式硬件·学习·操作系统·freertos·rtos·嵌入式软件
【RTOS快速入门】07_同步互斥与通信概述同一时间只能有一个人使用的资源,被称为临界资源。比如任务A、B都要使用串口来打印,串口就是临 界资源。如果A、B同时使用串口,那么打印出来的信息就是A、B混杂,无法分辨。所以使用串口时, 应该是这样:A用完,B再用;B用完,A再用。
香水5只用六神1 个月前
c语言·开发语言·单片机·嵌入式硬件·freertos·rtos·嵌入式软件
【RTOS快速入门】05_动态_静态创建任务(1)本文书接上文,学习如何静态创建任务。打印50个学生的信息如果要添加学生新的信息还要再定义,如果学生人数发生变化更要大的修改,因此引入结构体面向对象的编程思想进行定义
hateregiste1 个月前
c语言·单片机·嵌入式软件
嵌入式软件开发中常见知识点问答集锦!1 const关键字的具体作用和用途?const主要用来修饰只读变量,告诉编译器:这个标识符所指向的内容是只读的,如果程序试图修改它,编译器就会直接报错。其作用体现在安全性、可读性两个方面。
Lester_11011 个月前
单片机·嵌入式硬件·嵌入式软件·电机控制
STM32 电机控制应用中,ICxFilter,ICxPSC以及高级定时器的采样时钟分频CKD区别是什么IC1Filter(输入捕获滤波器)和高级定时器的采样时钟分频(通常指 TIM_ClockDivision,即 CKD 位)虽然都涉及“分频”和“采样”,但它们在定时器内部所处的阶段、具体作用以及影响范围上有本质的区别。
螺丝钉的扭矩一瞬间产生高能蛋白2 个月前
stm32·freertos·嵌入式软件·优先级反转
深入剖析FreeRTOS优先级继承机制:vTaskPriorityInherit与xTaskPriorityDisinherit源码解析在实时操作系统(RTOS)中,优先级反转是一个经典问题,它会导致高优先级任务被低优先级任务阻塞,从而破坏系统的实时性。FreeRTOS通过优先级继承(Priority Inheritance)机制有效缓解这一问题。该机制的核心实现隐藏在互斥量操作的背后:当任务调用 xSemaphoreTake 获取互斥量但因被其他任务占用而阻塞时,内核会自动调用 vTaskPriorityInherit() 提升当前持有者的优先级;而当任务调用 xSemaphoreGive 释放互斥量时,内核则会调用 xTaskPrio
戏舟的嵌入式开源笔记2 个月前
esp32·嵌入式软件
ESP32电子相册之前有一段时间想搞一搞电子吧唧这东西,后来想来想去也就是个电子相册,这里拿杜邦线接一接,写一写程序,当个DEMO验证没有什么问题
小程同学>o<2 个月前
linux·嵌入式软件·地瓜机器人·atomgit·linux应用层开发·openloong开源社区·开源新春集福
Linux 应用层开发入门(二十三)| 异步通知方式读取输入数据在Linux应用开发中,I/O操作的处理方式分为同步和异步两种:异步通知的本质是 “信号驱动的 I/O”,核心问题可归纳为7个关键点:
小程同学>o<2 个月前
linux·嵌入式软件·地瓜机器人·atomgit·linux应用层开发·openloong开源社区·开源新春集福
Linux 应用层开发入门(二十二)| poll_select方式读取输入数据在前两篇文章中,我们已经学习了:如何通过ioctl查询输入设备信息;如何使用阻塞 / 非阻塞方式读取输入事件;但是在真实项目中,几乎不会直接使用while(1)+read轮询。原因很简单:
戏舟的嵌入式开源笔记2 个月前
esp32·嵌入式软件
基于ESP32(PIO+Arduino)简单上手LVGL9测试环境:ESP32S3R8N8 ST7789这是我的PIO板子相关配置,满足R8N8(8MB PSRAM +8MB FLASH),这里可根据不同配置来敲定,能够连接上,能够下载烧录程序,就没问题;
小程同学>o<2 个月前
linux·嵌入式软件·嵌入式应用层·应用层开发·linux应用层开发
Linux 应用层开发入门(二十)| 获取输入系统设备数据在前面的文章中,我们已经了解了Linux输入子系统的基本框架,以及/dev/input/eventX设备节点的作用。本篇我们进入实战阶段——编写一个应用层程序,读取输入设备的设备基本信息(厂商ID、产品ID等)、设备支持的事件类型(EV_KEY、EV_REL、EV_ABS 等)。通过本篇,你将彻底理解:
戏舟的嵌入式开源笔记2 个月前
esp32·嵌入式软件·ota
ESP32(PIO+Arduino框架)联网OTA升级思路平台:ESP32S3R8N8 VSCODE+PIO最近研究了一下ESP32的OTA升级思路,主要是联网上传BIN文件,通过服务器匹配获取新文件,蓝牙上传更新;
小程同学>o<2 个月前
linux·学习·嵌入式软件·输入系统·嵌入式应用层·应用层开发·linux应用层开发
Linux 应用层开发入门(十九)| 输入系统框架及调试在 Linux 应用层开发中,显示解决的是“怎么把内容画出来”,而输入解决的是另一个同样重要的问题:用户如何把操作传递给系统?