状态机设计原则:清晰!清晰!还是清晰!

‍‍‍‍来源:裸机思维作者:GorgonMeducer 傻孩子【说在前面的话】我们常说:状态机是一种思维方式、一种工具,同时它也是一种拥有极高自由度的语言,作为一种翻译思维的语言工具,不同人在使用状态机时也有类似的表达能力的问题。【功能单一原则】人类是视觉主导的“动物”,具体表现为:对于同样的信息,一张优秀的图片往往能让人秒懂,而对应的优秀文字描述哪怕写的简...
📅 2023-08-04 阅读全文 →

ARM Cortex系列那么多处理器,该怎么区分?

关注、星标公众号,直达精彩内容来源:嵌入式资讯精选最近因为要为芯片选定核,所以就在了解哪些核合适且性价比好,这是一个需要结合产品各类技术、市场分析的活,看似简单却还是需要一些储备的,今天选了一篇ARM Cortex系列的科普文章与大家分享。众所周知,英国的ARM公司是嵌入式微处理器世界当中的佼佼者。ARM一直以来都是自己研发微处理器内核架构,然后将这些架构的...
📅 2023-08-04 阅读全文 →

分享几个提高代码运行效率的小技巧

我们写程序的目的就是使它在任何情况下都可以稳定工作。一个运行的很快但是结果错误的程序并没有任何用处。在程序开发和优化的过程中,我们必须考虑代码使用的方式,以及影响它的关键因素。通常,我们必须在程序的简洁性与它的运行速度之间做出权衡。今天我们就来聊一聊如何优化程序的性能。1. 减小程序计算量1.1 示例代码1.2 分析代码1.3 改进代码2. 提取代码中的公共...
📅 2023-08-04 阅读全文 →

嵌入式的我们需要学习一下ROS吗?

作者:良知犹存来源:羽林君前言    本来是要写一篇STM32移植ROS的一个小lib库,ROS一般都是需要跑在Linux上的,STM32使用就是当成一个ROS通讯的小节点,但是写文章时间不够,所以就简单做一篇ROS的介绍文章,分享给嵌入式的小伙伴们。ROS现在在机器人领域会有比较多的应用,学习的人群也逐渐增多,甚至会有专门的ROS岗位进...
📅 2023-08-04 阅读全文 →

嵌入式C语言自我修养:从芯片、编译器到操作系统(附送书籍)

关注、星标公众号,直达精彩内容来源:strongerhuang最近,阅读了王工(王利涛)赠送的一本由他编著的书籍《嵌入式C语言自我修养》,感觉写的挺不错,也有读者问我要这本书的pdf,今天分享一下这本书籍《嵌入式C语言自我修养》:从芯片、编译器到操作系统。然后,再送10本《嵌入式C语言自我修养》纸质书籍作为粉丝福利;1从芯片、编译器到操作系统嵌入式是一门交叉...
📅 2023-08-04 阅读全文 →

图文讲解 WiFi 驱动移植过程,很肝~

关注、星标公众号,直达精彩内容来源:嵌入式基础学习作者:小二本篇文章打算对WiFi 驱动移植文章进行一次系统性的总结、复盘,分享一下自己的思考过程,遇到的问题等。希望对您有点帮助????????????备注:由于自己目前仅使用了一款 WiFi ,因此不能代表所有的 WiFi 种类,仅以此为代表,谈谈自己的理解与思考。如有问题,欢迎一块讨论交流。可关注微信公众...
📅 2023-08-04 阅读全文 →

超宽带定位中的TOA/TDOA两种最常用算法介绍

关注、星标公众号,直达精彩内容来源参考:华星智控整理:李肖遥UWB最近一年都很火,自从苹果手机使用了UWB技术之后,可以说引领一波芯片热潮,而我参与到定位通信的项目中也有几年了,深深感受到做技术的我们不仅仅是对技术本身的知识点要熟知,对市场更是需要一些了解,这可以指明我们的方向。今天分享一篇基础的关于TOA、TDOA的知识,UWB定位简介。UWB定位UWB定...
📅 2023-08-04 阅读全文 →

