小麦大叔

其他

简单实用!STM32硬件错误的调试技巧

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。这说明STM32出现了硬件错误。硬件错误中断STM32出现硬件错误可能有以下原因:数组越界操作;内存溢出,访问越界;堆栈溢出,程序跑飞;中断处理错误;遇到这种情况,可以通过以下2种方式来定位到出错代码段。方法1:在硬件中断函数HardFault_Handler里的while(1)处打调试断点,程序执行到断点处时点击STOP停止仿真。示例1.2
2022年7月21日
其他

嵌入式 C 语言的核心是什么?

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达提起C语言,大部分开发者很自然就会想到指针二字。没错,作为C的核心和灵魂,它的地位咱们就不再赘述了。今天,我们想跟大家讲的是指针中的两个特有名词:“悬空指针”和“野指针”。悬空指针C语言中的指针可以指向一块内存,如果这块内存稍后被操作系统回收(被释放),但是指针仍然指向这块内存,那么,此时该指针就是“悬空指针”。下面这段C语言代码是一个例子,请看:void
2022年7月20日
其他

陀螺仪工作原理,你懂了吗?

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达陀螺仪,又叫角速度传感器,是用高速回转体的动量矩敏感壳体相对惯性空间绕正交于自转轴的一个或二个轴的角运动检测装置。同时,利用其他原理制成的角运动检测装置起同样功能的装置也称陀螺仪。陀螺仪的名字由来陀螺仪名字的来源具有悠久的历史。据考证,1850年法国的物理学家莱昂·傅科(J.Foucault)为了研究地球自转,首先发现高速转动中地的转子(rotor),由于它具有惯性,它的旋转轴永远指向一固定方向,因此傅科用希腊字
2022年7月18日
其他

华为专家自述:如何成为优秀的工程师

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达无论是在T、W公司还是在华为,我有幸得以一直从事OS(操作系统)行业,但坦率来讲,这是一个拥有无穷乐趣但也充满了艰辛的行业,很多时候并不像外界所认为的那么光鲜。很多人问我对OS怎么看时,我都会讲这样一句话:操作系统可能是这个世界上最重要,但也是最没用的东西。最没用是因为只有和芯片、业务等结合,操作系统才具有使用价值;最有用是因为操作系统是连接芯片、硬件和业务的桥梁,谁掌握了操作系统谁就拥有了主动权。我的职业生涯一直以来都无可救药地和操作系统绑定着,华为公司发起的openEuler社区,一个国内在操作系统领域真正意义上的开放社区,看起来让我的命运又起了新的变化。纵然是命运的安排,也不妨碍从职业生涯中总结出一些感触。作为一个工程师,我认为大体应该经历四个阶段。01
2022年7月16日
其他

C语言进阶小技巧,弱符号和弱引用

指令,因为给编译器提供了错误的上下文,由此引起的错误通常很难被发现。强符号和弱符号在同一作用域下不能定义同一个变量或函数,很多C语言学习者都理所当然地这么认为。这个其实是是有所偏颇的,GNU
2022年7月12日
其他

