最近在公司维护的项目中碰到一个解决了定位很久的bug , bug找到的时候发现犯了很低级的错误——在中断处理函数中调用了printf函数,因为中断处理函数的调用了不可重入函数,导致中断丢失和系统位置错误,这里直接导致嵌入式linux系统应用进程中的所有线程停掉,进而导致看门狗进程得不到喂狗,设备重启。
本节主要是分享光城的实习期间如何快速阅读一些源代码,以及快速阅读一些开源库。
PID,就是“比例(proportional)、积分(integral)、微分(derivative)”,是一种很常见的控制算法。
在使用 lvgl 库的时候,笔者使用的V7版本的库,使用过程中发现网上关于V7版本的资料非常少,官网有文档介绍其如何使用,但有些方面还不是很全面,而且网上现在的中文教程大多数是针对于V6版本的,V6和V7使用上的差异在有些方面还是挺大的,所以笔者也就想把自己在使用V7版本的库的时候的一些心得记录下来。
es在数据量很大的情况下(数十亿级别)如何提高查询效率啊?这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有你想象中那么好的。
单片机程序写好之后,我们都要把程序下载到单片机的内存中,单片机才会按照程序员的逻辑执行命令实现功能。之前也讲过下载单片机的几种方式,比如ISP下载,JTAG下载,下载文件的格式最常见的是hex文件,这个格式大家都是知道的,还有一种bin文件是单片机的下载文件。本文详细介绍了这两种格式的区别。
if...else 是所有高级编程语言都有的必备功能。但现实中的代码往往存在着过多的 if...else。虽然 if...else 是必须的,但滥用 if...else 会对代码的可读性、可维护性造成很大伤害,进而危害到整个软件系统。现在软件开发领域出现了很多新技术、新概念,但 if...else 这种基本的程序形式并没有发生太大变化。使用好 if...else 不仅对于现在,而且对于将来,都是十分有意义的。今天我们就来看看如何“干掉”代码中的 if...else,还代码以清爽。
首先设定一个两周入门计划: 所谓的“两周”,根据每个人的时间安排不同而不同。这里列出一个思路,仅供参考。
完成一个大的硬件工程,需要考虑的事情很多。所以,这对工程师的要求就高了些。且看下面是一个很牛叉的硬件工程师做的分享,希望能帮助到各位。
分享一篇比较好的文章,主要介绍编程规范和编程思想,对编程学习非常有指导意义,内容有点长,和大家分分享一下。
Segger提供的ST例程都是使用J-Link进行调试的,如果我们只有ST-Link仿真器那又该怎么办呢?本文我们将介绍如何在Segger Embedded Studio 中使用ST-Link进行调试。
学习单片机需要动手,不是照着课本去死记硬背。 所以学习单片机的第一个概念:确定好所学习的单片机具体型号。
网友说自己做了两年单片机相关的工作,最后发现不喜欢硬件,想转到互联网软件,有没有可能?单片机也分为软件和硬件,只不过在小公司,软件、硬件都是一个人在做,不会细分的很细。
8*8点阵是一种应用广泛的显示器件,像户外的显示屏、点阵屏都是由点阵拼接而成。而点阵其实是发光二极管LED的矩阵。 在驱动点阵时,虽然具有专用的点阵驱动芯片,如MAX7219,但是该芯片价格比较高,所以应用并没有很普遍。而74HC595和74HC138的组合来驱动点阵应用却非常广泛。
单片机的GPIO口驱动能力有限,不能直接驱动较大功率的负载,如果负载的功率较大必须要考虑采用驱动功率器件的方式,比如说三极管、MOS管以及其他的专用驱动芯片。下面结合几个典型的例子来介绍一下如何提高单片机的驱动能力。
单片机和嵌入式,其实没有什么标准的定义来区分他们,对于进行过单片机和嵌入式开发的开发者来说,都有他们自己的定义,接下来,就谈谈这两个概念的深入理解。
算法(Algorithm)指计算机解题的基本思想方法和步骤。算法的描述是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法。
很久之前就听说st出了一个新版本的库,用于代替原来的标准库,非常好奇,但是一直没有机会去体验。这次借着做毕设的机会,尝试着切换到新库。官网介绍说,hal是一层硬件的抽象,看到这里,我非常激动,看来st终于意识到原来标准库的问题了,原来的标准库非常依赖于具体硬件细节,很难体现出使用库的优势,而且很难移植。同时我也非常好奇,st到底是如何把不同系列mcu的操作给封装起来的,是不是足够抽象,方便移植。
今天和客户谈技术需求的时候,谈到了数据的有效性,客户要求任何写参数的数据都必须进行校验,校验算法可以自定义、也可以遵循常用的算法。校验的目的,是为了防止误操作时刻保证数据的有效性。今天和大家分享一下几种常用的校验算法。
单片机是一种可编程器件,单片机的出现使硬件设计变得更为简单,产品的功能也更强大,而程序就是单片机的灵魂。 目前功能稍微复杂一点的电子产品,都是以单片机为核心,再加以不通的外设电路实现不通的功能需求。 单片机的编程可以通过汇编语言和C语言来实现。