
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
所以,PLL 的神奇之处在于:它利用一个稳定的低频参考(晶振),通过闭环反馈控制一个不稳定的高频振荡器(VCO),最终产生一个既高频又稳定的时钟信号,其精度和稳定性归根结底还是来源于那颗小小的晶振。理解了这个闭环反馈控制的思想,就抓住了 PLL 倍频的核心。PLL(锁相环)实现倍频的原理确实很精妙,它并没有“无中生有”地创造频率,而是利用闭环反馈控制和一个。刚开始接触可能会觉得有点抽象,多看手册里
2、uart线可以长达2米使用,靠的是电平幅度高+较低的波特率。而i2c或者spi,这个长度无法正常通信,所以你在调试时,串口线是最合适的,因为主机或者笔记本,往往离你的调试板至少有1米左右的距离。3、uart是最简单的方式,不需要时钟线,双方靠约定好的波特率通信,没有主从概念,不涉及到协议,所见即所得,而且只要3根线。1、一个重要的体会:uart是为了板间通信而设计,spi和i2c是板内通信而设
RTC 是嵌入式系统中提供连续、可靠时间基准的基石。它依靠外部晶体产生精确振荡,通过分频和计数器链计算时间,并由独立的备用电源保证在主系统断电时持续工作。其应用场景覆盖了从简单的时间显示到复杂的系统调度和数据记录。实现一个稳定可靠的 RTC 功能,需要仔细处理其硬件依赖(晶体、电容、电池)并编写正确的驱动程序进行初始化和访问。
在嵌入式开发中, 是 GCC 和 Clang 等编译器提供的一个路径映射选项,主要用于在预处理阶段重写宏定义中出现的绝对路径。它的核心目的是解决以下问题:构建可重现性消除编译输出(如 、 文件)中对本地绝对路径的依赖。同一代码在不同机器上编译时,即使路径不同,也能生成相同结果。路径隐私保护避免将开发机器的目录结构暴露在生成的二进制文件中。路径规范化将冗长的绝对路径替换为简短、统一的相对路径或标识符
EINTR是 “Interrupted function call” 的缩写。它的含义是:一个阻塞的系统调用(比如正在等待信号的)在执行过程中,进程(或线程)收到了一个信号并且该信号被处理了。处理完信号后,系统调用不会自动恢复,而是会立即返回,并通过设置errno为EINTR来告诉你:“我本来在等着,但是被一个信号打断了,所以先返回了”。你可以把的等待过程类比为:你正在电话客服,进入了等待队列(阻
是一个在多种编程语言和脚本环境(如 Shell 脚本、Python、JavaScript、Perl、PHP 等)中都存在的命令或函数。是一个强大的工具,允许你动态执行字符串形式的代码。清晰地对比“动态执行字符串代码”和“非动态执行代码”确实能帮助你更深刻地理解。Shell 只是把这些字符串数据塞进命令的参数位置。务必优先寻找更安全、更清晰的替代方案(如数组、函数、关联数组、,必须对输入进行极其严格
比如在某些架构中,访问Flash中的数据可能需要通过特定的指令,或者速度较慢,这时候如果频繁访问的数据可能需要考虑放在RAM中。还有,像配置参数,比如设备ID、默认设置等,如果这些参数在运行时不需要改变,放在rodata段可以防止被意外覆盖,同时节省RAM。再比如,数学用到的查找表,比如正弦波表,如果不需要修改,放在rodata段既安全又节省内存。另外,可能还有性能方面的考虑。只读的数据段可能在程
FreeBSD 可能需要花更长的时间去开发、发布更新,但事实上,Linux 和 FreeBSD 经常可以同时获取相关更新,因为他们使用了同样的上游项目。由于 Linux 是一个主流的系统,而 FreeBSD 不是,所以设备制造商更倾向于制造兼容 Linux 的软硬件。但是,Linux 提供了更多的自定义选项,对于想要定制系统的人是个更好的选择。所以,如果你很在乎兼容性和跨平台性,请选择 Linux
AON(Always-On Domain)是嵌入式系统中一个低功耗但始终保持工作的电源域,主要用于维持基本功能,如 RTC 计时、外部事件检测、低功耗唤醒等。当 AON GPIO 检测到按键按下,或者 AON RTC 触发定时器超时,它就会发出唤醒信号,使整个芯片恢复正常工作。AON是嵌入式系统中一个始终保持供电的独立电源域,即使在设备进入低功耗模式(如睡眠或关机状态)时,AON区域仍持续运行。指
0xDEADBEEF是一个在嵌入式开发中广泛使用的特殊值,主要用于调试和错误检测。它的独特性和易识别性使其成为开发者标记异常或未初始化内存的理想选择。