- 博客(1029)
- 资源 (12)
- 收藏
- 关注

原创 嵌入式工程师值得一看的网站及工具总结(2023)
1.基础学习(C/C++,QT上位机等)★★★★★。//硬石电子,我之前做电机控制参考过他家的例程。//这个就不用多说了,国内的同学应该都用过。//安富莱,很推荐的stm32学习资源。//杜洋,我很喜欢的一位单片机前辈。//正点原子家也出了Linux教程。//B站是一个有很多好资料的网站。//韦东山老师的教程,非常推荐。//前辈经常说的不会就谷歌一下。//学习c++不错的参考网站。//正点原子,老牌stm32。3.嵌入式Linux学习。//下载Linux源码。//非常不错的拆解网站。//嵌入式Linux。
2021-10-31 09:43:06
46012

原创 高级嵌入式工程师练级之路 - 2022更新
从大二开始就一直使用AD,从proteus一直更新到现在,工作由于要考虑大家软件的统一性就一直用的16版本,不过目前工作基本已经和底层PCB没什么关系了,就可以一直追着最新版本用了,装了AD20,的确如官网所说,速度提升明显。过阵子做个板子试下具体效果。下载地址:链接:https://pan.baidu.com/s/14fv2EYAzxSqRGbNBTOyUiA提取码:3iwu学习交流可以...
2020-03-28 16:16:40
36123
5

