多线程并发执行时有很多同学捋不清楚调度的随机性会导致哪些问题,要知道如果访问临界资源不加锁会导致一些突发情况发生甚至死锁。
前面的话 本文介绍如何在matlab的simulink中嵌入C语言进行多输入多输出的仿真;这样暂时脱离硬件平台的问题,快速验证算法的可行性,从而提高效率,总体来说,simulink挺香的,不过由于不可抗拒因素,在一些高校强行被ban,非常可惜,但是我相信我们最终会拥有比matlab更强大的软件。
记得以前上数字信号处理的课时,老师上来就是一个欧拉公式,然后直接blablabla从时域到频域......全程都是云里雾里的状态;本文因为项目的一篇论文中公式的推导,无奈重新捡起了课本,真是书到用时方恨少啊!
之前写过一篇UART,通用串行异步通讯协议,感兴趣可以参考一下《我打赌!你还不会UART》;因为UART没有时钟信号,无法控制何时发送数据,也无法保证双发按照完全相同的速度接收数据。因此,双方以不同的速度进行数据接收和发送,就会出现问题。如果要解决这个问题,UART为每个字节添加额外的起始位和停止位,以帮助接收器在数据到达时进行同步。
相信很多道友都有对输入IO 口进行滤波的需求,比如按键输入、红外对管输入等。本文以按键为例,简单介绍了如何进行较为高效的滤波。
再见十月,再见S10,别骂苏宁,你好十一月;忽然想水一篇和技术无关的,一起来说一说如何提高自己的学习力,个人拙见了,我知道你还没睡!
电机俗称“马达”,依据电磁感应定律实现电能转换或传递的一种电磁装置。电动机在电路中是用字母M表示,它的主要作用是产生驱动转矩;作为用电器或各种机械的动力源,发电机在电路中用字母G表示,它的主要作用是利用机械能转化为电能。
之前做了一个项目,参考了开源项目本杰明电调(去GitHub搜VESC)或者simpleFOC也不错,总之都挺香;换做自己写,原本以为会挺简单的,没想到入坑了,而且还挺深的,烧了不少片子,烧了不少板子,感觉身体被掏空,总结一下整个算法的流程。
inih (INI Not Invented Here 的缩写) 是一个简单的用 C 语言编写的 INI 文件解析器。
先说内存 柿子捡软的捏,以前做项目的时候被大小端的问题坑过,那种酸爽就像蓝天白云,晴空万里忽然暴风雨,突如其来的BUG,让原本不充裕的时间更加雪上加霜;虽然很基础,但是能力有限,也难免出现错误和纰漏,请各位大佬们在讨论中无情指正我。
关于设备树,之前就已经接触过很久了,但本着够用的原则,基本上都是看着文档CRUD,处于一种不求甚解的状态,没有进行全面性的总结,导致很多知识点都是比较碎片状,没有形成一个系统的知识网络。最近公司来了一个实习生,问了个关于设备树的问题,居然没答上来。于是为了尊严,工作多年的老咸鱼决定挪用一部分打篮球的时间,整理一下这方面的知识。
位域和volatile大家再熟悉不过了:前者用于将指定类型的整形变量按照我们的意愿像蛋糕一样切分成或大或小的若干份;后者用于告诉编译器“绝不允许对被修饰的变量动手动脚(做优化)”,因为在“编译器不知道的情况下”,这个变量的值是可能会因为各种原因被更新或者是改变的。