15张图,了解一下TCP/IP必知也必会的10个问题

关注、星标公众号,直达精彩内容来源:掘金作者:Ruheng一、TCP/IP模型TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表...
📅 2023-08-05 阅读全文 →

盘点20个面试中常用的Linux命令

来源:我是程序员小贱作者:L的存在1 查看目录以及权限在windows中,使用dir查看当前目录中文件。在Linux中使用ls(list)查看当前目录文件。windows中的dir,如下图所示在Linux中,通常使用ls -l列出,其中可以查看文件属性,所属用户组等较为详细的信息。下面详细解释从左到右每一列是什么意思ls -l第一列第一个字段:文件类型,后面...
📅 2023-08-05 阅读全文 →

深度剖析,简单粗暴,详解Cortex-M23/33特性

【说在前面的话】自从Arm在2016年的十月发布两款Armv8-M架构的新处理器Cortex-M23和Cortex-M33以来,已经过去了3年多,而市面上基于这两款处理器的微控制器产品也刚刚才崭露头角。很多才刚刚通过开发板熟悉Cortex-M0/M0+/M3/M4处理器的童鞋可能心中又要飘过弹幕:谁TM告诉我,这个M23和M33是什么鬼?从个位数一下蹦到两位...
📅 2023-08-05 阅读全文 →

万字干货!C语言的高效编程与代码优化

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大作者:码农网– gunner译文链接:http://www.codeceo.com/article/c-high-performance-coding.html英文原文:https://www.codeproject.com/Articles/6154/Writing-Efficient-C-and-C-C...
📅 2023-08-05 阅读全文 →

漫画 | 轻松写意了解一下Linux 内核的真面目

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大作者:Daniel Stori译者:LCTT HuanCheng Bai来源:https://linux.cn/article-8290-1.html推荐阅读:嵌入式编程专辑Linux 学习专辑C/C++编程专辑Qt进阶学习专辑关注微信公众号『技术让梦想更伟大』,后台回复“m”查看更多内容。长按前往图中包含...
📅 2023-08-05 阅读全文 →

困扰了几天,代码优化导致的奇葩问题

关注、星标公众号,直达精彩内容ID:嵌入式Linux作者:写代码的篮球痴这个是今天在微信群里讨论的一个问题,先看图片点击查看大图代码流程大概是这个样子的点击查看大图查看 length 和 space1 的值,明显看到 length 小于 space1 的值,即使是这样小白都能搞懂流程的情况下,代码还是跑到else里面区执行调试查看数据然后 我们就在群里讨论,...
📅 2023-08-05 阅读全文 →

纯粹以工程师的角度:变化的RT-Thread 不变的初心

❝之前都是推送了很多freeRTOS的文章,很多朋友都在用RTT,问我有没有相关的好文,我也了解了一下,今天给大家整理一篇熊谱翔写的:「变化的RT-Thread 不变的初心」❞前段时间有爆出了某大佬的OS和RT-Thread很像,所以画了这么张图,同时也发在社交媒体上:"Roadmap or history of RT-Thread? No matter w...
📅 2023-08-05 阅读全文 →

30分钟,通俗易懂,C语言指针

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大整理:李肖遥说到指针,估计还是有很多小伙伴都还是云里雾里的,有点“知其然,而不知其所以然”。但是,不得不说,学了指针,C语言才能算是入门了。指针是C语言的「精华」,可以说,对对指针的掌握程度,「直接决定」了你C语言的编程能力。在讲指针之前,我们先来了解下变量在「内存」中是如何存放的。在程序中定义一个变量,那...
📅 2023-08-05 阅读全文 →

从裸机走向操作系统,我们到底该从何下手

【非广告】之前都是推送了很多freeRTOS的文章,很多朋友都在用RTT,给大家推荐一个RT-Thread学习公众号,另外推荐一个课程【从0到1入门RT-Thread物联网操作系统】,想学习RT-Thread的同学可以参加一下,很不错!RT-Thread又出新的入门教程了! 这也是RT-Thread在大举降低入门门槛后的首个入门系列视频,是社区开发...
📅 2023-08-05 阅读全文 →

嵌入式开发中那些常用的工具软件

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏之前有人要求整理一些常用开发工具软件,今天就抽空整理部分,希望对大家有帮助。嵌入式专栏1集成开发环境(IDE)嵌入式软件工程师基本都会接触几款集成开发环境(IDE),当然,也有很多工程师自己搭建编辑器、编译器、调试器开发环境的,下面罗列几个常用的...
📅 2023-08-05 阅读全文 →

从零开始,漫谈状态机

ID:逻辑思维作者:GorgonMeducer【说在前面的话】也许从12年前我第一次开始分享状态机编写心得开始,“状态机”就像标签一样紧紧的贴在了“傻孩子”这个网络昵称的额头上——真是抠都扣不下来。不得不坦白的是,从一开始我介绍状态机更多只注重状态机这一语言的表现形式,而故意偷懒避开了状态机开发思维的系统性介绍——也许刚开始真的是没什么自信,觉得自己也没有能...
📅 2023-08-05 阅读全文 →