FreeRTOS系列第22篇---FreeRTOS任务切换分析

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大整理:李肖遥FreeRTOS任务相关的代码大约占总代码的一半左右,这些代码都在为一件事情而努力,即找到优先级最高的就绪任务,并使之获得CPU运行权。任务切换是这一过程的直接实施者,为了更快的找到优先级最高的就绪任务,任务切换的代码通常都是精心设计的,甚至会用到汇编指令或者与硬件相关的特性,比如Cortex-...
📅 2023-08-04 阅读全文 →

数组还能这么玩?

关注、星标公众号,直达精彩内容来源:嵌入式大杂烩整理:李肖遥数组是最基本的数据结构,关于数组的面试题也屡见不鲜,本文罗列了一些常见的面试题,仅供参考。目前有以下18道题目。数组求和求数组的最大值和最小值求数组的最大值和次大值求数组中出现次数超过一半的元素求数组中元素的最短距离求两个有序数组的共同元素求三个数组的共同元素找出数组中唯一的重复元素找出出现奇数次的...
📅 2023-08-04 阅读全文 →

FreeRTOS系列第23篇---FreeRTOS队列分析

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大整理:李肖遥FreeRTOS提供了多种任务间通讯方式,包括:任务通知(版本V8.2以及以上版本)队列二进制信号量计数信号量互斥量递归互斥量其中,二进制信号量、计数信号量、互斥量和递归互斥量都是使用队列来实现的,因此掌握队列的运行机制,是很有必要的。队列是FreeRTOS主要的任务间通讯方式。可以在任务与任务...
📅 2023-08-04 阅读全文 →

2分钟学会一个简单USB插入检测电路

便携式设备经常会存在USB供电和锂电池供电并存的情况,那么当USB插入供电的时候如何实现系统自动识别并切断电池供电的呢?带着这个问题我们来看下今天的分享内容。如下电路主要是实现USB插入自动检测的功能。当USB未插入的情况下,系统的+5V由BUCK芯片(图中未画出)提供,此时由于D1的防反接作用,系统+5V被截止在右侧,左侧的Q1基极被电阻R3拉低到地,此时...
📅 2023-08-04 阅读全文 →

肝 | 一种串口高效收发思路及方案

关注、星标公众号,直达精彩内容来源:https://freertos.blog.csdn.net/article摘要:本文在探讨传统数据收发不足之后,介绍如何使用带FIFO的串口来减少接收中断次数,通过一种自定义通讯协议格式,给出帧打包方法;之后介绍一种特殊的串口数据发送方法,可在避免使用串口发送中断的情况下,提高系统的响应速度。1. 简介串口由于使用简单,...
📅 2023-08-04 阅读全文 →

【务必收藏】嵌入式C编码规范

关注、星标公众号,直达精彩内容来源:嵌入式大杂烩作者:老外分享GitHub上一位老外的嵌入式C编码规范(收藏细读)[1]01 最重要的规则  编写代码时最重要的一条规则是:检查周围的代码并尝试模仿它。  作为维护人员,如果收到的补丁明显与周围代码的编码风格不同,这是令人沮丧的。这是不尊重人的,就像某人穿着泥泞的鞋子走进一间一尘不染的房子。  因此,...
📅 2023-08-04 阅读全文 →

图解丨在嵌入式设备上实现HTTP服务器

关注、星标公众号,直达精彩内容ID:嵌入式基础学习作者:小二本期为大家带来一个 WiFi 应用的实际场景,其实在之前「我对 WiFi 驱动移植过程,做了一次总结复盘」这篇文章中有简单提过,但由于内容较多,就单独摘出来了。来自读者的催更????????????,别着急,小二在努力了!1 应用场景 我喜欢讲一个东西,先来探讨下他的应用场景。毕竟知道了用在哪,怎么...
📅 2023-08-04 阅读全文 →

干货 | 了解库开发,我们从STM32标准库学起

关注、星标公众号,直达精彩内容来源:华为云社区作者:LongYorke❝摘要:从STM32新建工程、编译下载程序出发,让新手由浅入深,尽享STM32标准库开发的乐趣。❞自从CubeMX等图像配置软件的出现,同学们往往点几下鼠标就解决了单片机的配置问题。对于追求开发速度的业务场景下,使用快速配置软件是合理的,高效的,但对于学生的学习场景下,更为重要的是知其然并...
📅 2023-08-04 阅读全文 →