嵌入式BSP工程师到底是干嘛呢?

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦。今天我们来学习一下,到底什么是BSP工程师?一、嵌入式系统要明白什么是嵌入式软件工程师,我们先从嵌入式系统(嵌入式设备)说起。维基百科上对嵌入式系统的定义如下:嵌入式系统(Embedded
2022年7月11日
其他

10天学会STM32的学习心得总结

准备几个常用的文档,比如《STM32的用户手册》,《STM32固件库使用手册》等文档。用于平时查阅。步骤四
2022年7月9日
其他

无序的四阶混沌摆

长按下方二维码关注我的视频号
2022年7月8日
其他

表妹上985,真的很难

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦。今年的高考已经过去有一段时间了,热度也逐渐下降,前不久浙江的划档线公布了。我发现上个大学挺不容易的,上个985的名牌更不容易。今年浙江总共36万考生。分数线这浙江省的普通类分段线。第一段是497分,可以填报本科院校了。后面的大部分应该是专科的名额了。查询了一下497分的名次,排名大概是
2022年7月8日
其他

这个免费的电路仿真工具 yyds

scratch。更轻量化,上手更容易,是一个在线的电路仿真工具。网址如下:http://scratch.trtos.com/circuitjs.html
2022年6月21日
其他

巧用宏定义,提高开发效率

开发的过程中,常常会用到一些宏定义,很多手段可以帮助我们提高调试的效率。可以使用这些宏分别打印当前源文件的信息,主要内容是当前的文件、当前运行的函数和当前的程序行。具体宏如下:__FILE__
2022年6月17日
其他

又一开源神器,值得收藏学习!

大家好,我是小麦。今天给大家推荐一个不错的Qt开源项目项目主页支持功能支持传统的串口调试助手的基本收发功能,同时可以刷新大量的数据而不卡顿支持保存接收的数据支持最大200条可编辑指令的设置,并用于多条发送支持定时器发送支持换行符替换时间戳功能支持较多的中文编码格式值得注意的是支持Linux简单的串口调试支持加载csv表格数据到200条可编辑指令支持部分窗口配置的保存和重启恢复(前提是你不会删除配置文件)支持自定义协议,IMU姿态显示支持虚拟串口示波器简单使用Release版本进入下载界面,这里支持两种风格,vSailorProject-V0-0-3-black.zip和vSailorProject-V0-0-3-normal.zip;这是软件两种不同的主题,通常我喜欢暗黑主题。感兴趣的同学可以在源码里进行二次开发,引入QSS,可以对软件进行主题更换。下面是软件使用界面;支持串口收发支持自定义串口协议支持IMU姿态显示支持虚拟串口示波器支持TCP协议整体来说,这个项目很棒,作为Qt的学习也很不错,如果这个项目帮助了你,记得给一个Star
2022年6月13日
其他

磁翻转屏幕,复古科技,艺术感十足

长按下方二维码关注我的视频号
2022年6月13日
自由知乎 自由微博
其他

选电子工程被劝退,真的没前景了?

大家好,我是小麦。在知乎上看到这个问题,电子信息工程是否还有前景呢?感觉很多答主都分析地都很客观,比较切合实际,下面分享一下精彩的回答。网友A因为你找不出来一个不劝退的工科专业,因为所有专业都劝退,因只有(容易学+永远热门+竞争小+考研容易+考公优势大+越老越吃香)的专业才不劝退。电子信息工程在热门程度上仅次于计算机类和集成电路(微电子),和通信工程、自动化差不多,出路基本上也是码农居多,少数厉害的搞算法,现在芯片火了,做集成电路的越来越多,反正课程大都学过,跨考也容易。网友B看自己吧,代码也不是每个人都会敲的,没有算法思维和一点点天赋,学c语言都很痛苦就别去计算机了,电子信息工程这个就业还行吧,只是说岗位比计算机少,偏向硬件,嵌入式,fpga,硬件单板等。但是至少代码会弱很多,而且就业好与坏与学校有关,个人成绩有关,技术有关,找工作运气有关,性格有关。这个怎么说,很难说好与坏,就比较我们学校普通985,秋招时有拿到将近40w
2022年6月11日
其他

傅里叶变换的可视化

长按下方二维码关注我的视频号
2022年6月10日
其他

高手是怎样炼成的?

如何取指,译码,执行,知道地址总线,控制总线,数据总线如何工作。要弄明白你编译各个阶段产生的各个文件是什么,什么是分散加载,什么是重定位,什么是代码段,什么是数据段,等等。弄明白
2022年6月10日
其他

俄罗斯方块和点阵屏时钟的完美结合

长按下方二维码关注我的视频号
2022年6月7日
其他

芯片的翻新和造假,人被坑麻了

大家好,我是小麦目前工作这么多年,假芯片还没有对于我的工作造成什么影响,可能是公司采购渠道比较正规。但是在做样品测试的时候经常会遇到某些元器件的造假,有一定的困扰,最常见的就是电容。有遇到过铝电解电容是空壳的情况,也有劣质瓷片电容套用三星电容,结果导致生产时候良率波动很大,烧了不少电容。翻新我觉得应急情况下可以接受,其实我们正常生产的时候都会用到很多“翻新”料,出现故障了,就不从仓库领取新料,直接拆报废板子的物料,还有一次贴错了,不也就全拆下来重新贴。不过我们自己翻新来源比较可控,而在华强北修手机的地方,很多就会把摔坏主板的机子上CPU啥的拆下来翻新使用,这些东西可能就不那么可靠了。“假货”也有很多种,有高仿和纯粹的假。我们经常说国产替代,其实严格来说,Pin2pin的(也就是芯片引脚兼容),连程序都能直接用的,不也是造假吗?这在中国早期mcu研发中很常见,现在有一些走出了自己的路线。而在低端领域,国产抄国产的其实更严重,疫情前出现的几次消费电子的热潮,比如弹钢琴的植物、解压陀螺等产品,那真的是满天飞,可能见到的每一个小厂都想分一份羹,都不知道谁才是正版,反正都是假货,最后全都玩死了。而另外有些就是按照假货去做的,比如以前的山寨机,明确告诉你这就是假货,就是便宜。这类我在线材中经常见到,USB线这些低端货,明确就告诉你这里面不是铜线,是铝的,便宜,就是没法用,插上电脑根本不识别,这种连功能都实现不了的假货,估计以后会越来越少了,卖不出去,谁又不是傻子,还能总是上当?!假芯片如何生产?一个晶圆上有成百上千个芯片,晶圆生产好后要经过测试并把不好的标记上;通过测试的晶圆被切割并封装,封装好后就是我们看到的带管脚的芯片了,在封装阶段标记为不好的芯片同样会被丢弃。未通过测试的晶片由买裸片的厂家回收,自己切割、邦定,但标记为不好的芯片也会被丢弃。通常正规的测试流程费时、成本高,所以有些晶圆厂会把未经过测试的晶圆卖给需要裸片的厂家,并由后者自己测试。但后者通常没有好的测试设备,同时为省钱减少测试项目,致使一些本来在半导体厂不能通过的芯片用在了最终的产品中,造成产品质量的不稳定。有心人便利用这些空子并发展出专业造假公司,赚的盆满钵满、害的一些中小公司赔光了利润。不可否认,假元器件已经成为供应链的毒瘤。假芯片根据造假工艺程度,可以分为以下四种:1)最低级的造假,是翻新。就是把旧的片(一般是拆机片)翻成新的,把歪的管脚接好,并打成管带,贴上标签,从外观看毫无差别,懂货的行家以拆便知。2)稍微有点追求的假货,就是打磨。把功能和尺寸都相差不大的芯片磨成更升一级的片子,在换上logo,然后商业级变成工业级,工业级变成军级,军级变成883级,低速率变成高速率,低频率变成高频率等等。3)再做得精细一点的就是在封测上动手脚。这种不止需要打磨logo,还要把不同的die造成另一个封装起来。4)最后一种就登峰造极,这种方式更接近于洗白,就是“造假流水线”,比如你去买MCU,对方会问你想要原厂还是台版,台版就分为两种了,有种是直接仿造的,另一种就是台湾本地产,不算假货,是经过原厂的授权以及检测的,但是指标还差点。最后,大家遇到过哪些被坑经历呢?欢迎在下方留言讨论。转自:ZYNQ版权声明:本文来源网络,版权归原作者所有。版权问题,请联系删除。
2022年6月7日
其他

