用python在树莓派上编程,你可以将项目扩展到令人难以置信的规模

2023-05-16

树莓派是一个非常廉价的、只有手掌大小的完全可编程的计算机。虽然树莓派的体积小,但是它的潜力无限。你可以像使用常规台式计算机一样在树莓派上创建一个非常酷的工程。例如,你可以用树莓派搭建你自己的家用云存储服务器。




树莓派用什么语言编程?


树莓派用python来进行编程。树莓派项目的一个核心思想是Python编程语言的使用。Python允许树莓派的拥有者将项目扩展到令人难以置信的规模。


Python是一个解释型的面向对象的、跨平台的编程语言。良好的可靠性、清晰的语法和易用性,使它成为最流行的编程语言之一。Python是一个优雅的、功能强大的语言。


树莓派为Python编程提供了一个便宜到令人难以置信的开发平台。Python被认为是一种“教学”语言,是因为它很容易学习,但绝不表示Python羸弱。


有了树莓派和Python,唯一限制你的就是想象力了。你可以用Python编写游戏并将其运行在树莓派控制的游戏机上。你可以编写程序来控制连接到树莓派上的机器人。或者你可以像Dave Akerman一样将你的树莓派发送到39000千米的地球上空拍摄令人难以置信的照片。


python语言的优点如下:


1、简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。


2、易学:Python极其容易上手,因为Python有极其简单的说明文档。


3、速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。


4、免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。


5、高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。


6、可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStaTIon、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。


7、解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。


运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。


在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。


8、面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。


9、可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。


10、可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。


丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。


11、规范的代码:Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。


树莓派python编程详解


当你创建一个Python程序时,首先必须从编译器的环境中退出来,并且打开一个文本编辑器,如emacs或者树莓派的Leafpad。在创建完程序后,将其”.py”的扩展名保存。之后,你便可以通过输入以下命令运行该程序:

在众多的编程语言中,Python的语法也十分与众不同。Python使用空格或者缩进来分开不同的代码块。C语言等其他语言用花括号区分不同的代码块,如if语句;Python使用冒号和缩进来定义一个代码块。


C语言中的代码格式如下所示:

你可能会注意关于Python编程的两个细节。第一,在if语句中括号的作用不是很明显。在Python中,括号不是必需的,但在大多数情况下,使用括号是一种好的编程习惯的表现,因为加了括号会提高代码的可读性。你也会发现,大多数其他的编程语言在每行代码的末尾都会以分号结束,而Python则不是这样。这可能会花些功夫去适应,但却可以避免因为在某处分号放错位置或者忘记添加分号而引起编译失败的问题。在Python中,每行代码的末尾就是该条语句的末尾—就这么简单。


你已经见过一条语句的形式了,如:

同之前提到的一样,在Python中不需要提前声明x是一个整型变量,y是一个字符型变量—Python可以自己区别。这些语句称作赋值语句(assignment),它们将等号右边的值赋给等号左边的变量。不同的编程语言中有各种各样的命名规则,但我能给你的最好建议是:选择其中一个规则并坚持下去。如果你喜欢Pascal语言的规则(ThisIsAVariable),那就用这个规则。如果你更偏向于驼峰规则(thisIsAVariable),就使用这个规则。但一定要一致,以后你会感谢你的坚持的。在任何情况下,无论变量是数值、字符、列表,或其他别的什么,赋值的工作仅仅是:将一个值赋给一个变量。这是编程函数中最简单的一个。


1、if测试


接下来要介绍的编程函数是if语句,及其相关的elif和else函数。如你所预期的一样,if执行了一个测试,然后选择一项基于测试的结果。最基本的if语句如下所示:

‘1’和布尔变量中的“true”效果一样,因此上述语句总会输出“true”。


当你在Python终端或者IDLE中输入if语句并以冒号结束时,下一个提示符永远都是省略号(…),这意味着Python正等待一个缩进块。如果你已经进行了缩进操作,按下Enter键结束等待。如果你在一个文本编辑器内编写程序,确保在需要缩进时进行了缩进操作。


从此处开始,我将会按文本编辑器的格式书写代码,并将输出的结果按照运行脚本之后的格式书写。


这是一个使用elif和else的较复杂的程序,如下:

很明显,这段代码最终会输出“Spam is a wonderful thing!”。当程序执行时,计算机首先判断第一个if,如果被判断的语句是正确的,则会立即执行随后缩进块内的代码。如果不正确,则略过缩进块寻找elif,并判断其语句的正确性。同样,如果正确或者没有elif语句,计算机会执行后面缩进块内的程序,如果不正确,则会跳过缩进块寻找下一个elif或者else语句。


