跳转到主要内容

〖干货〗硬件工程师必知的10个C语言技巧

cathy /

硬件设计师最常见的工作内容是通过写代码来测试硬件。这10个C语言技巧(C语言仍然是常见的选择)可以帮助设计师避免因基础性错误而导致某些缺陷的产生并造成维护方面的困扰。

为了成功的推出一个产品,软件开发过程本身需要经历无数的实践风险和障碍。任何工程师最不希望的事情就是因所使用语言或工具而带来的挑战。因此,这就需要硬件设计师编写代码来测试硬件的工作状况,在资源受限的情况下,还需要开发硬件和嵌入式软件。尽管工具和结构化编程已经有了很大进展,但通常选择的仍然是C语言,基础性错误的不断发生,仍会导致某些缺陷的产生并造成维护方面的困扰。为竭力避免这些C编程陷阱,这里有10个C语言技巧供硬件工程师参考。

<strong>技巧1:不要使用“GOTO”语句</strong>

二十几年前,当计算机编程尚处于起步阶段时,程序流程是由“GOTO”语句来控制。该类语句允许程序员对当前代码行断行,而直接进入另一个不同的代码段。列表1为简单的示例。

<strong>列表1 使用GOTO语句</strong>

一定不要让物联网硬件沦落为谋杀工具!

editor /

<br>早在2014年的Black Hat黑客年会,就曾演示过如何借助远程操控方式,成功入侵真实的汽车。<、br>

勿庸置疑,物联网(Internet of Things;IoT)绝对称得上是炙手可热的科技议题,Gartner预估,至2020年,全球物联网硬件数量上看可达250亿个,届时不管消费市场或商业活动,都将被物联网广泛覆盖,此对于黑客而言,简直是肥滋滋的大饼,岂有坐壁上观之理?

事实上,早在几年前,就出现了物联网硬件可能成为谋杀工具的论调,尽管听来仍有些骇人听闻,甚至给人天方夜谭之感,但随着物联网硬件数量急速攀升,与人类食、衣、住、行、娱乐等生活需求,乃至生产制造、医疗保健甚至交通运输等关键场域,全都产生了前所未见的紧密连接,届时讲究经济利益的黑客,必然蜂涌而至,出现各式作恶行径,其间稍有不慎,导致人命危殆并非不可能之事。

摩尔定律虽将终结 硬件发展出路尤在

editor /

导读: 摩尔定律是由英特尔的创始人之一戈登·摩尔(Gordon Moore)在1965年4月的《电子》杂志(Electronics)提出的,其核心内容为:集成电路上可以容纳的晶体管数目在大约每经过24个月便会增加一倍。

芯片巨头英特尔公司日前在提交给美国证券交易委员会的文件中提到停止采用“Tick-Tock”处理器升级周期,转而更换为处理器研发周期三步战略,即制程工艺(PROCESS)-架构更新(ARCHITECTURE)-优化(OPTIMIZATION),这样一来,产品的升级及更新周期将大幅延长。

  <strong>不挤牙膏 英特尔新闻引关注</strong>

  这一消息的公布引发了轩然大波,有些媒体将其视作摩尔定律(Moore's law)的终结,还有不少网友认为英特尔连牙膏也不愿意挤了,忽视消费者的利益只想坐着赚钱。

  这两种看法从客观和主观上认定了技术发展的放缓甚至是停滞,但事实往往不只是表象这么简单。在提出50年之后,摩尔定律仍然有着一众拥趸,也足以见得其影响之深远。

基于Edison的微信硬件平台

editor /

该方案的初衷是只用微信来控制物联网,免去开发其他的控制端应用。

此次更改主要加上了Edison,并不是简单地让微信来控制Edison,这太简单了.......
稍微加点难度,想到了在保证控制的及时情况下,减小服务器端的资源消耗。
简单地讲,就是每个Arduino或其他物联网节点,通过Edison这个相当于路由器来发送传感器数据和获取控制命令。

<strong>控制Arduino</strong>

首先服务器上有一个数据库,数据库里面有几个记录,每个开关都有一个对应的值。
在微信中,我们对一个公众平台发送类似于“开灯”,“打开热水器”之类的命令,以“开灯”为例公众平台的后台服务器会对这个命令进行判断,如果符合预设的命令,就会进入数据库,找到这个LED对应的记录,把这个记录对应的值改为“1”(值其实是随意的)。

这里的命令发送方式包括文字消息,语音消息。