这种项目,最好别接!

相信你的直觉,忠于你的内心感受,一开始你都看不顺眼的客户,你们是做不成朋友的,你们之间的合作是不会长久的,也不会愉快的,后面会有很多坎坷等着你。第九种:对社会没有正能量的项目坚决不接
2022年6月6日
其他

C语言的高级用法,面向对象

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达不知道有多少人去了解过语言的发展史,早期C语言的语法功能其实比较简单。随着应用需求和场景的变化,C语言的语法功能在不断升级变化。虽然我们的教材有这么一个结论:C语言是面向过程的语言,C++是面向对象的编程语言,但面向对象的概念是在C语言阶段就有了,而且应用到了很多地方,比如某些操作系统内核、通信协议等。面向对象编程,也就是大家说的OOP(Object
2022年6月2日
其他

调试利器!一款轻量级日志库 log.c

代码优雅、设计简洁、功能实用,这对库的用户和库的开发者而言,都是一种幸福。如果你的项目需要一个简单好用的日志功能,可以考虑集成开箱即用的
2022年6月1日
其他

神奇的双摆系统

长按下方二维码关注我的视频号
2022年5月31日
其他

三本毕业,三年嵌入式软件的心路历程

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦。在知乎上看到一篇很中肯的文章,三年嵌入式的心路历程。给大家分享一下,以下的第一人称均代表原作者
2022年5月31日
其他

傅里叶变换,为何如此优美?

长按下方二维码关注我的视频号
2022年5月30日
其他

开发项目事半功倍,一款开源的stm32驱动库大集合

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦。平时的开发,我们经常需要用到很多重复的代码,我们有必要花一些时间整理一些常用的、通用的代码,到时候就可以直接拿来用了。如果没有精力自己去整理,也可以用一些网上比较成熟的代码。这个库里包含了很多常用的外设驱动及常用器件的驱动:USART、I2C、SPI、ADC、DAC、RTC、USB、PWM、ILI9341、MPU6050等。这里推荐一个开源的STM32外设驱动库;项目地址:https://github.com/MaJerle/stm32f429每个驱动的使用都配有单独的keil工程的例子:每个工程都支持如下四个目标板:有相关开发板的话可以直接用来测试。核心代码放在
2022年5月30日
其他

一句话总结工程师的辛酸,你躺枪了吗?

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦。当产品出现问题,锅已经到达工程师们头上,最喜欢说的一些话。感觉躺着也中枪呀!1明明在我的电脑上是运行正常的啊,为何就。。。。2不可能出现这种情况的啊,绝对是玄学~~~3快了,已经完成了90%~4这个很简单的,我三天就搞定了~然而。。。。。。5昨天程序运行明明是正常的,但不知道为啥今天就不行了,奇了怪了~6只是改一行代码,不会对整个程序造成影响的,放心~7如果有问题,一定不会是我程序的原因,要不考虑一下硬件问题?8审查代码时:当时写这个程序的时候只有上帝和我知道我为啥这样写,现在只有上帝知道了。(我也不记得当时是什么原因了~~)9这个功能我会在下个版本修正。。。。到下个版本的时候。。。。再重复上面那句话。10已经做好了,但还有一些细节要调一下。11我会在代码更替的时候添加单元测试。12这只是暂时的解决方案,在正式版我会修改方案的。然后。。。13我觉得这文档写的很清楚啊,我就不明白为啥你说看不懂。这也太难了~14老板什么时候可以完成啊大概四个月吧攻城狮老板你只有一个月时间,否则扣奖金好吧,我试试!(然后就真TM一个月完成了),别欺负PM啊。攻城狮15攻城狮为什么这程序可以跑?攻城狮为什么这程序跑不了~16我正在调试这个bug,但程序是没问题的啊,是不是你硬件出错了?17这是字符编码的问题。18不用担心,这次肯定不会有问题了。上~~19这不可能的,肯定是芯片坏了,或者是编译器出错了。20这个变量怎么可能被修改了~奇怪了~21我需要重构代码,因为上一个人写得太烂了。辣鸡代码~22我检查过一遍了,没问题的,版本可以发布上线了!23没办法,这是一个公认的bug,没有办法解决~24再给我两天,保证能做好。25之前一直都没有出现过这种情况啊~26我又不能测试所有的功能。27这不是bug,这肯定是配置问题,或者网络问题。28程序肯定是没问题了,你是不是改了什么,你重演一下我看看。29这些代码是上一个开发者写的,不是我写的。这锅我不背~30运行那么久,第一次出现这样的问题啊,我之前都没见过。还得瞧瞧~转自:最后一个bug版权声明:本文来源网络,版权归原作者所有。版权问题,请联系删除。
2022年5月25日
其他

高效,可靠,安全的串口通讯开源方案

大家好,我是小麦。在嵌入式开发中,经常会用到串口通讯。面对不同应用场景,需要不同的方案。今天我们来讲一下高效,可靠,安全的方案,记得看到最后,会有收获。常见的有串口轮询模式,串口中断模式,串口DMA接收传输等等;利用串口的空闲中断配合DMA的环形缓冲区模式,可以高效接收不固定长度的消息报文下图中经过黄色的高电平时间空闲之后,就会产生一个空闲事件,IDLE
2022年5月22日
其他

轻量级单片机命令行交互项目,全部开源

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达1、介绍在进行调试和维护时,常常需要与单片机进行交互,获取、设置某些参数或执行某些操作,nr_micro_shell正是为满足这一需求,针对资源较少的MCU编写的基本命令行工具。虽然RT_Thread组件中已经提供了强大的finsh命令行交互工具,但对于ROM、RAM资源较少的单片机,finsh还是略显的庞大,在这些平台上,若仍想保留基本的命令行交互功能,nr_micro_shell是一个不错的选择。项目地址:
2022年5月21日
其他

项目版本号怎么命名?看起来牛B

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达不知道大家发布软件的时候,版本号是怎么命名的?最常见的就是V1.0.0这种简单的形式命名,甚至有些同事直接用V1、V2.......或者日期来命名,有点随意了,当然复杂一点就是带有日期、后缀等版本信息。版本号命名规范就像代码规范一样,不同公司、不同岗位的规范不同。今天就来简单说下关于版本号命名的常见规范。这里分享一种通用的版本命名规范,格式:主版本号.子版本号.修订版本号.日期_版本阶段比如:V1.2.3.20220513_rc说明:第一位(1):主版本号。当功能模块有较大的变动,比如增加多个模块或者整体架构发生变化。此版本号由项目决定是否修改。第二位(2):子版本号。当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能。此版本号由项目决定是否修改。第三位(3):修订版本号。一般是
2022年5月20日
其他

520送什么?DIY一个高颜值RGB时钟,女生看了都想要

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达给大家分享一个用ESP8266做一个高颜值的RGB时钟的项目!这个时钟还具有自动亮度控制功能并配备了温度传感器!材料准备PCBESP8266或Nodemcu跳线焊接工具第1步:
2022年5月18日
其他

一招教你轻松看懂波特图

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达波特图的主要功能是用来表示系统的频率特性,包括幅频特性和相频特性。假设有一个系统用于跟随正弦波,当输入一个正弦波时,输出也是一个正弦波,但是输入、输出在幅值和相位上是会有差异的,在时域如下图所示。从上图可知在某一频率下该系统的幅值增益为20lg(1.4/2.0)=-3.1dB,相移(滞后角)为-45°(负数表示滞后)。当输入的频率不同,幅值增益和相相移也会变化,显然在时域上是很难表示系统在不同频率下的输出,在此引入了波特图,用于表示系统在不同频率下的特性,即幅值变化的比例和相移的程度。定义波特图的横坐标为频率,纵坐标为增益和相移并以对数的形式表示(对数能放大坐标)。我们改变输入信号的频率,并测出在不同频率下输出信号的幅值和相移,并计算进行坐标转换,就可绘制出如下的某一理想电机的开环和闭环波特图。上图理想电机的波特图分为开环和闭环两个曲线,闭环系统是指输出信号反馈到输入端参与控制,从两根曲线可以读出不同的信息。通过开环系统的幅频曲线和相频曲线可以获得系统的幅值裕度和相位裕度来判断系统的稳定性。规定当输入某频率信号时幅值增益为0dB时,该频率下输出的相移角+180°为开环系统的相位裕度。下图所示的系统的相位裕度为180°+(-147°)=33°。规定当输入某频率信号,系统的输出相移为-180°(输出翻转)时,其输出幅值增益为系统的增益裕度(幅值裕度),下图的系统的幅值裕度为0-32.5dB=32.5dB上图系统的幅值裕度为32.5dB,相位裕度为33dB,系统稳定。为了保证系统在闭环控制下能稳定,一般要求系统的相位裕度大于45°。当系统的幅值裕度为0,相位裕度为0就会发生自激振荡,在控制上是不稳定系统。下面分析增益为0dB,相移为-180°的系统的特性。如下图所示的PID控制系统,当系统在某一频率的开环增益为0dB,开环相移为-180°,引入反馈构成闭环控制。PID控制的输入量ERR=INPUT-OUTPUT,系统的开环输出相移为-180°,因为计算出来的误差值将翻倍,构成了一个正反馈系统,系统是不稳定的。在调PID参数时候,不同参数下的系统阶跃响应如下图所示,可分为欠阻尼、过阻尼、临界阻尼系统。欠阻尼、过阻尼、临界阻尼系统的波特图如下图所示。另外,根据系统的波特图也可以进行控制系统的校正,这是波特图最大的用途。转自公众号:硬件攻城狮版权声明:本文来源网络,版权归原作者所有。版权问题,请联系删除。
2022年5月18日
其他

我又发现了超赞的软硬件项目,全部开源

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦。今天给大家推荐一个开源的无刷电机驱动项目。项目地址:https://github.com/vedderb项目主页ESC是Electric
2022年5月17日
其他

嵌入式开发中100%会用的几个宏,建议收藏

链表宏在linux内核、鸿蒙内核、rtos和一些开源代码中用的非常多。链表宏是双向链表的经典实现方式,总代码不超过50行,相当精炼。在一些开源框架中,它的数据结构,就是以链表宏为基础进行搭建(如shttpd,一个开源的轻量级、嵌入式服务器框架)。本篇文章将对llist.h文件中的链表宏进行逐个讲解。1
2022年5月16日
其他

do{} while(0) 只执行一次无意义?你可能真的没理解

在嵌入式开发中,宏定义非常强大也非常便捷,如果正确使用可以让你的工作事半功倍。然而,在很多的C程序中,你可能会看到不是那么直接的比较特殊一点的宏定义,比如do{}while(0)。do{conditional
2022年5月16日
其他

嵌入式真的没前途吗?

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦。从事嵌入式相关行业,差不多快有10年时间了,走过很多弯路,踩过很多坑。很多人会问,嵌入式真的没有前途吗?这个我其实也无法回答。用发展的眼光来看,万物都有周期。这个和嵌入式无关,和行业有关,一个行业的增长有关,和资本有关,和郭嘉发展有关。所以只有天时地利人和,而这个人和,就是你自己的选择。对此这是我的看法,也欢迎大家发表自己的看法。如果打算入门嵌入式学习,那就和大家聊聊嵌入式学习路线。什么是嵌入式?嵌入式即嵌入式系统,IEEE(美国电气和电子工程师协会)对其定义是用于控制、监视或者辅助操作机器和设备的装置,是一种专用的计算机系统。国内普遍认同的嵌入式系统定义是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式是一个比较多学科综合的方向,有很多细分的方向。其实可以直接切入某个细分的领域,然后介绍一下学习路线,比如单片机开发,Linux应用开发,Linux驱动开发。但是不难发现,虽然是很多细分,但是需要学习的知识有所交叉,有的又相互独立。嵌入式的相应招聘岗位,基础技能树要求其实相差不大,不过有很多对行业绑定比较深的岗位,会要求有行业经验和这个行业沉淀的相关技能;比如汽车电子要求can,autosar;物联网要求网络协议,单片机,RTOS,WiFi,Bluetooth等等;BSP工程师要求掌握Linux内核和各种子系统;机器人相关要求掌握ROS;岗位还有很多,这里就不过多列举了,下面分享一下我认为的比较万金油的学习路线。下面是我整理的思维导图。简单来说一下传统的学习路线。编程基础C语言这是必须要精通的。C语言非常灵活,可以进行单片机开发,驱动开发,固件开发,内核开发,应用开发,几乎都可以用到。比如著名的操作系统Linux,主要就是C语言实现的,当然还有很多基于C语言的项目,这里就不一一介绍了。学习C语言,我比较喜欢浙大翁恺老师的课程。C++C++在嵌入式中更多是应用开发方向,因为对C有较好的兼容,所以在硬件方面仍然使用C进行编程,而较为复杂的业务逻辑部分,则使用面向对象的C++进行封装和实现。C++和C的混编也是非常实用的。数据结构与算法合理地使用数据结构,它会让的开发事半功倍,常用的数据结构,比如队列,链表其实在嵌入式的开发中十分常见,当然还有hashmap,二叉树等等。如果编程语言是武器,那么数据结构就是招式。什么样的场景,使用什么样的招式,数据结构里大致都写了。其他编程语言还有很多其他的编程语言,我这里列举几个。shell这是脚本语言,在Linux上比较常见,一般来说,掌握shell,可以大大提高工作效率,这个是强烈建议熟练掌握的,遇到不懂的可以多看man
2022年5月15日
其他

搭建了一个轻量级实验室,真香

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦之前分享过一个工程师工作台的视频,大家都比较喜欢。也有不少朋友问,搭建一个电子实验室是不是要很多钱,其实如果单纯是业余爱好,那么搭建一个轻量级的实验室,费用上其实也可以尝试的。下面进行分类主要有:仪器类首先是电源,首选双路可调稳压电源,一般几百块钱拿下了。能符合大部分的板机设计要求。万用表必不可少,福禄克,胜利牌的就行,一般几十块或几百不等。示波器是工程师必备神器,泰克,选个普源RIGOL其实就够用了,预算充足可以买好点,预算紧张的话,其实1000多也能拿下普源了,一般调试其实也够用的。焊接工具焊台,必不可少,0~500这个区间,可以拿下了,记得用恒温焊台,温度可调,升温快的;热风枪,焊接,拆芯片都很好用,0~500这个区间,温度可调,升温快的;焊接和风枪一体,功能和上面一样,优点是非常省空间,我比较推荐这种风格的;恒温加热台,焊接贴片的时候,还是比较好用的,几百可以拿下;杂七杂八的,比如镊子,焊锡,洗稿,松香,助焊剂,都是需要的;测量工具游标卡尺是必备的,可以选择机械游标卡尺,也有电子游标卡尺,推荐后者,简单好用;各种调试器,不赘述了,一般都有;电子显微镜,这个看情况吧,有时候看看引脚有没有虚焊,还是很好用的;五金工具各种钳子;各种螺丝刀;小型电动钻,可以拧螺丝,可以打孔;热熔枪;选配部分宽屏电脑,目前市面上21:9的34寸显示器不错,或者配个双屏;收纳盒,各种电子元器件,可以收拾地很好;3D打印机,一千到几万都有,看自己需求和预算吧;雕刻机,看需求;护眼台灯,经常伏案而坐,保护眼睛很重要;人体工程学座椅,经常坐着,这个钱其实花的也不冤枉;灭火器,记得注意安全;最后,再强调一下,比较重要的,记得再配个灭火器,注意安全。总结一下以上的设备,其实几千块差不多可以置办下来,另外大家还有什么补充,欢迎在下面留言讨论。所以最近逛论坛的时候,很羡慕那些在家有一个自己实验室的工程师。这样就可以把自己的想法实现出来。下面分享一下。
2022年5月12日
其他

什么是霍尔效应?

扫码关注我的视频号
2022年5月10日
其他

别踩坑了,细数嵌入式板卡设计的常见问题

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达嵌入式设计是个庞大的工程,今天就说说嵌入式板卡设计方面的几个注意事项,首先,咱们了解下嵌入式的硬件构架。我们知道,CPU是整个系统的灵魂,所有的外围配置都与其相关联,这也突出了嵌入式设计的一个特点硬件可剪裁。在做嵌入式硬件设计中,以下几点需要关注。1、电源的确定电源对于嵌入式系统中的作用可以看做是空气对人体的作用,甚至更重要:人呼吸的空气中有氧气、二氧化碳和氮气等但是含量稳定,这就相当于电源系统中各种杂波,我们希望得到纯净和稳定符合要求的电源,但由于各种因素制约,只是我们的梦想。这个要关注两个方面:a、电压嵌入式系统需要各种量级的电源比如常见的5v、3.3v、1.8v等,为尽量减小电源的纹波,在嵌入式系统中使用LDO器件。如果采用DC-DC不仅个头大,其纹波也是一个很头疼的问题。b、电流嵌入式系统的正常运行不但需要稳定足够的电源,还要有足够的电流,因此在选择电源器件的时候需要考虑其负载,一般留有30%的余量。如果是多层板,电源部分在layout的时候需电源分割,这时需要注意分割路径,尽量将一定量的电源放置在一起。如果是双面板,则走线宽度需要注意,在板子允许的情况下尽量加宽。合适的退耦电容尽量靠近电源管脚。2、晶振的确定晶振相当于嵌入式系统的心脏,其稳定与否直接关系其运行状态和通讯性能。常见的振有无源晶振,有源晶振,首先要确定其振荡频率,其次要确定晶振类型。无源晶振其匹配电容和电阻的选择,这部分一般依据参考手册。我们在单片机设计中,经常使用插件晶振配合瓷片电容。在ARM中,为了减少空间和便于布线,经常使用四角无源晶振配合贴片电容。虽然我们对于固定晶振的匹配电路比较熟悉,但是为了达到万无一失,还是要看参考手册确定电容大小,是否需要匹配电阻等细节。有源晶振具有更准确的时钟信号,但是相比之下,比无缘晶振价格高,因此这也是在硬件电路设计中需要关注的成本。在做电路板设计时需要注意晶振走线尽量靠近芯片,关键信号远离时钟走线。在条件允许的情况下增加接地保护环。如果是多层板,也要讲关键信号远离晶振的走线。3、预留测试IO口在嵌入式调试阶段,在管脚资源丰富的情况下,我通常预留一个IO口连接led或者喇叭,为下一步软件的编写做铺垫。在嵌入式系统运行过程中适当控制该IO接口,从而判断系统是否正常运行。4、外扩存储器一个嵌入式系统,如果有电源、晶振和CPU,那么这就是我们熟悉的最小系统。如果该嵌入式系统需要运行大点的操作系统,那么不但需要CPU具有MMU,CPU还需要外接SDRAM和NANDFLASH。如果该cpu具有SDRAM和NANDFLASH控制器,那么在硬件设计上不用过多的考虑地址线的使用。如果没有相关的控制器,那么需要注意地址线的使用。这部分在LAYOUT的时候是一个重点,究其原因就是要使相关信号线等长以确保信号的延时相等,时钟和DQS的差分信号线走线。在布线的时候,各种布线技巧需要综合使用,例如与cpu对称分布,菊花链布线、T型布线,这都需要依据内存的个数多少来进行选择,一般来说个数越多布线越复杂,但是知道其关键点,一切迎刃而解。5、功能接口一个嵌入式系统最重要的就是通过各种接口来控制外围模块,达到设计者预设的目的。常用的接口有串口(可用来连接蓝牙、wifi和4G等模块)、USB接口、网络接口、JTAG接口、音视频接口、HDMI接口等等。由于这些接口与外部模块连接,做好电磁兼容设计是重要的一项工作。除此之外,在LAYOUT的时候注意差分线的使用。6、屏幕这个功能之所以单独列出来,是由于其可有可无。如果一个嵌入式系统只是作为一个连接器连接外围设备模块,通过相关接口连接到电脑主机或者直接挂在网络上,那么屏幕就不需要了。但是如果做出来的是一个消费类产品,与用户交互频繁,这就不得不唠叨几句。电容屏幕是嵌入式屏幕的主要部件,在电路设计中需要注意触屏连接线和显示屏连接线的布局。在走线的过程中尽量短的靠近主控cpu,同时注意配对信号走差分线,RGB控制信号走等长。各种信号走线间距遵循3W规则,避免相互干扰。在屏幕的设计中,一定要确保功率和防止干扰,以防屏幕闪屏和花屏现象的出现。转自公众号:硬门芯思版权声明:本文来源网络,版权问题,请联系删除。
2022年5月10日
其他

搞硬件,很难?

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦。很多朋友都是做嵌入式和单片机的,这些其实都和硬件密不可分,搞硬件,很难?对我来说,这是一块很难啃的硬骨头。俗话说:软件靠精力,硬件靠经历。我做软件比较多,我给自己的定位就是,至少和硬件同事沟通,是没有太多障碍。所以,懂点硬件,还是很有好处的。如果真正想搞硬件,想入门,想精进,应该怎么学呢?下面一起分享一篇学习路线吧,或许会对您有用。01
2022年5月9日
其他

这个开源项目真赞,介绍一个大功率伺服驱动器

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦。最近发现了一个很棒的项目STMBL,这是一个软硬件开源的交流伺服驱动器项目。它最高可以驱动2KW功率的电机,支持交流和直流伺服系统。项目地址:https://github.com/rene-dev/stmbl项目介绍这个项目软硬件开源,可以在此基础上做二次开发,不过它是遵守GPLv3协议的,所以使用这个项目需要开源自己的项目代码。整个项目的文件列表如下所示;文件列表目录说明;hw/spice/解析器接口的
2022年5月7日
其他

教你一招搞定,单片机开发常用的状态机

之前写过一篇状态机的实用文章,很多朋友说有几个地方有点难度不易理解,今天给大家换种简单写法,使用函数指针的方法实现状态机。状态机简介有限状态机FSM是有限个状态及在这些状态之间的转移和动作等行为的数学模型,是一种逻辑单元内部的高效编程方法,可以根据不同状态或者消息类型进行相应的处理逻辑,使得程序逻辑清晰易懂。函数指针实现FSM使用函数指针实现FSM可以分为3个步骤建立相应的状态表和动作查询表根据状态表、事件、动作表定位相应的动作处理函数执行完成后再进行状态的切换代码实现步骤定义状态数据的枚举类型typedef
2022年5月6日
其他

当导演了

大家好,我是小麦。一直以来我专注于图文的更新,后续会进行一些视频内容的更新。努力做好一名"导演",在视频号上分享电子技术相关的知识。感兴趣的可以扫描下方二维码关注,感谢支持。
2022年5月5日
其他

硬核科普:路由器的工作原理

转发的性能。顺带一提,运营商配的光猫是自带路由功能的,如果没有特殊需求,普通家庭一般够用了。一般家用场景,路由端口用的不太多,可以通过交换机补充。大部分商用场景,4-12
2022年5月4日
其他

"人在美国,刚下飞机",这下不能装X了

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦。我比较喜欢刷知乎,所谓少壮不努力,老大刷知乎。而这句话,"谢邀,人在美国,刚下飞机",是很多人回答的一个前置句。也是"人均百万"的知乎的一个梗,略带嘲讽意义。近日微信珊瑚安全公众号发布了关于微信公众平台即将展示用户IP属地的公告,原文主要内容如下:图片源于微信珊瑚安全公众号,仅供参考,如有侵权,请联系删除文章发布后便会出现如下信息:所以,"人在美国,刚下飞机"再也不能装X了。同样用户留言也会显示相应的属地,不仅仅只有微信公众平台,包括其他知名自媒体平台近期也发布相应声明称,将相继上线此功能。下面是微博上的一些大V这就很离谱。很多朋友可能会想:"就显示一个归属地,能有什么影响?与我无关"。该功能上线的目的也非常明确,进一步打击谣言,将谣言扼杀在摇篮之中。显示IP归属地在一定程度上能够普遍提升大家的鉴别信息的能力,从而共同来维护传播内容的透明和真实度。网络不是法外之地,只有我们共同维护一个良好的网络环境,才能真正的从中受益。——
2022年5月1日
其他

接了很多私活之后的感触

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦。我始终以工作为主,我有不少朋友也接私活,搞了不少钱,有的一年上百万,当然有的没那么多,但还是很香的。接私活也有很多辛酸苦楚,有的甲方毁约,有的甲方不给钱,有的有的反复改需求,也挺烦人。今天,我来分享一篇接私活的文章,大家可以看看私活的种类、价格、风险等,然后自己做判断。今年搞了一个团队接私活,现在有
2022年4月29日
其他

我又发现一个开源神器,太强了。

5.15。在GNU/Linux系统上,还需要安装libgl1-mesa-dev才能编译应用程序。已使用的Qt模块的完整列表:Qt
2022年4月28日
其他

介绍一个优秀的单片机图形库,GuiLite

点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦。今天给大家推荐一个很不错的Gui库:GuiLite,非常好用,希望对你有所帮助。一、GuiLite介绍GuiLite是一个开源的Gui框架,只依赖于一个单一的头文件库(GuiLite.h),不需要很复杂的文件管理,代码量平易近人,GuiLite由4千行C++代码编写,单片机上也能流畅运行,其最低的硬件运行要求如下:CPU主频ROM大小RAM大小24
2022年4月26日
其他

聊聊工程师的梦想

大家好,我是小麦。想必每一个工程师都梦想着,在家里能拥有一个属于自己的实验室。今天我们一起来看看吧。
2022年4月26日