在此有三点需要注意:第一,如果一条if语句内的内容是错误的,则在之后的缩进块内的内容都不会执行,计算机会直接跳转到下一个未缩进的代码处。


第二,同其他语言一样,Python使用双等号来判断是否相等。单等号用来进行赋值操作,双等号用来判断。我之所以提起这个是因为每个程序员(我确定指的是每一个程序员)某些时候都会在if语句中使用单等号进行判断操作,因此他们的程序会得到很多奇怪的结果。你也会犯同样的错误,但我希望提前为你打个预防针。


第三,Python忽略空行、空格(当然,除了在交互式情景及缩进块内的状况)和注释。这点很重要,因为你可以随意标注你的代码,以便提高它们对于其他程序员的可读性,即便是以后你自己读你的代码也是一样。


在Python中,注释通常以“#“开始,程序会忽略#后的一切内容。


代码的可读性是一个很重要的因素,希望你能定期回忆我这句话。你是希望试着调试先前编写的代码还是按照以下方式编程:

虽然没什么乐趣,但你可以很清楚地看懂第二种书写方式的内容,在读完类似的上百行没有空格、空行或者注释的代码后,你的眼睛会感谢你相信我。让我们看看使用空格后倒数第二行发生的变化:

你可以随意使用空格。


关于if部分,我最后想说的的内容是关于布尔操作符。在一个判断正误的测试中,X and Y正确意味着X和Y都正确。X or Y正确则意味着X或者Y正确,not X正确意味着X是错的。Python中使用关键词进行布尔运算,而不像C或者C++中使用&&、||、!操作符。好好学习这些操作符,它们会变得十分顺手的。


2、循环


通常,程序从头至尾每一行执行一次。然而,一些特定的语句可能会使程序执行的顺序从一点跳到另一点,这些控制流语句(control-flow statement)包括if(then)语句和循环。


最简单的循环语句可能是执行很多次的一段代码,例如:

也可使用for循环遍历字符串,或者是一个列表:

尽管Python中for循环的语法和C或Java中的有些不同,不过一旦你适应了它们,使用这种语法就得心应手了。


第二种循环语句是while语句。这种语句判断一个状态,只要状态正确就会继续执行缩进框内的程序,例如:

可能与你想象中的有些不同,这段代码绝对不会输出“10”,因为x输出之后才会进行加1操作。在第10次循环过程中,编译器输出“9”之后x增加到10。而此时while条件不再为真,因此缩进框内的代码也不会被执行。


如果你正等待一个特定事件的发生,如按键按下或者用户按下“Q”退出的操作,while语句就十分有用。让我们看看接下来的例子:

这段代码中有两点值得注意:第一,在Python 2.x版本中,raw_input命令用来得到用户的一个输入,而在Python 3.x中,该命令则改为简单的input了;第二,记得使用break命令,这条命令会跳出当前循环。所以在这种情况下,while中循环的部分会永远循环,但当检测var == ‘q’返回值为真时,程序会退出当前循环并结束程序。


3、函数


函数可以让程序员编写的代码重复使用。它能大大提高工作效率。通常,如果你发现代码中某些功能需要执行很多次,这个功能很有可能需要改写为函数。


假设你编写了一个简单的程序用来计算矩形的面积和周长。用户输入矩形的高和宽,之后程序进行相应的计算。实现这个功能最简单的方法是编写一个带参数的函数,其参数分别为矩形的高和宽。之后函数将矩形的面积和周长返回给主程序。为了实现这个函数,我们用def赋值语句进行编写。def赋值语句是我们定义一个函数的方法,其语法为def函数名(参数1,参数2):

这个小程序需要你提供一些参数并返回计算的结果。可能这不是最好的例子(你可以用更少的代码计算出结果),但却很好地阐述了代码复用的思想。通过这个函数,你就明白:在程序的任何位置,只要你需要计算面积或者周长,调用AreaPerimeter函数并赋给参数“height”和“width”值即可。


在此需要注意一点:raw_input函数会返回一个字符串,即便你输入的是数字,返回的也是字符串类型的值。这也就解释了为什么在AreaPerimeter函数中height和width变量在计算前必须要进行int转换。