【架构篇】嵌入式编程中如何给代码的结构分层

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大来源:网络素材在一个初学者从入门走向精通的途中,像这种发现问题 → 投入思考 → 提出方案的学习模式是非常有效的。一 、 遇到的问题 通过这一段时间的编码实践,积累了一些编码经验,但也体会到了之前的代码结构的缺陷: (1)开发效率低:每次使用片内的某一资源(例如定时器等),笔者都要去查询技术手册,比较egg...
📅 2023-08-05 阅读全文 →

作为应届生的你,是不是也有这种疑惑和烦恼!

ID:txp玩Linux作者:txp今天在等公交车回来的路上,碰到两个小伙伴在找工作,从他们的对话中,两个人内心还是蛮焦虑的(工作不好找);然后让我想到之前一些小伙伴问我面试以及offer的选择问题;同时秋招也差不多结束,又临近年底,跳槽的人也比较多,从我身边的人来看,暂时情况是这样的!下面我们就进行主题分享:一、先看一些网友问的问题:1、网友一:2、网友二...
📅 2023-08-05 阅读全文 →

【实战篇】模块化编程之LCD驱动框架详解

ID:嵌入式云IOT技术圈作者:杨源鑫传送门:【架构篇】嵌入式编程中如何给代码的结构分层废话不多说,理论讲太多没啥感觉,这些条条框框本质就是基于面对对象的设计模式相关的一些理论,设计模式就是前人实践多了发现一些规律然后总结出来的那么一套好用的框架,所以咱们直接出干货,硬肝!以小熊派上的SPI OLED驱动为例,将原来开发包里的LCD驱动做一些简单的改造,然后...
📅 2023-08-05 阅读全文 →

Linux 动态链接与静态链接原来是这么回事?

ID:程序喵大人作者:程序喵大人老规矩,先抛出几个问题:为什么要进行动态链接?如何进行动态链接?什么是地址无关代码技术?什么是延迟绑定技术?如何在程序运行过程中进行显式链接?为什么要进行动态链接?因为静态链接有缺点:浪费内存和磁盘空间:如下图,Program1和Program2分别包含Program1.o和Program2.o两个模块,他们都需要Lib.o模...
📅 2023-08-05 阅读全文 →

嵌入式工程师,解析硬核单片机编程思想!

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大整理:李肖遥一、裸编程是什么? 先声明一个概念,裸编程,指的是在裸机上编写程序,裸机,在单片机领域就是指带着硬件的单片机控制系统,不要想歪咯。 在裸机上编程,就犹如在一片荒地上开垦,任何一锄头下去,都会碰到硬生生的石头,要说做这有什么味?拓荒者追求的是来年的绿洲。而我们这些开垦裸机的所谓...
📅 2023-08-05 阅读全文 →

嵌入式编程模块化——何为模块源代码复用?

    对很多人来,嵌入式软件开发过程中 模块化(Modularization)是一个海市蜃楼、是一个书面词汇、是一个过气的时尚——模块化似乎从未真正的实现过。吹牛时人们常不屑的说:没吃过猪肉,但还没看过猪跑么?事实上,如果讨论的对象是嵌入式软件,很多人可能真的没有看过猪跑。在话题变得更像都市传说的之前,我想...
📅 2023-08-05 阅读全文 →

C语言这些常用的标准库,你不得不知道...

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大整理:李肖遥有很多工程师喜欢自己封装一些标准库已有的函数,其实自己封装的函数,并不一定比标准库好,有时候反而代码更冗余,且有bug。下面就来分享一下C语言常见的一些标准库。标准头文件包括:<asset.h> <ctype.h> <errno.h> <float.h&...
📅 2023-08-05 阅读全文 →

软件神器TortoiseGit,晓宇姐姐教你使用图形化方式管理单片机程序版本!

作者:晓宇,整理:晓宇微信公众号:芯片之家(ID:chiphome-dy)学生时期,相信大家都有下面的经历,写毕业论文的时候,每次修改之前,都会先把当前最新的版本复制一份,然后再重新命名一个标题,但是,之前的旧版本又不会删掉,为了保险起见,感觉万一新的文档没改好还能有个旧的版本可以用。于是,就有了下面的一幕:大家别笑,这都是真实发生的案例,更有甚者,自己笔记...
📅 2023-08-05 阅读全文 →

这8种常用的代码编辑器,你平时用哪个?

关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号 | 嵌入式专栏对于软件开发人员,代码编辑器好用与否直接影响代码编辑的效率。软件开发,基本上都有集成开发环境(IDE)工具,且自带编辑器,但IDE自带编辑器多少都存在一些不足。今天就给大家分享几款优秀并且大家常用的编辑器:VS CodeSource Insigh...
📅 2023-08-05 阅读全文 →

printf 宏 居然有这么秀的调试技巧...

