
高级嵌入式软件工程师进阶之路
文章平均质量分 65
公众号【CodeAllen嵌入式】后台回复「优快云」获取嵌入式学习路线,感谢关注!
CodeAllen嵌入式
优快云博客专家,曾中科院无人机软件研发,现TOP通信外企高级软件工程师,专注通信电子及嵌入式软件方向职业规划,全网技术矩阵粉丝10w+,欢迎交流一起成长!
展开
-
嵌入式工程师值得一看的网站及工具总结(2023)
1.基础学习(C/C++,QT上位机等)★★★★★。//硬石电子,我之前做电机控制参考过他家的例程。//这个就不用多说了,国内的同学应该都用过。//安富莱,很推荐的stm32学习资源。//杜洋,我很喜欢的一位单片机前辈。//正点原子家也出了Linux教程。//B站是一个有很多好资料的网站。//韦东山老师的教程,非常推荐。//前辈经常说的不会就谷歌一下。//学习c++不错的参考网站。//正点原子,老牌stm32。3.嵌入式Linux学习。//下载Linux源码。//非常不错的拆解网站。//嵌入式Linux。原创 2021-10-31 09:43:06 · 46010 阅读 · 0 评论 -
高级嵌入式工程师练级之路 - 2022更新
从大二开始就一直使用AD,从proteus一直更新到现在,工作由于要考虑大家软件的统一性就一直用的16版本,不过目前工作基本已经和底层PCB没什么关系了,就可以一直追着最新版本用了,装了AD20,的确如官网所说,速度提升明显。过阵子做个板子试下具体效果。下载地址:链接:https://pan.baidu.com/s/14fv2EYAzxSqRGbNBTOyUiA提取码:3iwu学习交流可以...原创 2020-03-28 16:16:40 · 36121 阅读 · 5 评论 -
我的工程师进阶之路 - 2022更新
我补充了时间轴,从进入大学,不知不觉8年就这样匆匆而过,与其感叹我更想抓紧之后的时间,不知道接下来能经历些什么。原创 2019-10-11 21:51:23 · 84544 阅读 · 30 评论 -
嵌入式开发工程师面试题 - 2024/11/24
在C++中,虚函数(virtual function)机制允许派生类(derived class)重写(override)基类(base class)中的函数。当通过基类指针或引用调用虚函数时,实际调用的函数是派生类中重写的那个版本,而不是基类中的版本。如果未显式赋值,则枚举成员的值将默认为前一个成员的值加1(第一个未赋值的成员默认为0)。在C语言中,定义一个指向函数的指针需要指定函数的返回类型、函数名(在指针定义中省略)以及函数的参数类型。尝试访问数组之外的内存,这是越界的,因此是错误的。原创 2024-11-24 18:05:07 · 908 阅读 · 0 评论 -
嵌入式行业有哪些不错的公司(2024版)
原文-嵌入式行业有哪些不错的公司(2024版) 转载请注明来源嵌入式作为目前比较火的一个技术方向,很多同学向我咨询有什么不错的公司可以参考。嵌入式研发大方向上来说就是偏电子信息类的软硬件研发。为此我特意搜集数据并进行了总结,希望给正在读书或者找工作的同学一些帮助。下边是2024年全国电子信息竞争力百强企业:知道这些公司当然就可以去招聘网站搜索,不过也可以加一点技巧,因为嵌入式行业非常杂,涉及的岗位也非常多,所以知道一些关键字就很重要。嵌入式关键字:(标记为重点技术)其他一些不在榜上的公司总结:芯片企业领域原创 2024-11-24 18:03:09 · 1872 阅读 · 0 评论 -
介绍下ACM模式与核心代码模式
对于这个问题,如果是参加过一些软件竞赛的同学应该都是知道的,ACM模式与核心代码模式是在编程学习和竞赛中常见的两种代码模式。两种模式各有特点和应用场景,下边就分开介绍下。原创 2024-11-23 22:22:03 · 815 阅读 · 0 评论 -
嵌入式工程师面试题 - 2024/11/19
相反,一些看似简单的算法(如无限循环),也可能无法在有限的操作步骤之后结束。是逗号操作符,它会顺序地计算其左右两侧的表达式,并丢弃左侧表达式的值,整个表达式的值是右侧表达式的值。它顺序地计算其左右两侧的表达式,但只返回右侧表达式的值。的值被递增到了 1(但由于逗号操作符的特性,这个递增后的值不会被用作表达式的最终结果)。的结果是 1(真),逻辑或操作符会短路,即不再计算其右侧的表达式(这里的右侧表达式是。这题考察的是C语言操作符,它们的优先级和结合性会影响表达式的求值顺序。类型结果的函数的指针。原创 2024-11-23 22:20:50 · 1071 阅读 · 0 评论 -
嵌入式开发中Java可以替代Qt吗?
嵌入式开发的特点就是性能不如终端设备那么强大,所以截止今日,C语言都是嵌入式开发的王者,这种接近底层的语言虽然被诟病颇多,但还是因为其与硬件的紧密性,对硬件操作的高效性而被众多项目使用。如果你是一名嵌入式开发者,已经有了C/C++的基础,那显而易见qt是更好的选择,另外Qt拥有庞大的社区支持,开发者可以获得丰富的文档和教程资源,有助于加速开发进程并解决问题。因为嵌入式设备在工业或者相对恶劣的环境使用居多,对于界面往往需要的控件和功能模块的需求,这个问题的来源是一位同学给我的留言,未完待续,持续更新!原创 2024-11-23 22:19:35 · 444 阅读 · 0 评论 -
嵌入式C语言面试题 - 2024/11/18
在C语言中,当二维数组作为参数传递给函数时,它实际上是通过指向其第一个元素(即第一个子数组)的指针来传递的。,但它并不表示一个指针数组,而是表示一个指向数组的指针。的数组,该数组包含4个元素,每个元素都是指向整型的指针。定义了一个包含4个整型指针的数组。每个数组元素都是一个指向整型的指针。这定义了一个指向指针的指针,而不是一个指针数组。这定义了一个包含4个整数的数组,而不是指针数组。这定义了一个指向包含4个整数的数组的指针。是一个指向整型的指针(即一级指针)。是一个指向包含3个整数的数组的指针。原创 2024-11-23 22:18:23 · 969 阅读 · 0 评论 -
你知道共享单车的电是哪来的吗?
不过,由于这种方式在骑行时会产生一定的阻力,这种单车是真的沉啊!当时就在想这是什么人开发的,怎么能这么沉,现在基本是被淘汰了,甚至公司也被美团收购了,变成了摩拜最不喜欢的小黄车(工作原理是在车筐(或车后座)上安装太阳能电池板,通过阳光照射产生电能,为单车内部的蓄电池充电。工作原理是在车轮上加装发电花鼓(一种专门用来发电的装置),通过骑行时车轮的转动带动发电花鼓发电,为单车内部的蓄电池充电。目前主流的方式就是这些,未来再有更好的方式,我也会更新,欢迎和我留言分享!也不知道哪是锁,反正是扫码版,等等。原创 2024-11-21 07:47:21 · 363 阅读 · 0 评论 -
嵌入式面试题练习 - 2024/11/15
它是指向 "Beijing" 字符串中第四个字符(从0开始计数)的指针(即指向 'j' 的指针),然后通过解引用得到 'j' 字符。循环调用:通常指的是一系列函数相互调用,形成一个闭环,但没有明确的递归结构(即不是函数自己调用自己)。虽然函数间相互调用形成了一个闭环,但这不是传统意义上的循环调用,因为循环调用通常不涉及递归的概念。这不是直接递归调用,因为直接递归调用要求函数自己调用自己,而这里是两个函数相互调用。因此,正确答案是 B 称为函数的间接递归调用。,这是未定义的,因此这个表达式也是错误的。原创 2024-11-15 23:04:13 · 1167 阅读 · 0 评论 -
计算机组成原理对于学习嵌入式开发的意义
通过学习计算机组成原理,开发者可以对嵌入式系统的硬件设计有更深入的理解,从而更好地进行硬件选型和系统设计。在学习这些课程时,计算机组成原理的知识将帮助开发者更好地理解底层机制,从而更深入地掌握这些高级技术。对于嵌入式开发来说,操作系统知识是必不可少的,而计算机组成原理正是学习操作系统的基础。掌握了计算机组成原理,开发者就能更好地理解计算机系统的工作原理,从而对计算机进行有效的维护和性能优化。通过学习计算机组成原理,开发者可以找到系统性能的瓶颈所在,并采取相应的优化措施。回复者:超电磁炮研究员 50+赞。原创 2024-11-15 23:01:59 · 450 阅读 · 0 评论 -
为什么现在科技热点是GPU,不是CPU了?
当然了国内的风格目前就是这样,先有流量活下来才能吃饱饭,上述第一个回答里,我有几个朋友就是在做国产CPU,虽然待遇还行,但是公司确实是不温不火,谈不上前途光明,经常也是忧虑未来的道路。GPU之所以成为科技热点,主要还是因为在并行计算、AI和深度学习等领域的出色表现,以及CPU在单核性能提升方面遇到的瓶颈。关注科技技术的同学可能发现了,最近一年,媒体平台讨论GPU的很多,CPU的确降温不少,网上讨论,超过了100W+阅读。对于还在校的同学,可以多关注GPU和AI的新技术新概念,为就业之后的选择打基础。原创 2024-11-15 22:59:57 · 307 阅读 · 0 评论 -
嵌入式开发中学习C++的用处?
这个问题一直有同学在问,其实从我的角度是一定是需要学的,最直接的就是你面试大厂的嵌入式岗位或者相关岗位,最后一定会问c++,而很多人是不会的,这就是最大的用处,至于从技术角度考量倒是其次,因为想要实现任何需求都不一定必须使用C++,很多时候只是为了向前兼容而已。原创 2024-09-25 20:02:54 · 1151 阅读 · 0 评论 -
Python和QT哪个更适合嵌入式方向的上位机开发?
QT提供了强大的自定义能力,开发者可以根据需求自定义控件和布局,以满足复杂的界面设计要求。原创 2024-09-25 19:57:38 · 968 阅读 · 0 评论 -
数据结构在嵌入式开发中的实际应用
大家好,我是CodeAllen,对于现在的嵌入式软件面试,数据结构和算法已经是不可获取的一部分了,对于这部分大部分同学更多的只是刷题,今天就介绍下一些基本数据结构在嵌入式开发中的实际应用,可以帮大家更好的理解学习数据结构在嵌入式中的意义。嵌入式软件工程师一对一指导正文数组(Array):数组是一种线性数据结构,它使用连续的存储空间来存储相同类型的元素。数组(Array)在嵌入式开发中具有广泛的应用场景,这些场景主要围绕数据的存储、处理和传输。1. 传感器数据采集。原创 2024-07-02 09:11:41 · 2080 阅读 · 0 评论 -
数字后端设计岗位介绍
综上所述,数字后端设计岗位是数字芯片设计领域的重要角色,其职责涵盖了物理实现、功耗优化和团队协作等方面。随着行业技术的不断进步和创新,该岗位的需求和前景十分广阔。三、行业趋势和就业前景。原创 2024-06-03 23:18:39 · 667 阅读 · 0 评论 -
学完stm32标准库后怎么快速入门hal库?单独学一下cubemx可以吗?还是ide?
我是建议可以直接使用STM32CubeMX,先入门知道大致的开发方法,熟悉HAL库,等熟悉了换什么IDE那就是你的喜好问题了,但是从我用过的STM32CubeIDE、Keil、IAR等软件看,其实无外乎就是提供了代码编辑、编译、调试等功能,这些都是大同小异的,对你学HAL库不是什么必须条件。然后你说到了cubemx,确实HAL库的结构更加容易整合到STM32CubeMX,这也是官方一直在推的使用方法,如果搭配使用有助于更快地适应HAL库。如果你已经学完stm32标准库了,那入门hal库是很容易的。原创 2024-04-24 08:49:03 · 700 阅读 · 0 评论 -
stm32是用标准库还是hal库?
HAL库则是STMicroelectronics为了提供更高级别的抽象和简化开发而引入的库。HAL库基于标准库,并提供了一组API函数,将底层硬件操作抽象为高级函数调用。我大学几年一直都是使用标准库,然后17年毕业第一份工作转为HAL库,主要也是公司需求没办法。然后之后的数年我都是建议转HAL库,并不是这个库有多好,相反小问题很多,但是有一个,这是官方一直在开发维护的库,如果你是初学或者成熟的产品,这点很重要。而且可以预见的是,为了芯片会限制使用标准库,到那时候在转HAL就有点落伍了,而且经验上也吃亏。原创 2024-03-13 08:05:09 · 1088 阅读 · 0 评论 -
嵌入式要怎么学啊?
然后你要做的并不是说马上去学习一款更高级的单片机,而是开始实践,比如你学了51单片机之后,你应该使用51单片机做一些项目,比如温度测量仪,智能小车,智能垃圾桶等等这些项目。后续再学习更高级的单片机,比如32也是同样的道理,先要再把c语言精进一下,然后按照某个比较确定的教程学习一下基本知识,然后去实践一些项目比如四轴无人机,更高级的智能小车。51单片机的学习还是懵,只对部分引脚有点了解,如果让我做点东西肯定做不出来,不知道从何下手,但想走嵌入式,要学stm32还是补一下51啊?原创 2024-03-12 07:47:55 · 583 阅读 · 0 评论 -
学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 阅读 · 0 评论 -
不学51直接学stm32可以吗?学stm32需要哪些基础?
4.调试的能力,这个是很容易忽略,但是确是很重要的一个技能,很多同学习惯一帆风顺的开发,或者直接抄一个源码搞定,一出问题就傻了,这对于比赛是致命的,对于之后的工作更是不行的,所以一定要多积累调试的能力,包含软件的调试,还包括示波器等硬件方法的调试。如果你有足够的电子有关的基础,直接学stm32也没问题,我大一的时候参加飞思卡尔智能车,很多大三的学长因为刚进实验室,马上又要面临找工作实习,所以很着急,基本都是直接上手学k70单片机,这个基本就和stm32差不多了。原创 2024-03-12 07:43:58 · 1523 阅读 · 0 评论 -
高效能方法 - 任务清单优先级
博恩崔西在《吃掉那只青蛙》一书中指出:在你决定要做什么,并对其进行排序的时候,你首要解决那些最难办的项目。原创 2024-01-21 20:37:11 · 561 阅读 · 0 评论 -
电压检测芯片适用于哪些应用领域?
MAX6012是一种超低功耗电压参考芯片,主要应用于需要高精度、低漂移、超低功耗的电路中。其主要特性包括:低电流、低温漂移、指定最小输出电压等。LM324是一款四路运算放大器芯片,主要特性包括:高增益、大输入电阻、宽电源电压范围等。我上一份工作是做无人机飞控研发,无人机在使用过程中是需要事件监测电压的,还需要针对电压对航行进行预估,有必要的情况下还要强制返航,这个如果接触过大疆的无人机应该是很熟悉的。通常采用压敏电阻、差分放大器等电路将输入电压信号进行变换,将其转化为与输入电压成比例的电流或电压信号。原创 2024-01-20 16:58:25 · 802 阅读 · 0 评论 -
滑动窗口算法(Sliding Window Algorithm)
版权声明:本文为优快云博主「坐在路边数星星」的原创文章,遵循CC 4.0 BY-SA版权协议原文链接:https://blog.youkuaiyun.com/lm278858445/article/details/88189212Sliding window algorithm is used to perform required operation on specific window size of given large buffer or array.This technique show.转载 2021-03-23 23:31:28 · 1231 阅读 · 0 评论 -
算法技巧——双指针算法
原文链接:https://blog.youkuaiyun.com/justidle/article/details/106297779前置知识C 和 C++ 的数组、指针。什么是双指针严格的来说,双指针只能说是是算法中的一种技巧。双指针指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的。双指针问题套路通俗的说,就是在数组遍历中,我们使用两个指针进行操作。所以双指针问题基本有以下几个细节:1、双指针的初始.转载 2021-03-23 23:22:33 · 1089 阅读 · 0 评论 -
单片机开发常用的软件构架
对于单片机程序来说,大家都不陌生,但是真正使用架构,考虑架构的恐怕并不多,随着程序开发的不断增多,架构是非常必要的。原创 2023-12-06 20:45:17 · 1049 阅读 · 0 评论 -
人工智能为什么用python,C/C++或Java不行吗?
原文首发:人工智能为什么用python,C/C++或Java不行吗?最近几年伴随着大数据的发展,人工智能也迎来了前所未有的发展契机,大量的专业人才涌向了人工智能领域,相信未来人工智能领域会进一步赢得市场的追捧。首先说明一点,人工智能的底层算法通常还是C/C++,其他语言封装了其接口方便调用,所以看起来好像是其他语言,我自己学习时就是使用的C/C++。为什么现在大部分研发人员都使用Python做...原创 2019-09-10 05:59:49 · 14805 阅读 · 4 评论 -
The Key To Accelerating Your Coding Skills(加快你编码能力的关键)
不知道什么时候开始,数学和编程被捆绑到了一起,数学不好学编程也不行,很多人的意识数学系毕业的学编程一定厉害。只能说,确实多虑了,至于数学好就编程好更是想多了,两者也是没有绝对的关系,基本的加减乘除已经可以应付绝大多数的场景了。这时候大家会说算法都是数学构成的啊,满满的都是数学元素。我从大一就开始接触编程,到现在毕业两年,既在大型国企做过飞控算法,也在世界500强外企做过通信算法开发,真的没有...翻译 2019-08-26 22:55:01 · 2425 阅读 · 0 评论 -
【中英双语】C 语言的历史
History of C language -C 语言的历史The base or father of programming languages is 'ALGOL.' It was first introduced in 1960. 'ALGOL' was used on a large basis in European countries. 'ALGOL' introduced the concept of structured programming to the developer c...原创 2021-05-03 23:49:26 · 1159 阅读 · 0 评论 -
【英文文献】如何阅读英文文献
转载自『http://www.douban.com/group/topic/14551517/』NO.1 一.如何进行文献检索 我是学自然科学的,平时确实需要不少外文文献,对于自然科学来讲英文文献检索首推Elsevier,Springer等。虽然这些数据库里面文献已经不算少了。但是有时还会...转载 2019-02-11 22:34:30 · 2550 阅读 · 1 评论 -
97 Things Every Programmer Should Know(每个程序员都应该知道的97件事)
学习交流加(可免费帮忙下载优快云资源):个人微信:coderAllen学习交流资源分享①群:736386324更多更新文章请关注 公众号:【Allen5G】\color{#FF3030}{公众号:【Allen5G】}公众号:【Allen5G】 ,专注逻辑思维提升,程序员职业进阶推荐专栏:\color{#FF3030}{推荐专栏:}推荐专栏:【专栏】C语言系列教程【专栏】C语言编...翻译 2020-03-28 23:34:23 · 1706 阅读 · 0 评论 -
【中英双语】什么是 C 语言编程?
What is C Programming Langauge?什么是 c 语言编程?Cis a general-purpose programming language that is extremely popular, simple, and flexible to use. It is a structured programming language that is machine-independent and extensively used to write various ap...原创 2021-05-03 23:52:57 · 1995 阅读 · 1 评论 -
商务口语 - 绩效话题
Recognising performance 绩效表现每年到年末都会涉及绩效考核,这关系到一年最后奖金的多少,所以大家都很关心因此有必要掌握一些有关绩效的核心词汇,对于年终自我总结和绩效评级谈话都很有帮助1.It's a natural result from persistence.这是坚持不懈的自然结果natural :自然的, 天然的persistence:坚持不懈;执意;持续;留存2.Can you spare some time for a ...原创 2021-04-12 23:13:18 · 963 阅读 · 0 评论 -
What are some of the most basic things every programmer should know?(每个程序员都应该知道哪些最基本的知识?)
非码农也能看懂的“机器学习”原理 我们先来说个老生常谈的情景:某天你去买芒果,小贩摊了满满一车芒果,你一个个选好,拿给小贩称重,然后论斤付钱。自然,你的目标是那些最甜最成熟的芒果,那怎么选呢?你想起来,啊外婆说过,明黄色的比淡黄色的甜。你就设了条标准:只选明黄色的芒果。于是按颜色挑好、付钱、回家。啊哈,人生完整了?呵呵...翻译 2020-03-28 23:32:30 · 1204 阅读 · 0 评论 -
商务口语 - 意见分歧话题
我的首发平台是公众号【CodeAllen】,学习交流QQ群:736386324,转载请注明出处在工作里边我们经常会出现意见分歧,这时候如何去沟通就显得至关重要在英语里边有一些高频词汇需要去记忆,在遇到意见分歧的时候就可以用来表达自己的想法1. That iswhereteamworkcomesin. 这就是需要团队合作的地方teamwork :协力;团队合作2. Communicationisatwo-waystreet.沟通是双向的commu...原创 2021-04-11 23:35:17 · 5555 阅读 · 0 评论 -
一个例子教给你C语言的基本组成
我是Allen,我的公众号是【CodeAllen】,关注回复【1024】获取资源,程序员技术交流①群:736386324C语言虽然内容比较多,但是其基本成分其实不多的,其他编程语言也都类似,所以就借着一个最简单的例子梳理下C语言的基本成分#include <stdio.h>int main() { /*_some_comments_*/ printf("Hello_World!"); getch(); return 0; } 下面是逐句分析..原创 2021-05-04 22:57:43 · 1135 阅读 · 4 评论 -
【中英】增加无人机续航时间的一些技巧(一)
这是「程序员每日英语」的第「16」篇分享感谢关注,点赞,转发回复“加群”拉你加入高质量交流及分享群最近有关注大疆无人机的同学可能知道,新的mavic3新的硬件续航时间增加到了46分钟!因为我之前也是做无人机开发的,所以更加惊叹这个续航时间,相对于之前版本的30分钟续航已经提升巨大,要是对比其他公司的消费级无人机普遍20分钟的续航更是碾压般的优势。当然说到增加续航,其实方法无外乎那些,但是大疆无疑是做的最好的公司。下边就是有关无人机续航的一些外文资料,感兴趣的同学可以私聊自己.原创 2022-04-14 22:06:03 · 1885 阅读 · 0 评论 -
企业各职位英文缩写
就职于外企,发现大家都是直接叫简称,都不知道是什么职位,就总结了下GM(General Manager)总经理VP(Vice President)副总裁FVP(First Vice President)第一副总裁AVP(Assistant Vice President)副总裁助理CEO(Chief Executive Officer)首席执行官,类似总经理、总裁,是企业的法人代表。C...原创 2018-11-16 00:09:45 · 11403 阅读 · 1 评论