如果对其他语言比较熟悉的话,你会发现Python的函数与其他语言的函数在方法、功能和步骤方面都有一些不同。例如,在Python中,所有的函数都是按引用进行调用(call-by-reference)。不需要太过专业的术语,简单而言,这意味着当你给函数传递一个参数时,你只是将一个指针传递给一个变量,而不是传递数值。这种方式使得Python的内存管理更加方便。例如,当你在函数中一遍又一遍地传递列表参数时,不需要复制整个列表的内容。具体而言,当一个函数将一个列表作为参数时,你传递的只是列表首元素在内存中的位置,之后函数基于首元素的位置再查找剩余项。


函数另一个有意思的方面是:它们都是可执行的语句。这意味着一个函数实际上可以在if语句中声明和调用。虽然并不是很常见,但是这样定义和调用是合法的(有时也十分有用)。def语句可以嵌套在循环当中,嵌套在其他的def语句中,甚至嵌套在列表和字典里。


我们会在进行具体项目时回顾函数部分;现在,只需要知道它们的存在,并知道它们对你自己编写的每个程序都很实用即可。


4、对象和面向对象编程


在本章中,最后一件重要的事情是其与生俱来的执行面向对象代码的能力。面向对象编程(object-oriented programming,OOP)是一个较为高级的话题,可能不在本书讨论的范围之内。但我认为这是一个十分重要的话题,不可轻描淡写,一带而过。


OOP是一个程序数据被分为对象和函数(或方法)组合的范例。一个对象就是一个数据结构,通常是一组数据类型的结合,包括整型、字符型或者其他的数据类型。对象通常是类的一部分,与类中的方法相关联,并通过方法操作。


也许解释这部分最简单的方法就是使用shape示例。在这个例子中,一个shape(形状)是一个对象的类。类中有值,例如name(名称)和numberOfSides(面数)。这个类也有相关的函数,如findArea(计算面积)或者findPerimeter(计算周长)。


shape类有很多子类,子类描述的内容更为具体。一个square(正方形)是一个shape的对象,它的shapeType(形状属性)值等于square,numberOfSides值等于4。它的findArea函数接受numberOfSides值,并将该值的平方作为返回值。同时,一个triangle(三角形)对象也有不同的name、shapeType和numberOfSides值和不同的findArea方法。


这个例子不仅简单介绍了对象的概念,也阐述了继承的概念—OOP的一个组成部分。triangle对象从它的父类shape类继承了name、numberOfSides和findArea部分(虽然这几个部分都具有不同的值或者实现方法)。如果一个对象继承于shape类,它也会继承那些部分。即便它不需要用到那些部分,它还是会包含这些部分。它可能会增加一些其他的部分(例如circle(圆形)对象可能会有radius(半径)值),但它也会包含其父类的那些部分。


如果你在编程中用到这些类,相对于C++或者Java而言,Python更容易理解。无论属性是一个对象或是一个方法,你都可以按照接下来的语法结构进行命名:object.attribute(对象。属性)。如果你有一个叫作holyGrail的circle对象,其半径值用holyGrail.radius来表示。一个名为unexplodedScotman的正方形,其计算面积的函数用unexplodedScotsman.findArea来定义。


如之前所述,OOP的内容超出了本书涉及的范围。但像函数这些概念却十分有用,尤其是在很长很复杂的程序中。当你在学习Python的过程中,请自由地进行探索吧。你会发现Python也是一门功能丰富的语言,它甚至允许你执行其他高级程序任务。(转自电子发烧友)

1.每一个硬件研发人员,都不能忽视生产质量!

2.Arm开放机器学习开发者社区,教你在Raspberry Pi上进行机器学习!

3.一张图看晕“物联网”

4.在单片机中,C语言的一些误用和总结!

5.学习STM32必须了解的五大嵌入式操作系统

6.拨开迷雾|嵌入式Linux上的应用程序开发只有高手才能完成?