整理了知乎热议的嵌入式行业前途问题

关注、星标公众号,直达精彩内容来源 | 嵌入式ARM“嵌入式行业前途”是永恒的话题,因为嵌入式的高门槛和软件工程师的“快速”入行,烦扰了很多徘徊在嵌入式的新人。而近期,知乎这一话题也引发了大面积的讨论,这里引用一下大家的精彩讨论,供大家参考,版权归原作者所有:原文地址:https://www.zhihu.com/question/272159066/answ...
📅 2023-08-04 阅读全文 →

详解 | 嵌入式开发的七个秘诀

关注、星标公众号,直达精彩内容来源 | multisim整理:李肖遥成为一个正式的嵌入式开发工程师是一个艰辛的过程。从规范完善的开发周期到严格执行和系统检查,开发高可靠性嵌入式系统的技术有许多种。本文介绍7个易操作且可以长久使用的技巧,它们对于确保系统更加可靠地运行并捕获异常行为大有帮助。技巧1:用已知值填充ROM软件开发人员往往都是非常乐观的一群人,只要让...
📅 2023-08-04 阅读全文 →

硬件打工实录

寒窗苦读十六载一朝踏入硬件家环顾四周,外挂装备何其多欲意加持,肆挑奈何迷人眼纸上谈兵,升职加薪终觉浅  一入侯门,从此萧郎是路人!1 VS他 ,能有今日信手捏来的沉稳自信,离不开多年理论与实践相结合的经验加持。他自知理论虽重,然而,理论能否指导实践,关键在于理论指导实践行动时的效果是否可行,仅仅纸上谈兵,道阻且长……这一仗,熟练应用理论+...
📅 2023-08-04 阅读全文 →

FreeRTOS系列第24篇---FreeRTOS信号量分析

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大整理:李肖遥FreeRTOS的信号量包括二进制信号量、计数信号量、互斥信号量(以后简称互斥量)和递归互斥信号量(以后简称递归互斥量)。关于它们的区别可以参考《 FreeRTOS系列第19篇---FreeRTOS信号量》一文。信号量API函数实际上都是宏,它使用现有的队列机制。这些宏定义在semphr.h文件...
📅 2023-08-04 阅读全文 →

MQTT是物联网的 “圣典协议” ?

关注、星标公众号,直达精彩内容来源 | 嵌入式资讯精选整理:李肖遥有一种协议及其相关内容将万维网推向了成功,这就是 IP,或者叫做互联网协议。这个协议是每种浏览器与互联网连接的基础,也构成了 IT 数据中心的主干。有人认为物联网也会走同样的发展道路,他们相信拥有一个IP地址就足以让物联网连接在一起了。但是物联网的问题不在 IP 上,而是叠加在 IP...
📅 2023-08-04 阅读全文 →

不涨价!不缺货!198元起的ARM Cortex-A8工业核心板有点“香”

摊牌了!ARM Cortex-A8工业级核心板,198元起!不瞒您说,在收到领导说推这个价格的时候,小编感觉到瑟(jing)瑟(xi)发(wan)抖(fen)!在这个缺货、涨价的大环境下,产品维持原价已不容易,更不谈降价了。特别是对于企业客户,在竞争激烈的市场中,如何保证自己产品性能领先、成本领先、售价领先、人力成本领先,成为了企业客户的痛点。我司推出的TI...
📅 2023-08-04 阅读全文 →

经验 | 如何编写优质嵌入式C代码

关注、星标公众号,直达精彩内容来源:https://blog.csdn.net/zhzht19861011摘要:本文首先分析了C语言的陷阱和缺陷,对容易犯错的地方进行归纳整理;分析了编译器语义检查的不足之处并给出防范措施,以Keil MDK编译器为例,介绍了该编译器的特性、对未定义行为的处理以及一些高级应用。在此基础上,介绍了防御性编程的概念,提出了编程过程...
📅 2023-08-04 阅读全文 →

嵌入式软件工程师有必要精通算法,参加各种编程大赛吗?

