- 博客(768)
- 资源 (9)
- 收藏
- 关注

原创 NodeMCU ESP8266 保姆级学习教程(图文并茂)
相信看这篇文章的同学,希望可以熟悉ESP8266这个硬件平台。当然我们也通过基于ESP8266这个硬件平台,在标准化硬件的Arduino的基础上做一些有趣的硬件小项目。当然这个过程中,我们暂时可以忽略掉很多硬件的细节,集中精力在硬件原理的学习,以及应用的实现上,提高学习兴趣,更加有信心地去完成学习计划。Arduino是一个灵活的平台,目的是为了降低电子项目的门槛,硬件和软件都是开源,可以用它来快速构建各种电子设备。
2023-09-26 10:16:31
5612
1

原创 【FreeRTOS实战汇总】RTOS学习实战快速进阶之路(持续更新)
打算把这段时间系统学习RTOS的文章统一整理到这里,另外本文会给出一些参考性资料和指导性建议;本文宗旨
2020-04-08 23:12:59
16050
26

原创 FOC中的Clarke变换和Park变换详解(动图+推导+仿真+附件代码)
FOC中的Clarke变换和Park变换详解(超级详细+动图+推导+仿真+附件代码)
2019-12-23 21:55:23
69763
55
原创 “90%”的单片机开发者,都忽略了数据结构的重要性
我以前是电子相关专业的,当初的数据结构是自学的,自认为也是半桶睡,因为当初学完C语言之后,并没有开设数据结构这门课程,大部分情况都是自己看视频,然后敲代码练习,才学会的。因为数据结构在应用的时候,要基于某种语言去实现,比如C语言,所以我们C语言就要掌握的比较扎实,如果感觉哪个知识点掌握不到位,就要查漏补缺,重点练习。数据结构比较抽象,所以,我们在写代码的时候会拿一支笔,画一下具体的实现过程,理清思路,然后再配合代码练习,就会好很多。很多情况下,数据的更新频率很高,往往是微妙级别,或者是毫秒级别的。
2025-06-06 19:01:21
253
转载 嵌入式开发常用的Ring Buffer,今天一篇文章讲透它
因为缓冲区成头尾相连的环形,写操作可能会覆盖未及时读取的数据,有的场景允许这种情况发生,有的场景又严格限制这种情况发生。因为缓冲区成头尾相连的环形,写操作可能会覆盖未及时读取的数据,有的场景允许这种情况发生,有的场景又严格限制这种情况发生。来看策略一,例如,这时。如果缓冲区的大小需要经常调整,就不适合用环形缓冲区,因为在扩展缓冲区大小时,需要搬移其中的数据,这种场合使用链表更加合适;如果缓冲区的大小需要经常调整,就不适合用环形缓存区,因为在扩展缓冲区大小时,需要搬移其中的数据,这种场合使用链表更加合适;
2025-06-05 21:30:30
45
原创 推荐一个开源大功率伺服驱动器项目
当然也有已经编译好的固件可以进行下载的,直接烧录到硬件板块上就行。这个项目软硬件开源,可以在此基础上做二次开发,不过它是遵守。,这是一个软硬件开源的交流伺服驱动器项目。协议的,所以使用这个项目需要开源自己的项目代码。STM32F4 代码、命令、反馈和控制回路。STM32F3代码,运行在HV端,产生PWM。功率的电机,支持交流和直流伺服系统。解析器接口的 Spice 模拟。整个项目的文件列表如下所示;开源的硬件PCB如下所示;最近发现了一个很棒的项目。项目实物图片如下所示;“置顶/星标公众号”
2025-06-03 19:01:35
404
转载 别再裸机写寄存器了!高效构建嵌入式Linux系统秘籍,文末送书
但是,也有很多短板,比如缺乏运行时包管理,扩展性和协调性不足,社区支持有限,不利于模块化和高度定制的场景,对于需要长期维护的项目也充满了挑战。项目,从技术学习到工程实践,再到社区分享,他不仅积累了丰富的经验,更具备将复杂问题系统化、结构化的能力。Buildroot 简单易用,上手快,学习成本较低,而且构建速度快,非常适合快速原型开发。此外,软硬件协同优化难度大,不同平台资源受限,优化策略难以通用,进一步提高了开发门槛,使。方文档的基础上,结合笔者多年的嵌入式开发经验,提炼核心理论框架,使其易读易懂。
2025-05-31 12:30:55
2174
转载 为什么代码总在“不可能出错“的地方崩溃?嵌入式程序测试黄金法则
上文说到,我们增加的调试语句应能很方便的从最终发行版中去掉,因此我们不能直接调用printf或者自定义的UARTprintf函数,需要将这些调试函数做一层封装,以便随时从代码中去除这些调试语句。我们在初学C语言的时候,都接触过printf函数,这个函数可以方便的输出信息,并可以将各种变量格式化为指定格式的字符串,我们应当提供类似的函数;前期的自测试能够更早的发现错误,相应的修复成本也会很低,如果你不彻底测试自己的代码,恐怕你开发的就不只是代码,可能还会声名狼藉。别犹豫了,兄弟,一起冲!
2025-05-30 07:50:50
33
转载 为什么代码总在“不可能出错“的地方崩溃?嵌入式程序测试黄金法则
上文说到,我们增加的调试语句应能很方便的从最终发行版中去掉,因此我们不能直接调用printf或者自定义的UARTprintf函数,需要将这些调试函数做一层封装,以便随时从代码中去除这些调试语句。我们在初学C语言的时候,都接触过printf函数,这个函数可以方便的输出信息,并可以将各种变量格式化为指定格式的字符串,我们应当提供类似的函数;前期的自测试能够更早的发现错误,相应的修复成本也会很低,如果你不彻底测试自己的代码,恐怕你开发的就不只是代码,可能还会声名狼藉。别犹豫了,兄弟,一起冲!
2025-05-30 07:50:50
19
转载 为什么代码总在“不可能出错“的地方崩溃?嵌入式程序测试黄金法则
上文说到,我们增加的调试语句应能很方便的从最终发行版中去掉,因此我们不能直接调用printf或者自定义的UARTprintf函数,需要将这些调试函数做一层封装,以便随时从代码中去除这些调试语句。我们在初学C语言的时候,都接触过printf函数,这个函数可以方便的输出信息,并可以将各种变量格式化为指定格式的字符串,我们应当提供类似的函数;前期的自测试能够更早的发现错误,相应的修复成本也会很低,如果你不彻底测试自己的代码,恐怕你开发的就不只是代码,可能还会声名狼藉。别犹豫了,兄弟,一起冲!
2025-05-30 07:50:50
28
转载 为什么代码总在“不可能出错“的地方崩溃?嵌入式程序测试黄金法则
上文说到,我们增加的调试语句应能很方便的从最终发行版中去掉,因此我们不能直接调用printf或者自定义的UARTprintf函数,需要将这些调试函数做一层封装,以便随时从代码中去除这些调试语句。我们在初学C语言的时候,都接触过printf函数,这个函数可以方便的输出信息,并可以将各种变量格式化为指定格式的字符串,我们应当提供类似的函数;前期的自测试能够更早的发现错误,相应的修复成本也会很低,如果你不彻底测试自己的代码,恐怕你开发的就不只是代码,可能还会声名狼藉。别犹豫了,兄弟,一起冲!
2025-05-30 07:50:50
7
转载 为什么代码总在“不可能出错“的地方崩溃?嵌入式程序测试黄金法则
上文说到,我们增加的调试语句应能很方便的从最终发行版中去掉,因此我们不能直接调用printf或者自定义的UARTprintf函数,需要将这些调试函数做一层封装,以便随时从代码中去除这些调试语句。我们在初学C语言的时候,都接触过printf函数,这个函数可以方便的输出信息,并可以将各种变量格式化为指定格式的字符串,我们应当提供类似的函数;前期的自测试能够更早的发现错误,相应的修复成本也会很低,如果你不彻底测试自己的代码,恐怕你开发的就不只是代码,可能还会声名狼藉。别犹豫了,兄弟,一起冲!
2025-05-30 07:50:50
20
转载 为什么代码总在“不可能出错“的地方崩溃?嵌入式程序测试黄金法则
上文说到,我们增加的调试语句应能很方便的从最终发行版中去掉,因此我们不能直接调用printf或者自定义的UARTprintf函数,需要将这些调试函数做一层封装,以便随时从代码中去除这些调试语句。我们在初学C语言的时候,都接触过printf函数,这个函数可以方便的输出信息,并可以将各种变量格式化为指定格式的字符串,我们应当提供类似的函数;前期的自测试能够更早的发现错误,相应的修复成本也会很低,如果你不彻底测试自己的代码,恐怕你开发的就不只是代码,可能还会声名狼藉。别犹豫了,兄弟,一起冲!
2025-05-30 07:50:50
13
转载 为什么代码总在“不可能出错“的地方崩溃?嵌入式程序测试黄金法则
上文说到,我们增加的调试语句应能很方便的从最终发行版中去掉,因此我们不能直接调用printf或者自定义的UARTprintf函数,需要将这些调试函数做一层封装,以便随时从代码中去除这些调试语句。我们在初学C语言的时候,都接触过printf函数,这个函数可以方便的输出信息,并可以将各种变量格式化为指定格式的字符串,我们应当提供类似的函数;前期的自测试能够更早的发现错误,相应的修复成本也会很低,如果你不彻底测试自己的代码,恐怕你开发的就不只是代码,可能还会声名狼藉。别犹豫了,兄弟,一起冲!
2025-05-30 07:50:50
10
转载 为什么代码总在“不可能出错“的地方崩溃?嵌入式程序测试黄金法则
上文说到,我们增加的调试语句应能很方便的从最终发行版中去掉,因此我们不能直接调用printf或者自定义的UARTprintf函数,需要将这些调试函数做一层封装,以便随时从代码中去除这些调试语句。我们在初学C语言的时候,都接触过printf函数,这个函数可以方便的输出信息,并可以将各种变量格式化为指定格式的字符串,我们应当提供类似的函数;前期的自测试能够更早的发现错误,相应的修复成本也会很低,如果你不彻底测试自己的代码,恐怕你开发的就不只是代码,可能还会声名狼藉。别犹豫了,兄弟,一起冲!
2025-05-30 07:50:50
4
转载 为什么代码总在“不可能出错“的地方崩溃?嵌入式程序测试黄金法则
上文说到,我们增加的调试语句应能很方便的从最终发行版中去掉,因此我们不能直接调用printf或者自定义的UARTprintf函数,需要将这些调试函数做一层封装,以便随时从代码中去除这些调试语句。我们在初学C语言的时候,都接触过printf函数,这个函数可以方便的输出信息,并可以将各种变量格式化为指定格式的字符串,我们应当提供类似的函数;前期的自测试能够更早的发现错误,相应的修复成本也会很低,如果你不彻底测试自己的代码,恐怕你开发的就不只是代码,可能还会声名狼藉。别犹豫了,兄弟,一起冲!
2025-05-30 07:50:50
9
转载 为什么代码总在“不可能出错“的地方崩溃?嵌入式程序测试黄金法则
上文说到,我们增加的调试语句应能很方便的从最终发行版中去掉,因此我们不能直接调用printf或者自定义的UARTprintf函数,需要将这些调试函数做一层封装,以便随时从代码中去除这些调试语句。我们在初学C语言的时候,都接触过printf函数,这个函数可以方便的输出信息,并可以将各种变量格式化为指定格式的字符串,我们应当提供类似的函数;前期的自测试能够更早的发现错误,相应的修复成本也会很低,如果你不彻底测试自己的代码,恐怕你开发的就不只是代码,可能还会声名狼藉。别犹豫了,兄弟,一起冲!
2025-05-30 07:50:50
6
转载 嵌入式C语言防御性编程必知的15个黄金法则,让你的代码稳如磐石!
每帧字节数越多,发生误码的可能性就越大,无效的数据也会越多。克莱门汀号在进行第二阶段的任务时,原本预订要从月球飞行到太空深处的Geographos小行星进行探勘,然而这艘太空探测器在飞向小行星时却由于一个软件缺陷而使其中断运作20分钟,不但未能到达小行星,也因为控制喷嘴燃烧了11分钟使电力供应降低,无法再透过远端控制探测器,最终结束这项任务,但也导致了资源与资金的浪费。这是因为MDK的整数是按照补码存储的,正数的补码与原码相同,在这种情况下,原码和补码是一致的,不但起不到冗余作用,反而对可靠性有害。
2025-05-29 07:50:37
23
转载 90%嵌入式工程师中招!12个C语言开发的“血泪陷阱“,你踩过几个?
我们知道,对于一个数组array[20],我们使用代码sizeof(array)/sizeof(array[0])可以获得数组的元素(这里为20),但数组名和指针往往是容易混淆的,有且只有一种情况下数组名是可以当做指针的,那就是数组名作为函数形参时,数组名被认为是指针,同时,它不能再兼任数组名。另外,合理的排布结构体内的元素位置,可以最大限度减少填充,节省RAM。所有的URL都包含一条斜杠,并且,反恶意软件功能把这条斜杠理解为所有的URL都是可疑的,因此,它愉快地对搜索结果中的每个站点都添加一条警告。
2025-05-27 07:50:50
29
转载 90%嵌入式工程师中招!12个C语言开发的“血泪陷阱“,你踩过几个?
我们知道,对于一个数组array[20],我们使用代码sizeof(array)/sizeof(array[0])可以获得数组的元素(这里为20),但数组名和指针往往是容易混淆的,有且只有一种情况下数组名是可以当做指针的,那就是数组名作为函数形参时,数组名被认为是指针,同时,它不能再兼任数组名。另外,合理的排布结构体内的元素位置,可以最大限度减少填充,节省RAM。所有的URL都包含一条斜杠,并且,反恶意软件功能把这条斜杠理解为所有的URL都是可疑的,因此,它愉快地对搜索结果中的每个站点都添加一条警告。
2025-05-27 07:50:50
32
转载 90%嵌入式工程师中招!12个C语言开发的“血泪陷阱“,你踩过几个?
我们知道,对于一个数组array[20],我们使用代码sizeof(array)/sizeof(array[0])可以获得数组的元素(这里为20),但数组名和指针往往是容易混淆的,有且只有一种情况下数组名是可以当做指针的,那就是数组名作为函数形参时,数组名被认为是指针,同时,它不能再兼任数组名。另外,合理的排布结构体内的元素位置,可以最大限度减少填充,节省RAM。所有的URL都包含一条斜杠,并且,反恶意软件功能把这条斜杠理解为所有的URL都是可疑的,因此,它愉快地对搜索结果中的每个站点都添加一条警告。
2025-05-27 07:50:50
35
转载 90%嵌入式工程师中招!12个C语言开发的“血泪陷阱“,你踩过几个?
我们知道,对于一个数组array[20],我们使用代码sizeof(array)/sizeof(array[0])可以获得数组的元素(这里为20),但数组名和指针往往是容易混淆的,有且只有一种情况下数组名是可以当做指针的,那就是数组名作为函数形参时,数组名被认为是指针,同时,它不能再兼任数组名。另外,合理的排布结构体内的元素位置,可以最大限度减少填充,节省RAM。所有的URL都包含一条斜杠,并且,反恶意软件功能把这条斜杠理解为所有的URL都是可疑的,因此,它愉快地对搜索结果中的每个站点都添加一条警告。
2025-05-27 07:50:50
25
转载 90%嵌入式工程师中招!12个C语言开发的“血泪陷阱“,你踩过几个?
我们知道,对于一个数组array[20],我们使用代码sizeof(array)/sizeof(array[0])可以获得数组的元素(这里为20),但数组名和指针往往是容易混淆的,有且只有一种情况下数组名是可以当做指针的,那就是数组名作为函数形参时,数组名被认为是指针,同时,它不能再兼任数组名。另外,合理的排布结构体内的元素位置,可以最大限度减少填充,节省RAM。所有的URL都包含一条斜杠,并且,反恶意软件功能把这条斜杠理解为所有的URL都是可疑的,因此,它愉快地对搜索结果中的每个站点都添加一条警告。
2025-05-27 07:50:50
31
转载 90%嵌入式工程师中招!12个C语言开发的“血泪陷阱“,你踩过几个?
点击上方,选择“置顶/星标公众号”福利干货,第一时间送达1 处处都是陷阱1) “=”和”==”将比较运算符”==”误写成赋值运算符”=”,可能是绝大多数人都遇到过的,比如下面代码:代码的本意是比较变量x是否等于常量5,但是误将”==”写成了”=”,if语句恒为真。如果在逻辑判断表达式中出现赋值运算符,现在的大多数编译器会给出警告信息。比如keil MDK会给出警告提示:“warning: #187-D: use of "=" where"==" may have been intended”,但并非所有程序
2025-05-27 07:50:50
15
转载 90%嵌入式工程师中招!12个C语言开发的“血泪陷阱“,你踩过几个?
我们知道,对于一个数组array[20],我们使用代码sizeof(array)/sizeof(array[0])可以获得数组的元素(这里为20),但数组名和指针往往是容易混淆的,有且只有一种情况下数组名是可以当做指针的,那就是数组名作为函数形参时,数组名被认为是指针,同时,它不能再兼任数组名。另外,合理的排布结构体内的元素位置,可以最大限度减少填充,节省RAM。所有的URL都包含一条斜杠,并且,反恶意软件功能把这条斜杠理解为所有的URL都是可疑的,因此,它愉快地对搜索结果中的每个站点都添加一条警告。
2025-05-27 07:50:50
3
转载 90%嵌入式工程师中招!12个C语言开发的“血泪陷阱“,你踩过几个?
我们知道,对于一个数组array[20],我们使用代码sizeof(array)/sizeof(array[0])可以获得数组的元素(这里为20),但数组名和指针往往是容易混淆的,有且只有一种情况下数组名是可以当做指针的,那就是数组名作为函数形参时,数组名被认为是指针,同时,它不能再兼任数组名。另外,合理的排布结构体内的元素位置,可以最大限度减少填充,节省RAM。所有的URL都包含一条斜杠,并且,反恶意软件功能把这条斜杠理解为所有的URL都是可疑的,因此,它愉快地对搜索结果中的每个站点都添加一条警告。
2025-05-27 07:50:50
12
转载 90%嵌入式工程师中招!12个C语言开发的“血泪陷阱“,你踩过几个?
我们知道,对于一个数组array[20],我们使用代码sizeof(array)/sizeof(array[0])可以获得数组的元素(这里为20),但数组名和指针往往是容易混淆的,有且只有一种情况下数组名是可以当做指针的,那就是数组名作为函数形参时,数组名被认为是指针,同时,它不能再兼任数组名。另外,合理的排布结构体内的元素位置,可以最大限度减少填充,节省RAM。所有的URL都包含一条斜杠,并且,反恶意软件功能把这条斜杠理解为所有的URL都是可疑的,因此,它愉快地对搜索结果中的每个站点都添加一条警告。
2025-05-27 07:50:50
9
转载 90%嵌入式工程师中招!12个C语言开发的“血泪陷阱“,你踩过几个?
我们知道,对于一个数组array[20],我们使用代码sizeof(array)/sizeof(array[0])可以获得数组的元素(这里为20),但数组名和指针往往是容易混淆的,有且只有一种情况下数组名是可以当做指针的,那就是数组名作为函数形参时,数组名被认为是指针,同时,它不能再兼任数组名。另外,合理的排布结构体内的元素位置,可以最大限度减少填充,节省RAM。所有的URL都包含一条斜杠,并且,反恶意软件功能把这条斜杠理解为所有的URL都是可疑的,因此,它愉快地对搜索结果中的每个站点都添加一条警告。
2025-05-27 07:50:50
5
转载 90%嵌入式工程师中招!12个C语言开发的“血泪陷阱“,你踩过几个?
我们知道,对于一个数组array[20],我们使用代码sizeof(array)/sizeof(array[0])可以获得数组的元素(这里为20),但数组名和指针往往是容易混淆的,有且只有一种情况下数组名是可以当做指针的,那就是数组名作为函数形参时,数组名被认为是指针,同时,它不能再兼任数组名。另外,合理的排布结构体内的元素位置,可以最大限度减少填充,节省RAM。所有的URL都包含一条斜杠,并且,反恶意软件功能把这条斜杠理解为所有的URL都是可疑的,因此,它愉快地对搜索结果中的每个站点都添加一条警告。
2025-05-27 07:50:50
6
转载 90%嵌入式工程师中招!12个C语言开发的“血泪陷阱“,你踩过几个?
我们知道,对于一个数组array[20],我们使用代码sizeof(array)/sizeof(array[0])可以获得数组的元素(这里为20),但数组名和指针往往是容易混淆的,有且只有一种情况下数组名是可以当做指针的,那就是数组名作为函数形参时,数组名被认为是指针,同时,它不能再兼任数组名。另外,合理的排布结构体内的元素位置,可以最大限度减少填充,节省RAM。所有的URL都包含一条斜杠,并且,反恶意软件功能把这条斜杠理解为所有的URL都是可疑的,因此,它愉快地对搜索结果中的每个站点都添加一条警告。
2025-05-27 07:50:50
8
转载 电子工程师必考,示波器100问:答对10题才算刚入门!
点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达1. 对一个已设计完成的产品,如何用示波器检测分析其可靠性?答:示波器早已成为检测电子线路最有效的工具之一,通过观察线路关键节点的电压电流波形可以直观地检查线路工作是否正常,验证设计是否恰当。这对提高可靠性极有帮助。当然对波形的正确分析判断有赖于工程师自身的经验。2. 决定示波器探头价格的主要因素是什么?答:示波器的探头有非常多的种类,不同的性能,比如高压,差分,有源高速探头等等,价格也从几百人民币到接近一万美元。价格的主要决定因素当然是带
2025-05-26 07:50:23
167
转载 一次断电,设备报废?揭秘嵌入式OTA技术的核心原理,90%的工程师都踩过坑!
在升级的时候,新固件在后台悄悄下载,即新固件下载属于应用程序功能的一部分,在新固件下载过程中,应用可以正常使用,也就是说整个下载过程对用户来说是无感的,下载完成后,系统再跳到BootLoader程序,由BootLoader完成新固件覆盖老固件的操作。升级的时候,进入bootloader程序后先擦除老固件,然后直接把新固件下载到同一个bank中,下载完成后校验新固件的有效性,新固件有效升级完成,否则要求重来。A给B发送消息,A先计算出消息的消息摘要,然后使用自己的私钥加密消息摘要,被加密的消息摘要就是签名。
2025-05-25 20:45:35
97
转载 华为鸿蒙微内核与Linux内核到底有何不同?单片机开发进阶必看
这不仅可以向内核添加硬件功能,还可以包括运行服务器进程的模块,比如低级别虚拟化,但也可以替换整个内核,而不需要在某些情况下重启计算机。内核并不神奇,但对于任何正常运行的计算机来说,它都是必不可少的。有一段时间,Linux内核被称为vmlinux,但是内核变得太大,无法装入可用的引导内存,因此压缩了内核映像,并将末尾的x更改为z,以显示它是用zlib压缩的。本文主要讲解什么是Linux内核,以及通过多张图片展示Linux内核的作用与功能,以便于读者能快速理解什么是Linux内核,能看懂Linux内核。
2025-05-23 18:32:49
73
原创 闲鱼卖家不会告诉你的秘密:三角测距雷达的协议“破解”野路子
点击连接雷达,这时候雷达转起来了,转的速度不快,但是软件界面上也没有出现点云数据,不过出现了校验和错误的提示,很明显,从雷达返回的数据,软件接受无法正常进行校验。看了一下点云的解析,各种公式,没找到S2-PRO的协议文档,我找到是另一个三角测距的协议,可能还不兼容,这样一来,方案一和方案二都排除了。看来每个数据包都有校验码,前面提示校验错误,肯定是当前的雷达发送的点云数据和PC软件之间的校验方式不匹配。在这里,你能读到星球专栏的干货,优质教程,练手项目,随时向麦鸽提问,还能帮你定制学习计划。
2025-05-22 19:30:30
913
原创 这款工业AI利器:“颠覆”传统工业场景,维护效率直接翻倍
在工业控制中,PID是非常常用的控制算法,但是在PID算法基础上衍生出来的先进PID算法,比如模糊控制PID,前馈控制PID算法也都是应用的非常广泛。进行微调,这样模型可以适应各种工艺参数之间的动态关联,可以实现,工艺参数预测,PID回路的仿真优化,全工况自适应控制优化。比如提问:“识别 泵 是否发生过异常”,TPT给出的回答,比较有参考意义,还能给出异常情况下的图表对比,非常直观,除了上面的PID参数整定,还有工业参数预测,设备异常检测以及过程数据分析,都是非常实用的功能,如下所示;
2025-05-21 12:05:28
470
转载 打算从单片机转Linux开发!5个Linux发行版的区别:驱动支持率、实时性对比
该软件是操作系统的核心,它将您与之交互的软件(例如,浏览器)与完成所有工作的底层硬件桥接在一起。大家好,我是麦鸽,Linux系统大家可能都接触过,常见的发行版Ubuntu,centOS,Debian等等,那么这些有哪些区别呢?在这里,你能读到星球专栏的干货,优质教程,练手项目,随时向麦鸽提问,还能帮你定制学习计划。简而言之,尽管许多Linux发行版可能都具有崇高的开源合规性目标,但并非所有人都是开源的。在Linux的底层,我们会找到确定其运行方式的一系列工具,应用程序,进程和服务器。
2025-05-20 19:30:47
71
Clark_park_matlab仿真
2020-01-13
openwrt mt7688/mt7628 pwm driver 驱动
2017-07-16
Serial_Digital_Scope V2.zip
2019-11-11
read_csv.zip
2020-01-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人