• 编程5分钟,命名2小时!探讨一下C语言变量/函数的命名规则!

    来源|程序喵大人在软件中随处可见命名:要给变量、函数、参数、类和封包命名,还要给源代码及源代码所在目录命名,甚至还有jar文件、war文件和ear文件命名。但是,看似简单的命名,也是让不少程序员头疼的问题。有一些小伙伴,在进行变量命名的时候,对于自己熟悉的英文,可能还会用英文命名一下,如果需要命名的部分不会用英文表达,或许就直接用拼音了。有的童鞋一下想不起来怎么命名,直接用拼音直接用aa,bb等这样没有任何代表意义的字母来命名,可读性非常差,可能自己今天写的,一个星期后回来再看,也忘记其具体代表的含义了。因此,许多人在写代码之前,总会在想啊想啊,用什么命名法好呢?对于经常在C、Java、Pyt...

  • 拆!施耐德PLC

    PLC,可编程逻辑控制器,是工业自动化中最常用的控制器,也是电气自动化工程师最为熟悉的自动化产品。如今随着边缘计算的兴起,PLC这样的本地控制设备显得更加重要。由于PLC又常见又可靠,在工业自动化领域中不可或缺,所以现在无论是IT还是OT的人对PLC都充满好奇,为何它能这么“牛”,在很多场合都无可替代?今天,为了揭开PLC的神秘面纱,小编特意拿施耐德电气ModiconM262来做一个内部拆解,看看这个代表最先进技术的PLC究竟有哪些特殊的设计,为何既能做到性能优异又能做得超级稳定可靠的?最后再看一下拆解视频。先来说一下ModiconM262这个PLC:说到PLC,可能有人会问这是谁发明的。其实...

  • 绝,电子垃圾变精美艺术品?!

    ▲图1.1中心对称辐射优美图片  本文给出了来自于 ElectronicAutopsy:24SculpturesMadeofComputerParts[1] 网页中展示的一组漂亮的电子元器件组成的艺术作品。  这些艺术作品使用了一些从被弃用的电路板或者其他计算机部件中的元器件,深刻剖析了当今消费主义至上社会中的现象:我们所创造的物品被越来越快速抛弃。我们是一种特殊的把对技术的迷恋当做自己成就的物种,甚至堕落到要去取代自然界。创造这些电子作品的艺术家们使用了抛弃的电子元器件,展示了对待电子垃圾的另外一种处理方法。01电子昆虫  下面这些漂亮的带有翅膀的昆虫是由艺术家JulieAliceChapp...

    嵌入式客栈
    2021-09-28
    电子
  • EMQ 映云科技与 RT-Thread 达成战略合作,共建产业物联网平台

    近日,开源物联网数据基础设施软件供应商杭州映云科技有限公司(EMQ映云科技)与物联网操作系统厂商上海睿赛德电子科技有限公司(RT-Thread)签署技术战略合作协议,双方将结合各自技术优势,面向开发者和企业用户在ICT、电力能源、 金融支付、车联网、工业互联网领域推出多个合作方案,共建全球化的物联网软件生态。EMQ映云科技是一家开源物联网数据基础设施软件供应商,交付全球领先的开源MQTT消息服务器和流处理数据库,提供基于云原生边缘计算技术的一站式解决方案,实现企业云边端实时数据连接、移动、处理与分析。作为目前全球物联网市场广泛应用的MQTT消息服务器,EMQ映云科技的核心产品EMQX具备高并发...

  • 通过实例分析来认识一下QP状态机

    关注「嵌入式大杂烩」,选择「星标公众号」一起进步!来源:技术让梦想更伟大作者:李肖遥Blinky是自带的一个很简单的例子,也就是我们俗称的”HelloWorld!”,可以帮助我们了解QP。在这个blinky中,是以1HZ的速率闪烁LED灯,0.5s开灯,05s关灯。关于Blinky工程先来认识QM这个软件,我更改了模式,看起来还不错,这个模式在view里可以设置然后,新建一个QM工程工程打开之后,我们看看工程目录,工程当中有很多的快捷键,很方便,这里如果大家有兴趣可以自己熟练一下,接下来看看具体的代码以及功能。实现的功能在这个blinky应用中,只有一个名为Blinky的活动对象,这个小巧的对...

  • 从零开始漫谈 | 多实例的状态机

    来源:裸机思维作者:GorgonMeducer【说在前面的话】在前面的讲解中,我们介绍了如何使用状态图的方式来设计有限状态机、明确了状态图设计的“清晰”原则,并结合最简单和常用的switch状态机翻译模式详细说明了状态图的“无脑翻译”方法。比如下面这个状态图就是一个典型:通过图示,我们能清晰的看出该状态机实现的是“通用字符串输出”的功能。其实,这里我算是埋下了一个小小的“彩蛋”——当然,它的真实身份是一个陷阱。如果你已经熟悉了我前面介绍的翻译规则,很容易就会发现这里存在的巨大问题:是的,这个状态图按照switch翻译法无脑翻译的后果,将是一个根本无法正常工作的状态机:#include#incl...

  • GND怎么这么多种类?

    关注、星标嵌入式客栈,精彩及时送达问一个简单而又很难回答的电路问题:电路中的地线GND,它的本质是什么?在PCBLayout布线过程中,工程师都会面临不同的GND处理。这是为什么呢?在电路原理设计阶段,为了降低电路之间的互相干扰,工程师一般会引入不同的GND地线,作为不同功能电路的0V参考点,形成不同的电流回路。GND地线的分类1模拟地线AGND模拟地线AGND,主要是用在模拟电路部分,如模拟传感器的ADC采集电路,运算放大比例电路等等。在这些模拟电路中,由于信号是模拟信号,是微弱信号,很容易受到其他电路的大电流影响。如果不加以区分,大电流会在模拟电路中产生大的压降,会使得模拟信号失真,严重可...

    嵌入式客栈
    2021-09-28
  • 值得学习的单片机菜单框架(附源码)

    点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦,以前用单片机做用户交互的菜单的时候,都比较痛苦,如何写一个复用性高,方便维护,可扩展性高的GUI框架呢?当然可以自己动手写一个,这个过程充满了艰辛和挑战,现在我推荐一个很棒的框架,直接拿来用就行,也可以借鉴和学习其中的思路,一定会收获颇丰。知道有多少人折腾过液晶显示的菜单,我觉得很多人都应该搞过,我还记得以前大学参加电子设计竞赛获奖的作品,我就用到了一个12864,里面有菜单功能。以前可能觉得菜单高大上,其实并不是想象中的复杂,本文为大家分享一个用单色屏做的菜单框架。代码托管在github:https://g...

  • 晶振为什么不封装到芯片内部?

    有一些电子设备需要频率高度稳定的交流信号,而LC振荡器稳定性较差,频率容易漂移(即产生的交流信号频率容易变化)。在振荡器中采用一个特殊的元件——石英晶体,可以产生高度稳定的信号,这种采用石英晶体的振荡器称为晶体振荡器。电子元器件的小型化趋势,有力促进了当下社会的发展进步,电子元器件越小,为主板节约的空间越大,因此,有人异想天开,如果能将晶振电路封装到IC芯片(如时钟芯片)内部将是多么wan美,就如同有源晶振在无源晶振的基础内置振动芯片,就无需外部的电容电阻等元器件了。但实际出于各种原因,晶振并没有内置到IC芯片中。这究竟是为什么呢?原因1、早些年,芯片的生产制作工艺也许还不能够将晶振做进芯片内...

  • 电路中,那些常用的英文缩写

    设计原理图时,网络标号要尽量简洁眀了。本文总结了一下基本的表示方法,供大家参考。常用控制接口EN:Enable,使能。使芯片能够工作。要用的时候,就打开EN脚,不用的时候就关闭。有些芯片是高使能,有些是低使能,要看规格书才知道。CS:ChipSelect,片选。芯片的选择。通常用于发数据的时候选择哪个芯片接收。例如一根SPI总线可以挂载多个设备,DDR总线上也会挂载多颗DDR内存芯片,此时就需要CS来控制把数据发给哪个设备。RST:Reset,重启。有些时候简称为R或者全称RESET。也有些时候标注RST_N,表示Reset信号是拉低生效。INT:Interrupt,中断。前面的文章提到过,中...

    玩转嵌入式
    2021-09-27
    电路
  • 我丢,CPU也可以自制

    2021年4月初,一位热衷于自制CPU的19岁极客小伙FilipSzkandera自己设计和制造出了32位功能性 RISC-VCPU,并构建了与其他自制计算机不同的个人计算机「菠萝一号(PineappleONE)」。从设计、调试和安装CPU和所有硬件,Filip整整花了两年时间。Filip还受邀在东京举办的RISC-VDaysTokyo2021Spring上做了演示,他也成为了该会议自2017年举办以来最年轻的演示者。创建者FilipSzkandera。整体来看,「菠萝一号」是由8块正方形打印电路板垂直堆叠组成,每块边侧高度约为10厘米,外加一个VGA显示接口卡。一共使用了230多个集成电路,...

    玩转嵌入式
    2021-09-27
    CPU
  • 漫画:这就是电烙铁

    确实是很有用的技能。也是非常容易的!是真的!这是一个电烙铁。它的尖端有足够的热量去熔化金属的焊接材料。它的温度大概有200度C!这是焊料。一般是用锡或铅这两种金属做的。用电烙铁来熔化焊接材料和做电路的接合。当焊料加热其温度升高后,其中的松香立刻就熔化了。最好的电子焊料是:由松香为心,60%的锡和40%的铅构成的铅是有毒的。当你焊接时你的皮肤会接触到铅,所以焊接之后务必要洗手!电子电路是由电子元件连接在一起构成的。印刷电路板让焊接变得简单,是因为它带有每个元件的焊盘。所有的元件都有露出线端。大部分的焊盘中间都会有个洞,电路连接就是由这里穿入导线并焊接的!如果将所有元件的导线正确放到焊盘中,并且都...

    玩转嵌入式
    2021-09-27
  • CAN通讯信号的波形,用示波器如何测量

    写在前面CAN通讯是差分信号,在用示波器测量CAN通讯的波形时有一些需要注意的地方。以前和大家分享过CAN总线的知识:CAN总线很难吗?CAN总线看不懂是不可能的!今天和大家分享一下CAN信号的测量。作为目前车载网络领域最成熟、应用最广泛的通信总线之一,CAN总线具有传输可靠性高、速度快、易用等特点。由于其涉及到用户的人身安全,所以在汽车研发、生产、检测、维修等过程中均需做严格的测试。由于CAN信号是差分信号,在测试过程中一般需要使用差分探头来进行测试,但在研发阶段的板级测试中,确认安全的前提下可以使用普通低压无源探头进行测试。今天给大家介绍鼎阳科技SDS5000X标配的CAN总线触发与解码,...

  • 嵌入式学习不知从哪入门?不妨从这些知识开始

    关注「嵌入式大杂烩」,选择「星标公众号」一起进步!来源 | 网络大家好,我是ZhengN。最近有小伙伴问了嵌入式入门学习的问题。这里找了一篇相关的。我之前也是大致按照这些内容进行入门学习,大家可以借鉴借鉴。本公众号虽然起名为嵌入式大杂烩,但是基本围绕着嵌入式重点知识展开分享,以下也列举了一些相关的推文。后续仍然会围绕着这些做更多地学习分享:1、C语言嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等。干货|结构体、联合体嵌...

  • 如何实现J-Link的Flash烧录算法?

    Flashloader的基本原理Flash是目前最主要的非易失性存储器,众多的MCU内部都集成了Flash存储器。但是Flash无法直接写入,任何的Flash写操作都必须是在Flash为空或者已经擦除的单元内进行。Flash的擦除一般是以块为单位进行,而且不同MCU内部Flash以及串行Flash块的大小是不一样的,这就导致了每个设备的Flash写操作可能并不相同。Flashloader就是调试工具(IDE和硬件调试器)为了解决Flash的编程问题而采用的一种方法。Flashloader实际上是运行在MCU的RAM中的一段程序,调试工具先将Flashloader下载到RAM,再通过控制PC来执...

发布文章