- 2024-12-09
-
加入了学习《手把手教你学ESP32S3快速入门》,观看 课程介绍1
- 2024-12-06
-
回复了主题帖:
e络盟 2025新年台历你领了吗?
秦天qintian0303 发表于 2024-12-6 16:12
万年不变的样式,这么大公司美工也不改改
免费的,还要啥自行车,先领为敬
- 2024-10-11
-
回复了主题帖:
特斯拉发布没方向盘没刹车踏板的无人驾驶出租车,马斯克:比人类驾驶安全10倍
本帖最后由 赵玉田 于 2024-10-11 17:01 编辑
没方向盘没刹车还真有点不敢坐,感觉老马这段日子忙得很,又要助选又要筹备大火箭,对特斯拉没有以前那么上心了。发布个车还要等2年才上市,到时候黄花菜都凉了
- 2024-09-25
-
点评了资料:
MK_图解机电一体化入门系列 数字控制入门 202页 2.5M.pdf
- 2024-08-22
-
回复了主题帖:
出售高精度功率分析仪 YOKOGAWA WT3000E
私人卖的吗
-
回复了主题帖:
锂电池长期不用正确保存方法???
印象里说明书上写的是长时间不用充到一半,然后隔几个月再充放一次 很麻烦
-
回复了主题帖:
x86架构芯片又要统治智能座舱了?
eric_wang 发表于 2024-8-22 09:38
你我都知道,世界被x86和Arm两大指令集架构所支配,前者统治着PC领域,后者统治着手机、便携领域。
...
感觉x86不太可能成为主流,目前嵌入式方案都是基于arm做的,从生态和移植适配性来说都是q+a或l+a较优。不是所有车企都是特斯拉
- 2024-07-25
-
回复了主题帖:
德国汽车供应商面临破产潮,是因为转型过慢吗?
eric_wang 发表于 2024-7-25 09:44
汽车行业向电气化的转型之路比预想的更加艰险,实际表现不及预期,投资回报也令人失望。曾经被视为转 ...
是我们发展太快,已经开始跑步前进了,不能怪他们转型慢。不过有人说行业过于内卷是靠牺牲质量为代价的,内行的可以聊聊,真是这样的吗?
- 2024-07-24
-
加入了学习《直播回放: 如何避免损害示波器》,观看 直播回放
- 2024-07-23
-
回复了主题帖:
老铁们,我回来了!
欢迎大佬回归
- 2024-07-22
-
加入了学习《e络盟大讲堂》,观看 机器视觉在工业应用环境的挑战
-
回复了主题帖:
昨天去银行存点现金,柜员机上操作,边上有人说想用微信转钱换我现金...
eric_wang 发表于 2024-7-22 10:10
有的人是为了套现,他微信里的钱可能是通过借贷方式得到的,然后转给你,你再给他现金,他就成功套现了。
还有这种操作,长见识了
- 2024-07-18
-
回复了主题帖:
“全向主动安全”到底是什么?为什么余承东的一些言论经常会带来争议?
damiaa 发表于 2024-7-18 15:15
造车安全的问题是最重要的。
技术方面去确保安全是必要的。
现在每天穿梭在密密麻麻的车辆 ...
前几天晚上视线不好,差点被电摩托撞到,关键是晚上骑车不开车灯,这你受得了吗
- 2024-07-10
-
回复了主题帖:
大学毕业一晃二十年,昨天和同学小聚了一把
tagetage 发表于 2024-7-10 17:06
大家都知道,原来的同学聚会是一件非常美好的事情,一些分离了好多年的朋友相聚,那些年的同学之情,朋友之 ...
羡慕毕业了还能凑一桌聚一聚的,自从毕业同学都是天南海北,偶尔有机会也是两三个人的小聚,能凑齐一大桌人很难了。
另外猜测一下,你这个回复是AI生成的吗
- 2024-07-08
-
加入了学习《汽车电器与电子技术》,观看 蓄电池的结构
- 2024-07-04
-
发表了主题帖:
作为嵌入式工程师,一定要记住这十大软件技巧
嵌入式系统设计不仅需要了解硬件,还需了解软件是如何影响硬件并与硬件进行交互的。
设计硬件所需的范式可能与设计软件完全相反。当从硬件设计转向包含软件的设计时,硬件工程师应牢记以下十个技巧。
技巧1:流程图第一,实现第二
当工程师首次迈入软件开发领域时,会有一种强烈的诱惑力促使他们立刻投入工作并开始写代码。这种做法就好比在电路逻辑图还未完成前就试图设计印刷电路板(PCB)。
在着手开发软件时,抑制一上来就想写代码的冲动至关重要,应首先用流程图制定一个软件架构图。
这样的方法会使开发人员对应用所需的不同部分与组件形成一个概念,就像电路逻辑图可以告诉工程师需要哪些硬件元件一样。
这样可确保程序整体建立在良好的组织和深思熟虑之上,减少程序调试时间,从长期看,这样做还可以节省时间、省去麻烦。
技巧2:使用状态机控制程序流程
状态机是20世纪最伟大的软件发明之一。
一个应用程序往往可被分为多个状态机,每个状态机都控制该应用程序的特定部分。
这些状态机都拥有自己的内部状态和状态转换,从中可看出软件如何与各种激励相互作用。
用状态机来设计软件,可简化软件的开发,使之模块化、可维护,并易于理解。现在已经有多种资源来演示状态机理论和算法。
技巧3:避免使用全局变量
在函数式编程的年代,函数要先于形式,程序员的唯一目标是尽可能地让程序按预期方式快速运行,而不用考虑程序结构或可重用性。
这种编程范式会毫无顾虑地使用全局性变量,程序中的任何函数都可能修改它。其结果就造成了变量被破坏的几率增加或变量被误用。
在新推荐的面向对象的范式中,应在最小的范围内定义变量并封装它们,以防止其他函数的误用或破坏。
因此,建议限制使用全局变量的数量。在C语言中可用外部关键字标识这些变量。
技巧4:充分利用模块化特性
无论问哪一名工程师,项目的哪部分最有可能延迟交付并超出预算,答案都是软件。
软件往往是复杂的,且难以开发和维护,尤其是当整个应用都存在于单个文件或松散关联的多个文件中时。
为了改善可维护性、可重用性及复杂性,强烈建议程序员充分利用现代编程语言的模块化特性,将常用功能分解成模块。
以这样的方式分解代码,程序员就能着手建立函数与特性库,然后在一个接一个的应用中重用它们,从而通过连续测试而改善代码质量,同时也减少了开发时间,降低了开发成本。
技巧5:保持中断服务例程的简单性
中断服务例程用来中断处理器对当前代码的执行,而去处理刚刚触发中断的外围设备。
无论何时执行中断,都需要一定的开销,用于保存当前程序的状态并运行中断,然后将处理器回归原程序状态。
现代处理器要比多年前的处理器快得多,但仍需要考虑此花销。一般情况下,程序员都想把中断运行时间降至最低,以避免干扰主代码。
这意味着中断应该短而简单,中断中不应调用函数。
此外,如果中断变得过于复杂或耗时,那么就应该只在必要时利用中断做最少量的工作,
例如,将数据载入缓冲区并设置一个标志,然后让主代码处理输入的数据。这样做可保证大多数处理器的时间用于运行应用,而不是处理中断。
技巧6:使用处理器示例代码进行测试
设计硬件时,构建原型测试电路总是有益的,这样可确保工程师对电路有正确的理解,然后再做电路板布局,这在设计软件时也同样适用。
硅片制造商通常都有示例代码,可用来测试微处理器的各个部分,这样工程师们就可判定该部分的工作情况。
此方法使人们明确知道应该如何设计软件体系架构,以及可能碰到的任何问题。在设计初期了解可能存在的障碍,比在产品交付前的最后几小时才发现它们要好得多。
这是预先测试一段代码的好方法,但需提醒的是,制造商代码往往不是模块化的,要经过彻底的修改才可用于实际应用。
随着技术的进步,也许某一天芯片供应商会提供可用于生产的代码。
技巧7:限制功能复杂度
工程学中有一个旧词叫“KISS”——保持简单和直接。
无论在处理何种复杂的工作时,最简单的方法就是把它分解为更小、更简单、更易处理的任务。
随着工作或功能变得越来越复杂,人们要准确无误地记录所有的细节也变得更困难。
在写一个函数时,其复杂度在当时看似适中,然而还必须考虑到,6个月后当工程师进行维护时,还需要查看代码。
测量函数复杂度(如循环复杂度)的方法很多,现在已经有工具可以自动计算某个函数的循环复杂度。
由经验可知,函数的循环复杂度保持在10以下是最理想的。
无论在处理何种复杂工作时,最简单的方法就是把它分解为更易处理的任务。
技巧8:使用源代码存储库并及时提交代码
人都是会犯错误的,写代码时也会犯错。这就是为什么开发人员使用源代码存储库是如此重要。
源代码存储库可使开发人员“存入”一个好的代码版本,并描述对该基础代码所做的修改。
这不仅使开发人员可以复原或追溯到的旧版代码,还可以比较旧版代码之间的不同。
如果开发人员做的一系列修改破坏了系统,只需点击一下即可恢复好代码版本!
请谨记,如果不频繁提交代码,存储库就不会达到预期目的。如果做了不可修复的改变,过两周才提交代码再恢复的话,就会造成大量工作和时间的损失!
技巧9:代码注释
在紧张的软件开发中,开发人员很容易把注意力集中在编写和调试代码上,而忽略做详细的注释。
在压力之下,注释工作往往拖到最后,因为开发人员认为这是最后的一件事。
然而,趁代码在你脑中记忆犹新时就做注释是至关重要的,这样做可使其他开发人员或以后你自己读懂注释,理解代码是如何工作的。
技巧10:使用Agile开发流程
无论做何种类型的工程设计,都建议先设定并遵守某种流程,以便质量和成本都保持稳定的并能按时交付。
软件开发人员已成功使用Agile开发流程开发高质量软件,这一流程可按任务的优先顺序做开发。
优先级别最高的任务在指定的时间内首先完成,这被称为迭代。
这种方法的好处是可以使软件开发流程保持顺畅,还可以根据结果和客户的需要,使需求和任务适应每一次迭代并做相应的修改。
网友评论:
A:我不支持关于中断程序的建议。在使用德州仪器(TI)MSP430低功耗微控制器时,主代码经常只用于将处理器置于睡眠状态。当处理器处于激活状态时,所有工作都在中断程序中完成。
B:从我的经验看,也许这篇文章的标题应为“软件工程师的10大技巧”。
我在面试一名软件工程师时曾问过这样一个问题:如何为一个新项目写软件?
回答是:着手写软件代码!
我以为他会说“先阅读规范,然后将软件分解成小模块并为它们设计流程图”之类的话。
当然,我没录用他。
C:一切都很好。
但我还想增加一条:让管理层学习Agile。
最重要的是,在项目的开始阶段就为项目的完成设定一个现实的目标(这是反复强调的)。
而且,项目一开始就应安排好适当的人力和流程,而不是后来才补上。
- 2024-07-01
-
回复了主题帖:
恩智浦技术日巡回研讨会常州站邀您报名!
好活动,正好可以去看看
- 2024-06-20
-
回复了主题帖:
张朝阳建议选专业不要随大流,重新选择你还会坚持自己的专业吗?
高中的时候,不知道自己将来要做什么,大多数人选专业还真是随大流的。
- 2024-04-19
-
加入了学习《开关电源之Buck变换器的环路分析与补偿》,观看 开关电源之Buck变换器的环路分析与补偿
- 2024-04-17
-
回复了主题帖:
高压线上充电,能无限续航的无人机来了
chem11 发表于 2024-4-15 13:29
确实是个好注意,是不是可以反过来,可以用无人机进行偷电呢?
还真是,“偷电”这个问题不知道该如何解决啊