1.前言printf调试是嵌入式调试的基本手段,而且是非常重要的手段,我认为相比单步调试更加有用有效,特别是单片机之后跑系统,单步调试效率更加低下了,我们在工作遇到bug的时候,我们第一时间就想知道那些该死的日志有没有保存下来,这样好让我们程序员装逼一波把问题解决。printf宏定义调试非常重要,有些日志在开发的时候才需要打开,发布的时候需要关闭,但是在代码...
📅 2023-08-05 阅读全文 →

数组越界及其避免方法,C语言数组越界详解

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大作者:李肖遥所谓的数组越界,简单地讲就是指数组下标变量的取值超过了初始定义时的大小,导致对数组元素的访问出现在数组的范围之外,这类错误也是 C 语言程序中最常见的错误之一。在 C 语言中,数组必须是静态的。换而言之,数组的大小必须在程序运行前就确定下来。由于 C 语言并不具有类似 Java 等语言中现有的静...
📅 2023-08-05 阅读全文 →

绝妙!如何在SMT32程序HEX文件中加入固件版本信息

作者:阿莫icode,整理:晓宇微信公众号:芯片之家(ID:chiphome-dy)大家有没有遇到过软硬件工程师扯皮的事情?如果一个程序,固件信息里面没有任何版本信息,代码里面通过串口等接口也查询不到固件版本等信息,一旦出现问题,就会你推我,我推你了。那么,怎么样来避免这种情况发生呢?一种方法是,就像上面提到的,可以将固件版本信息定义成一个常量存放在程序中,...
📅 2023-08-05 阅读全文 →

嵌入式编程模块化——6张图来解析实用型Service模型

【说在前面的话】在前面一篇文章《嵌入式编程模块化——何为模块源代码复用?》中,我们讨论了:在工程开发中进行模块化的本来目的——为了复用已有的代码,节省当前项目的开发时间;实际操作过程中遇到的尴尬问题——模块的具体实现原本应该被视作黑盒子,程序员因为各种心理上的原因要阅读代码;以及“原则上”的解决方案——严禁程序员在项目开发过程中阅读模块的具体实现代码。道理说...
📅 2023-08-05 阅读全文 →

嵌入式工程师不能不参加的技术盛会

每年一度的 RDC (RT-Thread Developer Conference,RT-Thread 开发者大会)为众多开发者展示了 RT-Thread 的最新开发和生态建设成果,并携手合作伙伴及资深开发者呈现了 AIOT 行业前沿的技术和创新,分享了最佳技术实践, 成长为 AIOT 领域备受瞩目的大型年度技术盛会。2020年,AIOT产业风云变幻,对轻量...
📅 2023-08-05 阅读全文 →

C语言宏定义的特殊用法以及避坑指南

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大整理:李肖遥之前详细的介绍了宏,传送门:避免这7个误区,才能让【宏】削铁如泥,本篇文章比较基础也是比较常见的宏用法与误区。总结一下C语言中宏的一些特殊用法和几个容易踩的坑。由于本文主要参考GCC文档,某些细节(如宏参数中的空格是否处理之类)在别的编译器可能有细微差别,请参考相应文档。宏基础宏仅仅是在C预处理...
📅 2023-08-05 阅读全文 →

到底什么是防御式编程?

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大作者:李肖遥基本释义编辑防御式编程的主要思想是:子程序应该不因传入错误数据而被破坏,哪怕是由其他子程序产生的错误数据。这种思想是将可能出现的错误造成的影响控制在有限的范围内。相关实例在非法输入(Invalid Inputs)中保护你的程序一个好程序,在非法输入的情况下,要么什么都不输出,要么输出错误信息。有...
📅 2023-08-05 阅读全文 →

单片机数字滤波算法怎么实现?(附代码)

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大整理:李肖遥单片机主要作用是控制外围的器件,并实现一定的通信和数据处理。但在某些特定场合,不可避免地要用到数学运算,尽管单片机并不擅长实现算法和进行复杂的运算。下面主要是介绍如何用单片机实现数字滤波。在单片机进行数据采集时,会遇到数据的随机误差,随机误差是由随机干扰引起的,其特点是在相同条件下测量同一量时,...
📅 2023-08-05 阅读全文 →

纠缠不清的C语言位域(位段)详解

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大作者:李肖遥位域是什么?有些数据在存储时并不需要占用一个完整的字节,只需要占用一个或几个二进制位即可。例如开关只有通电和断电两种状态,用 0 和 1 表示足以,也就是用一个二进位。正是基于这种考虑,C语言又提供了一种叫做位域的数据结构。在结构体定义时,我们可以指定某个成员变量所占用的二进制位数(Bit),这...
📅 2023-08-05 阅读全文 →

嵌入式编程模块化—— 君子协定

【说在前面的话】在本系列的前一篇文章《嵌入式编程模块化——6张图来解析实用型Service模型》中,我们介绍了一种模块化封装的模型——Service模型。该模型的设计理念实际上服务于一个叫做“黑盒子哲学”的设计思维,其核心思想是:将模块视作一个黑盒子:模块的设计者不用向外透露黑盒子的实现细节;同时模块的使用者也无法看到黑盒子的内部。模块的设计者和模块的使用者...
📅 2023-08-05 阅读全文 →