相信很多道友都有对输入IO 口进行滤波的需求,比如按键输入、红外对管输入等。本文以按键为例,简单介绍了如何进行较为高效的滤波。
再见十月,再见S10,别骂苏宁,你好十一月;忽然想水一篇和技术无关的,一起来说一说如何提高自己的学习力,个人拙见了,我知道你还没睡!
电机俗称“马达”,依据电磁感应定律实现电能转换或传递的一种电磁装置。电动机在电路中是用字母M表示,它的主要作用是产生驱动转矩;作为用电器或各种机械的动力源,发电机在电路中用字母G表示,它的主要作用是利用机械能转化为电能。
之前做了一个项目,参考了开源项目本杰明电调(去GitHub搜VESC)或者simpleFOC也不错,总之都挺香;换做自己写,原本以为会挺简单的,没想到入坑了,而且还挺深的,烧了不少片子,烧了不少板子,感觉身体被掏空,总结一下整个算法的流程。
inih (INI Not Invented Here 的缩写) 是一个简单的用 C 语言编写的 INI 文件解析器。
先说内存 柿子捡软的捏,以前做项目的时候被大小端的问题坑过,那种酸爽就像蓝天白云,晴空万里忽然暴风雨,突如其来的BUG,让原本不充裕的时间更加雪上加霜;虽然很基础,但是能力有限,也难免出现错误和纰漏,请各位大佬们在讨论中无情指正我。
关于设备树,之前就已经接触过很久了,但本着够用的原则,基本上都是看着文档CRUD,处于一种不求甚解的状态,没有进行全面性的总结,导致很多知识点都是比较碎片状,没有形成一个系统的知识网络。最近公司来了一个实习生,问了个关于设备树的问题,居然没答上来。于是为了尊严,工作多年的老咸鱼决定挪用一部分打篮球的时间,整理一下这方面的知识。
位域和volatile大家再熟悉不过了:前者用于将指定类型的整形变量按照我们的意愿像蛋糕一样切分成或大或小的若干份;后者用于告诉编译器“绝不允许对被修饰的变量动手动脚(做优化)”,因为在“编译器不知道的情况下”,这个变量的值是可能会因为各种原因被更新或者是改变的。
前面刚转了一篇文章提到了牛顿-拉夫逊(拉弗森)(Newton-Raphson method)方法,感觉这个数学方法很有必要相对深入写一篇文章来总结分享印证一下自己的理解。
这篇文章肝了好久,控制有时候给人的感觉是披着数学外衣的,但是脱下外衣,发现还是控制,本文有一些基本的推导,无非是为最后的算法C实现做铺垫,最终目的是能在实践中进行应用和系统调优。
理想的PID算法往往不能满足实际使用中的很多场景,比如积分饱和的问题,因此需要在此基础上对积分器做抗饱和处理,积分anti windup的优化。这不,隆哥这次面试,直接挂在这么基础的知识点上,肠子悔青,在这里简单总结一下。
栈(stack)是限定仅在表的一端进行操作的数据结构,且栈是一种先进后出的数据结构,允许操作的一端称为栈顶,不允许操作的称为栈底。