免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用python在树莓派上编程,你可以将项目扩展到令人难以置信的规模 的相关文章

  • 这100个shell脚本案例,你都知道吗?一篇教会你写90%的shell脚本

    shell 是一个应用程序 xff0c 它连接了用户和 Linux 内核 xff0c 让用户能够更加高效 安全 低成本地使用 Linux 内核 xff0c 这就是 Shell 的本质 shell脚本就是由Shell命令组成的执行文件 xff
  • 掌握它=掌握k8s!Kubernetes中文文档,学习提升看这一篇就足够

    Kubernetes又称 xff08 k8s xff09 xff0c 这几年可谓是非常的火热 xff0c Kubernetes让部署容器化的应用简单并且高效 xff0c 越来越多的程序员都想学习和掌握它来提高自己的效率 先来了解一下它的背景
  • Adaptive Autosar 整体架构理解

    1 总体说明 xff08 图片来源主要来源于Simulink 以及 Vector xff09 在Autosar官网 xff08 autosar org xff09 上 xff0c 目前CLASSIC PLATFORM 更新到4 4版本 xf
  • 244页Prometheus操作指南,内容详尽讲解细致

    Prometheus在监控工具中有多少话语权 xff1f 作为一款开源的监控工具 xff0c 早早地就在云原生计算基金会中毕业了 xff0c 如今已经成为了云原生应用的首选监控工具 xff0c 在国内外被广泛应用 Prometheus俨然已
  • 在 Linux 终端上的 10 个有趣的命令

    Linux 的命令行不仅是一个复杂且强大的命令所在地 xff0c 同时也是一个有趣的乐园 在本文中 xff0c 我整理了一系列有趣的 Linux 命令 xff0c 您可以从中获得乐趣 1 cmatrix 本列表中的第一个必须是 cmatri
  • 80篇+网络安全面试经验帖

    网络安全面试经验80篇 43 xff0c 看完妈妈再也不用担心我面试的问题了 汇总以下安全服务岗的面经 xff1a 渗透测试 红队攻防 代码审计 安全研究 红队开发 主要由两部分组成 xff1a 个人面试 互联网收纳整理 一 我的实习 am
  • Bash 中的 ${} 和 $() 有什么区别

    像 Linux 这样的基于 GNU 的操作系统依赖于一个名为 Bash 的命令语言解释器或 Shell 来完成它们的大部分计算任务和目标 Bash 是 Bourne Again Shell 的缩写 xff0c Bunne Again She
  • Go 服务端开发,请牢记这几条

    服务端开发一般是指业务的接口编写 xff0c 对大部分系统来说 xff0c 接口中CURD的操作占了绝大部分 然而 xff0c 网络上总有调侃 CURD工程师 的梗 xff0c 以说明此类开发技术并不复杂 但我个人认为 xff0c 如果仅仅
  • 域格4G模块串口开机自动透传的使用

    首先要求是模块版本为串口自动透传版本 1 模式切换 从透传模式切换至临时指令模式的时序 xff1a 1 串口设备给模块 连续发送 43 43 43 xff0c 模块收到 43 43 43 后 xff0c 会给串口设备发送一个 a 在发送 4
  • 网红送餐无人车冒充AI,真人海外远程操控

    美国网红外卖机器人Kiwibot实际由远在南美哥伦比亚的真人远程操控 xff0c 每人时薪不到2美元 xff0c 最多控制三台 2017年成立的Kiwi Campus公司累计获得200万美元融资 xff0c 约人民币1414万元 xff0c
  • 国产开源基础软件MiniGUI宣布支持RT-Thread!

    北京飞漫软件技术有限公司宣布 xff1a 将在 MiniGUI 4 0 2 版本中支持国产操作系统 RT Thread xff01 这是自 MiniGUI 创始人魏永明在本月初宣布启动 1998 年年底 xff0c 魏永明开始在清华大学开发
  • 既然C编译器是C语言写的,那第一个C编译器是怎样来的?

    来源 xff1a 伯乐在线 xff0c 作者 xff1a Chaobs 首先向C语言之父Dennis Ritchie致敬 xff01 当今几乎所有的实用的编译器 解释器 xff08 以下统称编译器 xff09 都是用C语言编写的 xff0c
  • Oracle推出全球首个自治操作系统~

    原创 xff1a 程序员的那些事 xff08 id xff1a iProgrammer xff09 导读 xff1a 保持系统的修补和安全是 IT 部门目前面临的最大挑战之一 在大规模云环境中 xff0c 此类任务乏味 容易出错 xff0c
  • 基于Autosar的网络安全理解

    目录 1 车载网络安全说明 2 常用的安全加密算法 2 1 对称加密 2 2 非对称加密 2 3 混合加密 2 4 单向散列函数 2 5 消息认证码 2 6 数字签名 3 Autosar的加密模块 3 1 模块说明 3 2 关键数据流说明
  • Linux实用程序——Make快速入门

    1 Make make 是 linux 系统的实用程序 它用于管理对于大型程序的自动编译任务 xff0c 自动决定程序某一部分需要重新编译 xff0c 并发出编译指令 虽然 xff0c 我们最常见于 C 语言程序的编译 但是 xff0c m
  • 干货!学习STM32的一些经验分享

    前言 前两天在群里看到群友们在讨论学习STM32的话题 xff0c 并且今天也有一位机械专业的准研究生读者也问了STM32的入门问题 正好我也有一点点经验 xff0c 所以试着分享一下这个话题 我也不是什么大神 xff0c 只是一名普通的工
  • 为什么买了开发板只能吃灰,还是学不会嵌入式?

    经常有同学问我 xff1a 老师 xff0c 我想学嵌入式 xff0c 应该买哪个板子 xff1f 这个问题本身就是错的 如果你去问10个买过开发板的人 xff0c 至少有8个最终都吃灰了 xff0c 而且他也没通过这个板子以及板子附带的所
  • 基于LiteOS的智慧农业案例实验分享!

    最近在指导一位读者朋友做毕业设计 xff0c 该毕设是关于端云互通的 xff0c 基于小熊派 43 LiteOS 43 华为云 在指导他的过程中我也学到了不少东西 xff0c 这里通过一个案例实验 xff08 智慧农业 xff09 给大家分
  • 漫谈C变量—为什么嵌入式项目中常用静态变量?

    在C语言中 xff0c 按照生命周期来分 xff0c 变量只有两类 xff1a 静态变量和动态变量 其中 xff0c 静态变量是指 xff0c 在编译时刻 xff08 Compiling time xff09 变量的地址和大小都已经确定下来
  • 10月1日后,GitHub用main替代master

    转自 xff1a 开源中国 GitHub 官方表示 xff0c 从 2020 年 10 月 1 日起 xff0c 在该平台上创建的所有新的源代码仓库将默认被命名为 34 main 34 xff0c 而不是原先的 34 master 34 值