关注、星标公众号,直达精彩内容来源:嵌入式资讯精选知乎上有人问经常在网上看到很多牛人有ICPC等各大编程大赛的经历。我是学习嵌入式开发的,感觉我天天都是在看芯片资料,代码难度也不高,甚至很多都有现成的,只要改改就可以自己用。好像什么高级算法、超强的数学能力在我的学习中都没有什么体现啊! 完全用不到啊~~那做算法研究,ICPC为了什么???都是做研究...
📅 2023-08-04 阅读全文 →

嵌入式C开发常用库函数与标准定义整理

关注、星标公众号,直达精彩内容来源:知乎作者:Clarence这篇文章想分享笔者在嵌入式开发过程中常用的库函数,他们的使用方法,使用场景,使用好处以及头文件位置。1 #include <stdbool.h>一般我在写C代码的时候都会包含此头文件,因为一旦包含此文件后,你就可以畅快的使用bool数据类型,而不用自己定义bool数据类型了。好处:帮你...
📅 2023-08-04 阅读全文 →

单片机编程技巧—状态机编程

关注、星标公众号,直达精彩内容来源:玩转嵌入式作者:Alicedodo摘要:不知道大家有没有这样一种感觉,就是感觉自己玩单片机还可以,各个功能模块也都会驱动,但是如果让你完整的写一套代码,却无逻辑与框架可言,上来就是开始写!东抄抄写抄抄。说明编程还处于比较低的水平,那么如何才能提高自己的编程水平呢?学会一种好的编程框架或者一种编程思想,可能会受用终生!比如模...
📅 2023-08-04 阅读全文 →

答疑解惑 | Linux GNU C 与 ANSI C 的区别

关注、星标公众号,直达精彩内容来源:嵌入式Linux系统开发Linux 上可用的 C 编译器是 GNU C 编译器,它建立在自由软件基金会的编程许可证的基础上,因此可以自由发布。GNU C对标准C进行一系列扩展,以增强标准C的功能。1.零长度和变量长度数组GNU C允许使用零长度数组,在定义变长对象的头结构时,这个特性非常有用。例如:struct ...
📅 2023-08-04 阅读全文 →

为什么在一个公司待了两三年就想离职?

来源:程序员编程基地作者:名燮根据我自己的经历总结,我认为每到一家新公司干了两三年或者干久了,都有一种干不下去了想辞职的感觉,是因为以下3点:第一日复一日重复着基本相似的工作,产生厌倦,所以有一种干不下去了,想辞职的感觉。刚刚到一家公司的时候所有的东西都是新的,而眼前所面临的工作任务,对自己也是充满了新鲜感和挑战,可工作就是这样,不是每天都能给职场人带来新鲜...
📅 2023-08-04 阅读全文 →

QM UML状态机建模实例之Blinky for cortex-m0

关注、星标公众号,直达精彩内容来源:全然电子整理:李肖遥    QP事件状态机框架论坛已经有很多教程了,加上已经有中文版本的书籍学习QP相对来说多花一些时间就能入门,有经验的攻城狮们可能忙于工作无法学习更多的技术,使用QP框架的好处可能仍不会让您动心,但是如果现在有一款能自动生成代码的图形编辑软件呢?是不是会有那么点心动,虽然不能完全脱离...
📅 2023-08-04 阅读全文 →

10+张图来探究Linux内核,以及如何高效学习

关注、星标公众号,直达精彩内容来源 | 智传网优云课堂01前言本文主要讲解什么是Linux内核,以及通过多张图片展示Linux内核的作用与功能,以便于读者能快速理解什么是Linux内核,能看懂Linux内核。拥有超过1300万行的代码,Linux内核是世界上最大的开源项目之一,但是内核是什么,它用于什么?02什么是内核内核是与计算机硬件接口的易替换软件的最低...
📅 2023-08-04 阅读全文 →

FreeRTOS系列第25篇---FreeRTOS内存管理分析

关注、星标公众号,直达精彩内容ID:技术让梦想更伟大整理:李肖遥内存管理对应用程序和操作系统来说都非常重要。现在很多的程序漏洞和运行崩溃都和内存分配使用错误有关。FreeRTOS操作系统将内核与内存管理分开实现,操作系统内核仅规定了必要的内存管理函数原型,而不关心这些内存管理函数是如何实现的。这样做大有好处,可以增加系统的灵活性:不同的应用场合可以使用不同的...
📅 2023-08-04 阅读全文 →