原创 书籍推荐总结 C/C++/Java/Python/Linux/算法
大家好,我是CodeAllen(康哥),我自己从事嵌入式开发已经很多年了,这部分的学习经历也是比较曲折的,有兴趣的同学可以看看我的一篇文章对于学习嵌入式或者其他编程技术,跳不过去的路线还是得自己看书实践,看好书可以省去不少功夫。所以我利用业余时间总结了从初学到深入的一些优秀技术书籍。
2018-09-05 21:30:35
86709
1
原创 嵌入式开发工程师面试题 - 2024/11/24
在C++中,虚函数(virtual function)机制允许派生类(derived class)重写(override)基类(base class)中的函数。当通过基类指针或引用调用虚函数时,实际调用的函数是派生类中重写的那个版本,而不是基类中的版本。如果未显式赋值,则枚举成员的值将默认为前一个成员的值加1(第一个未赋值的成员默认为0)。在C语言中,定义一个指向函数的指针需要指定函数的返回类型、函数名(在指针定义中省略)以及函数的参数类型。尝试访问数组之外的内存,这是越界的,因此是错误的。
2024-11-24 18:05:07
908
原创 嵌入式行业有哪些不错的公司(2024版)
原文-嵌入式行业有哪些不错的公司(2024版) 转载请注明来源嵌入式作为目前比较火的一个技术方向,很多同学向我咨询有什么不错的公司可以参考。嵌入式研发大方向上来说就是偏电子信息类的软硬件研发。为此我特意搜集数据并进行了总结,希望给正在读书或者找工作的同学一些帮助。下边是2024年全国电子信息竞争力百强企业:知道这些公司当然就可以去招聘网站搜索,不过也可以加一点技巧,因为嵌入式行业非常杂,涉及的岗位也非常多,所以知道一些关键字就很重要。嵌入式关键字:(标记为重点技术)其他一些不在榜上的公司总结:芯片企业领域
2024-11-24 18:03:09
1892
原创 介绍下ACM模式与核心代码模式
对于这个问题,如果是参加过一些软件竞赛的同学应该都是知道的,ACM模式与核心代码模式是在编程学习和竞赛中常见的两种代码模式。两种模式各有特点和应用场景,下边就分开介绍下。
2024-11-23 22:22:03
825
原创 嵌入式工程师面试题 - 2024/11/19
相反,一些看似简单的算法(如无限循环),也可能无法在有限的操作步骤之后结束。是逗号操作符,它会顺序地计算其左右两侧的表达式,并丢弃左侧表达式的值,整个表达式的值是右侧表达式的值。它顺序地计算其左右两侧的表达式,但只返回右侧表达式的值。的值被递增到了 1(但由于逗号操作符的特性,这个递增后的值不会被用作表达式的最终结果)。的结果是 1(真),逻辑或操作符会短路,即不再计算其右侧的表达式(这里的右侧表达式是。这题考察的是C语言操作符,它们的优先级和结合性会影响表达式的求值顺序。类型结果的函数的指针。
2024-11-23 22:20:50
1072
原创 嵌入式开发中Java可以替代Qt吗?
嵌入式开发的特点就是性能不如终端设备那么强大,所以截止今日,C语言都是嵌入式开发的王者,这种接近底层的语言虽然被诟病颇多,但还是因为其与硬件的紧密性,对硬件操作的高效性而被众多项目使用。如果你是一名嵌入式开发者,已经有了C/C++的基础,那显而易见qt是更好的选择,另外Qt拥有庞大的社区支持,开发者可以获得丰富的文档和教程资源,有助于加速开发进程并解决问题。因为嵌入式设备在工业或者相对恶劣的环境使用居多,对于界面往往需要的控件和功能模块的需求,这个问题的来源是一位同学给我的留言,未完待续,持续更新!
2024-11-23 22:19:35
444
原创 嵌入式C语言面试题 - 2024/11/18
在C语言中,当二维数组作为参数传递给函数时,它实际上是通过指向其第一个元素(即第一个子数组)的指针来传递的。,但它并不表示一个指针数组,而是表示一个指向数组的指针。的数组,该数组包含4个元素,每个元素都是指向整型的指针。定义了一个包含4个整型指针的数组。每个数组元素都是一个指向整型的指针。这定义了一个指向指针的指针,而不是一个指针数组。这定义了一个包含4个整数的数组,而不是指针数组。这定义了一个指向包含4个整数的数组的指针。是一个指向整型的指针(即一级指针)。是一个指向包含3个整数的数组的指针。
2024-11-23 22:18:23
969
原创 你知道共享单车的电是哪来的吗?
不过,由于这种方式在骑行时会产生一定的阻力,这种单车是真的沉啊!当时就在想这是什么人开发的,怎么能这么沉,现在基本是被淘汰了,甚至公司也被美团收购了,变成了摩拜最不喜欢的小黄车(工作原理是在车筐(或车后座)上安装太阳能电池板,通过阳光照射产生电能,为单车内部的蓄电池充电。工作原理是在车轮上加装发电花鼓(一种专门用来发电的装置),通过骑行时车轮的转动带动发电花鼓发电,为单车内部的蓄电池充电。目前主流的方式就是这些,未来再有更好的方式,我也会更新,欢迎和我留言分享!也不知道哪是锁,反正是扫码版,等等。
2024-11-21 07:47:21
365
原创 嵌入式面试题练习 - 2024/11/15
它是指向 "Beijing" 字符串中第四个字符(从0开始计数)的指针(即指向 'j' 的指针),然后通过解引用得到 'j' 字符。循环调用:通常指的是一系列函数相互调用,形成一个闭环,但没有明确的递归结构(即不是函数自己调用自己)。虽然函数间相互调用形成了一个闭环,但这不是传统意义上的循环调用,因为循环调用通常不涉及递归的概念。这不是直接递归调用,因为直接递归调用要求函数自己调用自己,而这里是两个函数相互调用。因此,正确答案是 B 称为函数的间接递归调用。,这是未定义的,因此这个表达式也是错误的。
2024-11-15 23:04:13
1168
原创 计算机组成原理对于学习嵌入式开发的意义
通过学习计算机组成原理,开发者可以对嵌入式系统的硬件设计有更深入的理解,从而更好地进行硬件选型和系统设计。在学习这些课程时,计算机组成原理的知识将帮助开发者更好地理解底层机制,从而更深入地掌握这些高级技术。对于嵌入式开发来说,操作系统知识是必不可少的,而计算机组成原理正是学习操作系统的基础。掌握了计算机组成原理,开发者就能更好地理解计算机系统的工作原理,从而对计算机进行有效的维护和性能优化。通过学习计算机组成原理,开发者可以找到系统性能的瓶颈所在,并采取相应的优化措施。回复者:超电磁炮研究员 50+赞。
2024-11-15 23:01:59
452
原创 为什么现在科技热点是GPU,不是CPU了?
当然了国内的风格目前就是这样,先有流量活下来才能吃饱饭,上述第一个回答里,我有几个朋友就是在做国产CPU,虽然待遇还行,但是公司确实是不温不火,谈不上前途光明,经常也是忧虑未来的道路。GPU之所以成为科技热点,主要还是因为在并行计算、AI和深度学习等领域的出色表现,以及CPU在单核性能提升方面遇到的瓶颈。关注科技技术的同学可能发现了,最近一年,媒体平台讨论GPU的很多,CPU的确降温不少,网上讨论,超过了100W+阅读。对于还在校的同学,可以多关注GPU和AI的新技术新概念,为就业之后的选择打基础。
2024-11-15 22:59:57
307
原创 嵌入式开发中学习C++的用处?
这个问题一直有同学在问,其实从我的角度是一定是需要学的,最直接的就是你面试大厂的嵌入式岗位或者相关岗位,最后一定会问c++,而很多人是不会的,这就是最大的用处,至于从技术角度考量倒是其次,因为想要实现任何需求都不一定必须使用C++,很多时候只是为了向前兼容而已。
2024-09-25 20:02:54
1154
原创 数据结构在嵌入式开发中的实际应用
大家好,我是CodeAllen,对于现在的嵌入式软件面试,数据结构和算法已经是不可获取的一部分了,对于这部分大部分同学更多的只是刷题,今天就介绍下一些基本数据结构在嵌入式开发中的实际应用,可以帮大家更好的理解学习数据结构在嵌入式中的意义。嵌入式软件工程师一对一指导正文数组(Array):数组是一种线性数据结构,它使用连续的存储空间来存储相同类型的元素。数组(Array)在嵌入式开发中具有广泛的应用场景,这些场景主要围绕数据的存储、处理和传输。1. 传感器数据采集。
2024-07-02 09:11:41
2082
1
原创 数字后端设计岗位介绍
综上所述,数字后端设计岗位是数字芯片设计领域的重要角色,其职责涵盖了物理实现、功耗优化和团队协作等方面。随着行业技术的不断进步和创新,该岗位的需求和前景十分广阔。三、行业趋势和就业前景。
2024-06-03 23:18:39
670
原创 ThinkPad所有系列分类
T系列,IBM最早打江山的系列,T14、T15、T16,最常规的商务本,尺寸不同;L系列,和E系列差不多,也是老系列,比E系列更低端一些,家用系列,旗下有L13、L14、L15,和E系列对比,型号上E系列没有13寸,L系列没有16寸,目前是Thinkpad中最低端系列,当然Thinkbook除外,它本来就不属于Thinkpad真正血统。E系列,也是老系列,从IBM时代就开始了,型号也比较单一,E14、E15和E16,尺寸不同,定位为学生用机,主打性价比,质量不如T和X,更不如前面的X1、P系列。
2024-04-25 20:17:53
2527
原创 学完stm32标准库后怎么快速入门hal库?单独学一下cubemx可以吗?还是ide?
我是建议可以直接使用STM32CubeMX,先入门知道大致的开发方法,熟悉HAL库,等熟悉了换什么IDE那就是你的喜好问题了,但是从我用过的STM32CubeIDE、Keil、IAR等软件看,其实无外乎就是提供了代码编辑、编译、调试等功能,这些都是大同小异的,对你学HAL库不是什么必须条件。然后你说到了cubemx,确实HAL库的结构更加容易整合到STM32CubeMX,这也是官方一直在推的使用方法,如果搭配使用有助于更快地适应HAL库。如果你已经学完stm32标准库了,那入门hal库是很容易的。
2024-04-24 08:49:03
704
原创 Microsoft Edge浏览器Internal Server Error问题解决
网页无法在Microsoft Edge浏览器,尝试Google浏览器可以,排除服务器问题,应该是浏览器本身的问题。一般这种都是和cookie有关,尝试删除记录。
2024-03-20 17:35:20
716
原创 stm32是用标准库还是hal库?
HAL库则是STMicroelectronics为了提供更高级别的抽象和简化开发而引入的库。HAL库基于标准库,并提供了一组API函数,将底层硬件操作抽象为高级函数调用。我大学几年一直都是使用标准库,然后17年毕业第一份工作转为HAL库,主要也是公司需求没办法。然后之后的数年我都是建议转HAL库,并不是这个库有多好,相反小问题很多,但是有一个,这是官方一直在开发维护的库,如果你是初学或者成熟的产品,这点很重要。而且可以预见的是,为了芯片会限制使用标准库,到那时候在转HAL就有点落伍了,而且经验上也吃亏。
2024-03-13 08:05:09
1089
原创 嵌入式要怎么学啊?
然后你要做的并不是说马上去学习一款更高级的单片机,而是开始实践,比如你学了51单片机之后,你应该使用51单片机做一些项目,比如温度测量仪,智能小车,智能垃圾桶等等这些项目。后续再学习更高级的单片机,比如32也是同样的道理,先要再把c语言精进一下,然后按照某个比较确定的教程学习一下基本知识,然后去实践一些项目比如四轴无人机,更高级的智能小车。51单片机的学习还是懵,只对部分引脚有点了解,如果让我做点东西肯定做不出来,不知道从何下手,但想走嵌入式,要学stm32还是补一下51啊?
2024-03-12 07:47:55
583
原创 学C还是学C++?
如果你有意走嵌入式方向,那自然有必要学好C语言,这里的学号不止是看书刷题,更重要的是实践,你需要在硬件上结合某款控制器去实现一些项目,这个过程中涉及的远不止C语言,但是最后体现上结果上又都是C语言“写的”,这也是为什么很多同学说嵌入式C语言好难啊,并不是C语言的语法多难,相反,C语言可能是最简单的编程语言之一了,当然这是从语法角度而言。能力也是在这个过程中逐渐提升。而如果你未来想走纯软方向,比如最多的互联网前端,后端岗位,那则不一定要学C++,Java的优先级要优于C++,而且Java的学习成本也比较低。
2024-03-12 07:46:49
2856
1
原创 找嵌入式软件工作,freertos要掌握到什么程度?
我17年本科毕业的时候还没接触过freertos,第一份工作是在中科院地理所那边做嵌入式开发,刚进单位带我的师傅教我的第一个技术就是freertos,差不多说了一个小时,用现成的项目给我说了如何创业工程,如何创建任务,信号量等等,因为之前有嵌入式操作系统的经验,这些也都类似,然后就开始干活了。安富莱的开发板教程中的freertos部分,在17年那个时候我觉得是市面上最好的参考资料,即使现在看这个教程的参考代码很规范,可读性也很好,非常推荐参考学习。当时还对这块做了些笔记输出,供参看。
2024-03-12 07:45:49
576
原创 不学51直接学stm32可以吗?学stm32需要哪些基础?
4.调试的能力,这个是很容易忽略,但是确是很重要的一个技能,很多同学习惯一帆风顺的开发,或者直接抄一个源码搞定,一出问题就傻了,这对于比赛是致命的,对于之后的工作更是不行的,所以一定要多积累调试的能力,包含软件的调试,还包括示波器等硬件方法的调试。如果你有足够的电子有关的基础,直接学stm32也没问题,我大一的时候参加飞思卡尔智能车,很多大三的学长因为刚进实验室,马上又要面临找工作实习,所以很着急,基本都是直接上手学k70单片机,这个基本就和stm32差不多了。
2024-03-12 07:43:58
1533
原创 vscode显示函数列表插件 - AZ AL Dev Tools/AL Code Outline
此扩展最初被命名为“AL 代码大纲”,因为它最初是 AL 代码大纲面板,从中可以在 AL 语法节点上运行不同的代码生成器。每个新版本都在添加新功能,其中一些不再与 AL 代码大纲面板相关。扩展的当前版本是不同 al 开发工具的集合,al 大纲面板只是其中之一,因此似乎应该更新名称以反映功能更改。
2024-01-22 20:36:32
2021
原创 电压检测芯片适用于哪些应用领域?
MAX6012是一种超低功耗电压参考芯片,主要应用于需要高精度、低漂移、超低功耗的电路中。其主要特性包括:低电流、低温漂移、指定最小输出电压等。LM324是一款四路运算放大器芯片,主要特性包括:高增益、大输入电阻、宽电源电压范围等。我上一份工作是做无人机飞控研发,无人机在使用过程中是需要事件监测电压的,还需要针对电压对航行进行预估,有必要的情况下还要强制返航,这个如果接触过大疆的无人机应该是很熟悉的。通常采用压敏电阻、差分放大器等电路将输入电压信号进行变换,将其转化为与输入电压成比例的电流或电压信号。
2024-01-20 16:58:25
804
原创 求职方略-倒金字塔型自我介绍
第一句话起到了提纲挈领的作用,第二步就该详细展开论述。但是,论述自己的优势时,不能局限于优势本身,而应该结合企业的需求,通过自己曾经主导或参与过的项目,告诉面试官,你能为企业解决哪些问题。接着上面的例子,当你到了第二步,不要简单地介绍,自己在研发中心做了什么,在管理岗位又做了什么;而应该根据应聘企业的需求,突出重点:“贵公司需要的是懂技术、懂AI前沿应用、能够带团队的专业人才。研发中心的工作经历为我打下了扎实的技术功底;团队管理经历让我懂得了合作的重要性;
2023-12-22 20:53:09
563
原创 【嵌入式面试实战】大疆嵌入式一面
内核根据线程的优先级和调度策略来确定下一个要执行的线程。内核维护一个调度队列,其中包含所有可运行(runnable)状态的线程。当一个CPU核心空闲时,内核从调度队列中选择最高优先级的线程,并将其分配给该核心。线程被放入正在运行(running)状态,并在该CPU上执行一段时间,直到发生某种事件(例如时间片用完、等待I/O、睡眠等)导致它进入阻塞(blocked)或睡眠(sleeping)状态。如果一个线程进入阻塞或睡眠状态,内核会将其移出运行队列,并选择另一个可运行的线程继续执行。
2023-12-03 10:48:37
1527
原创 【C++深度剖析学习总结】28 函数对象分析
函数调用操作符可以定义不同参数的多个重载函数。函数为全局函数,是唯一的,无法多次独立使用。静态局部变量处于函数内部,外界无法改变。函数调用操作符只能通过类的成员函数重载。无法指定某个具体的数列项作为初始值。函数可以获得斐波那契数列每项的值。构造函数指定具体数列项的起始位置。函数调用操作符(())是可重载的。可以定义不同参数的多个重载函数。该类的对象具备函数调用的行为。多个对象相互独立的求解数列项。函数一旦开始调用就无法重来。使用具体的类对象取代函数。只能通过类的成员函数重载。函数调用操作符(())
2023-11-20 23:44:06
500
原创 电池管理系统(BMS)的进化与分类
了解BMS的分类和功能,有助于我们更好地理解电动车的核心技术,并对未来的技术发展趋势有更清晰的预见。现代电动车辆对BMS的要求更高,不仅需要基本的监测和控制,还需具备高级的均衡、诊断和预测功能。一个高效的BMS能够实时监控电池状态,预防过充、过放和过热等情况,从而延长电池寿命,保障驾驶安全。这是一种基本的充电方式,分为恒流和恒压两个阶段,但它不能提供单体电池的详细管理,仅适用于某些特定的应用场景。最高级别的BMS,提供全面的保护,包括防止过充、过放、过热等,确保电池安全和寿命。2、不支持电池组的均衡管理。
2023-11-20 13:17:17
395
原创 嵌入式常见的10种软件滤波方法
软件滤波有时候也称数字滤波是通过一定的算法削弱噪声的影响软件滤波的优势是不需要硬件的投入,仅仅靠代码就可以完成,而且可靠稳定。10种经典的软件滤波方法包括:限幅滤波法中位值滤波法算术平均滤波法递推平均滤波法中位值平均滤波法限幅平均滤波法一阶滞后滤波法加权递推平均滤波法消抖滤波法限幅消抖滤波法嵌入式常见的10种软件滤波方法(1)
2023-11-14 23:21:08
252
原创 linux入门命令和进阶
cd ../.. 切换到上上级路径(其中:在linux中路径分隔符为斜杠/)如:ls -l /home与ls -l /home的目的是一样的。在后面的视频中,也是先介绍linux基础命令(pwd、cd、ls等)的常用选项。如ls命令有选项-l,那么ls到底有哪些选项呢?ls命令的选项有很多,入门阶段先掌握ls命令的-l、-a、-h等常用选项。这个不用过度研究,实际使用的就几个,而且不会的也可以随时查询。ls :显示当前目录下的文件。4)命令、选项、参数之间是以空格来隔开的,
2023-11-06 00:04:18
218
转载 C语言中的__attribute__宏定义之section属性
section先事先将所有的初始化函数加入到我们自己定义的输入段中,然后再在main函数中将这个输入段中初始化函数依次取出,这样就可在不修改main函数的前提下完成对系统的初始化了。的编译器, 都支持 __attribute__所指定的编译属性,这里着重讲解一下在KEIL 环境下__attribute__中的section的使用方法。那么section是怎么将这些初始化函数放入输入段中,并且系统还可以获取这些初始化函数的地址呢?这句话的意思是把整形变量test放到一个名为show的输入段中。
2023-09-16 17:53:46
1052
2
原创 这份进入车载电器件的嵌入式软件开发的自学路径是否可行?
考虑到工资收入和未来发展,后续想要做车载电器件的嵌入式软件开发工作。个人目前在做汽车零件的结构设计工作,工作的技术难度相对较低。2. 完成哪部分的学习,可以进入公司进行独立工作?2. 完成哪部分的学习,可以进入公司进行独立工作?3. Autosar的学习需要在何时进行?3. Autosar的学习需要在何时进行?PS:啥时候需要买万用表和示波器?1. 上面的学习路径有问题吗;1. 上面的学习路径有问题吗;2. 微机原理与接口技术。6. C的缺陷和陷阱。
2023-09-15 17:11:15
261
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人