随机推荐

  • C++在嵌入式中表现如何?

    这是知乎嵌入式领域的一个热门话题 xff0c 原文链接 xff1a https www zhihu com question 374663834 几个高赞回答 xff1a idea4good xff1a 先说结论 xff1a 嵌入式 单片机
  • 选微处理器MPU,还是单片机MCU?

    每项新应用设计都需要一个单片机或微处理器 当在两者之间选择其一时 xff0c 需要考虑一些因素 以下是微处理器 单片机的概述和对比 考虑选择微处理器 MPU 或者单片机 MCU 时 xff0c 应用类型通常是关键因素 另一方面 xff0c
  • 图解FreeRTOS 原理系列之任务管理器基本框架!

    导读 学习梳理一下FreeRTOS任务管理单元实现思路 xff0c 代码分析基于V10 4 3 从本文开始计划写个图解freeRTOS内核系列笔记分享给朋友们 xff0c 希望大家喜欢 本文主要学习梳理FreeRTOS任务管理器的基本原理
  • 一文带你快速理解FreeRTOS代码规范~

    导读 遇到些朋友感觉FreeRTOS内核代码看起来很不习惯 xff0c 不习惯其编码风格 xff0c 本文就来梳理一下其代码规范 xff0c 便于提高阅读其代码的效率 代码基于FreeRTOS V10 4 3 FreeRTOS代码结构 其内
  • [Adaptive Autosar]深入理解--Persistency

    目录 1 Per架构 2 Per初始化 3 Per错误处理 4 多进程访问 5 冗余存储 6 安装和更新per数据 7 Key Value 方式 8 file storage 方式 9 典型使用代码 Persistency模块对比 CP 中
  • 用Excel教会你PID算法!

    01 引入PID 电机控制 这样是没有反馈的 xff0c 也就是说我们完全相信输入的数字 xff0c 且是理想化的模型 xff0c 比如输入占空比为50 的25Kz的PWM xff0c 车轮速度为1m s xff0c 实际产品中会受到各种这
  • 带你快速理解FreeRTOS的代码规范~

    导读 遇到些朋友感觉FreeRTOS内核代码看起来很不习惯 xff0c 不习惯其编码风格 xff0c 本文就来梳理一下其代码规范 xff0c 便于提高阅读其代码的效率 代码基于FreeRTOS V10 4 3 FreeRTOS代码结构 其内
  • 单片机串口最底层的本质​!

    嵌入式开发中 xff0c UART串口是最常见的一种通信接口 xff0c 你知道为啥串口这么常见吗 xff1f 本文就带你深入了解串口最底层的本质内容 一 什么是串口通讯 xff1f 串行通讯是指仅用一根接收线和一根发送线就能将数据以位进行
  • 一个本科生学习嵌入式的心得~

    为毕业后能找到工作而读书 xff0c 本着务实精神 xff0c 从入学那一刻起就要开始准备找工作了 发这篇文章主要是针对大学刚接触嵌入式的同学 很多新手觉得嵌入式入门并不容易 xff0c 牵扯的内容 知识点太多 像C语言基础是否掌握 xff
  • 使用 Rust 进行嵌入式开发

    作者 xff1a RT Thread社区团队 liukang 原文链接 xff1a https club rt thread org ask article 2944 html Rust 是什么 Rust 是一门赋予每个人构建可靠且高效软件
  • STM32的SPI外设片选只有一个,怎么破?

    之前用STM32的SPI需要控制很多外部芯片 xff0c 可是一个SPI的外设只有一个片选 xff0c 要实现独立片选一主多从 xff0c 怎么实现呢 xff1f SPI总线拓扑 一般地 xff0c SPI总线按照下图方式进行连接 xff0
  • 编程规范 | 关于头文件的几条规范

    一般来说 xff0c 每一个 c或者 cpp文件对应一个头文件 h文件 xff0c 当然 xff0c 也有例外 xff0c 例如一些测试单元或者main文件 xff0c 头文件的一些规范可以令代码可读性 程序的性能等大为改观 xff0c 所
  • 10分钟教你在MDK中部署LVGL

    说在前面的话 说实话 xff0c LVGL这么有牌面的项目 xff0c 其维护者居然没听说过cmsis pack xff0c 这着实让我略为破防 xff1a 连lwIP都在Pack Installer里有个坑位 xff0c 难道这是个LVG
  • 国产高性能RISC-V通用MCU又来一个新成员!

    业界新锐MCU厂商先楫半导体宣布2022年5月正式推出 HPM6300系列 xff0c 这是继去年11月发布全球性能最强RISC V微控制器HPM6700 6400系列后 xff0c 再添一款新力量 集高性能 高实时 低功耗 高性价比于一身
  • 趟过这20个坑,才敢说自己是搞电的~

    电子工程师指从事各类电子设备和信息系统统研究 教学 产品设计 科技开发 生产和管理等工作的高级工程技术人才 一般分为硬件工程师和软件工程师 硬件工程师 xff1a 主要负责电路分析 设计 xff1b 并以电脑软件为工具进行PCB设计 xff
  • 【随笔篇】2019全国大学生电子设计竞赛回望与总结

    1 写在前面 2019全国大学生电子设计大赛已经落幕 xff0c 我和李同学各带一队斩获国一 短暂的休息后我们从国一的喜悦中恢复 xff0c 逐渐开始了新的征程 本来是希望能够通过电赛保研 xff0c 但无奈四非大学名额有限 xff0c 留
  • STM32的SPI外设片选只有一个怎么破?

    之前用STM32的SPI需要控制很多外部芯片 xff0c 可是一个SPI的外设只有一个片选 xff0c 要实现独立片选一主多从 xff0c 怎么实现呢 xff1f SPI总线拓扑 一般地 xff0c SPI总线按照下图方式进行连接 xff0
  • IT开发的岔路口:究竟是Java好还是嵌入式好?

    一份工作在一个人的生活中占据重要地位 xff0c 对于一个人的生活质量占据决定性作用 xff0c 可以说工作决定一个人一生 xff0c 对于选择工作当然是要选择新兴产业且有发展前途的行业 xff0c 那么在IT技术领域 xff0c 选择Ja
  • 做好一块PCB板不难,但做一块好PCB板却不容易!

    我们说做PCB板就是把设计好的原理图变成一块实实在在的PCB电路板 xff0c 请别小看这一过程 xff0c 有很多原理上行得通的东西在工程中却难以实现 xff0c 或是别人能实现的东西另一些人却实现不了 xff0c 因此说做好一块PCB板
  • 用python在树莓派上编程,你可以将项目扩展到令人难以置信的规模

    树莓派是一个非常廉价的 只有手掌大小的完全可编程的计算机 虽然树莓派的体积小 xff0c 但是它的潜力无限 你可以像使用常规台式计算机一样在树莓派上创建一个非常酷的工程 例如 xff0c 你可以用树莓派搭建你自己的家用云存储服务器 树莓派用