粉丝703获赞4292

我把单片机最好的按键处理的算法公布到网上之后,有一部分网友还是不认可,说我有四个按键,我每个按键的代码都差不多啊,但是我为什么要写四次啊?为什么不能直接用一个负循环把它集成到以一行语句,用一行顶四行? 我的想法是,如果有二十个独立按键,我是愿意把二十个独立按键每一段依次的往下写,虽然它代码量很多,但是它非常有队形感, 特别容易理解。而且因为我展开了之后,我每个按键我的命名都可以是个性化的,不一样的, 并且特别方便修改程序。当我要把第三个按键的消导的参数改大一点的时候,我不需要改第一个、第二个,也不需要改第四个、第五个的按键。 而如果你用一个负循环把二十个按键集成到一段代码,那么你最大的问题就是会牵一发而动全身, 你也没办法做到每一个按键它里面都可以用独特的英文字母去表示,你只能用个数组去表示。 另外大家仔细想想,用负循环集成跟我打伞之后挨个挨个去写,它们最大的差别有什么不一样呢?首先你用负循环集成,你是节省了单片机容量的,但是对于我们现在用的这种 m 三 m 四和的单片机来说,这点容量是微不足道的。 我们更应该关注的是他的运行时间,运行时间上有没有差异。其实你仔细想想,你用负循环集成跟打伞之后,他的扫描周期时间是一样的, 只要他的扫描周期是一样的,那这两种写法只是个人习惯,对于我的员工,不管他用前面这种负循环集成还是用后面的这种方法,我我都认可,我不会拿这两种风格去评判这个程序员的水平高低,是我个人更倾向于打伞。 第二个批评点就是一部分网友觉得我直接操纵这种全局变量感觉不妥,这方面我已经分享过多次, 其实大部分的初学者,他没有看到全局变量的优点,也没有看到这种结偶的缺点,他们大多数都有个惯性的思维,他只要看到你直接操纵这种全局变量,他都觉得你是有原罪的。 其实传局变量它的优点就是路径短,效率高,解有它的缺点就是弯弯绕绕效率低。 因此大家想学单片机一定要跟我学,才能学到真功夫,否则你就会像很多网友一样人云亦云,缺乏一种独立的思考。大家如果想跟我学单片机的话,可以到我抖店那里买我那个五幺单片机学习版,就可以进群跟我学习了。

今天我们来看一下否和否有循环语句的嵌套。首先简单地来看一下循环嵌套,正常情况程序是从上往下一条一条地执行指令,当遇到了循环指令,就会循环地执行某一段程序, 在这一段程序之内又放了一个循环,那么这就是循环嵌套。我们来看一下 yoyo 语句的循环嵌套,这是 yoyo 语句的一般格式。 先理解一个概念,就是每一条语句它实际上都是有地址的,可以通过这个地址来找到这个语句。 比如说我们把这里的语句翻译成机器指令之后,会存储在处理器当中,那么处理器都有地址,通过这个地址反过来就可以找到这条语句。 我们首先先有这样一个地址的概念,接着我们来看一下它的执行顺序,如果条件满足的话,那么就从上往下执行每一条语句,来到大括号这里, 这个大括号在我们 c 语言当中可能看着没有什么作用,实际上他翻译成会编语言之后,这里会记录一个返回地址,那么他就可以跳到条件判断的地方继续判断条件, 如果条件不满足,那么这里也会记录一个跳出地址,那么就会跳过大括号的语句,接着执行下面的。 虽然 c 语言没有体现一个返回地址和跳出地址,但是这样的循环语句翻译成会编指令之后,它确确实实是存在这样的地址的, 理解这个地址有利于理解循环嵌套的执行顺序。我们来看一下循环嵌套。 首先外面是一个循环语句,里面又有一个循环语句,我们看一下它的执行顺序,如果条件满足,那么就会从上往下执行语句,来到循环语句,再次对条件进行判断,如果是满足的,那么就执行大括号里面的语句, 来到下面这个大括号,这里翻译成会编指令之后,他会记录返回的地址,也就是返回这个条件判断出的地址,接着去判断这个条件的真假, 如果条件是假的,就会跳过大括号里面的语句,那么这里会记录他一个跳出的地址,就是跳出大括号里面的语句,接着执行下面的语句, 执行下面的语句,我们又来到了大括号这个大括号,他翻译成会编指令之后,他还是记录一个返回地址,就是记录他返回这个条件处的那个地址, 如果这个条件不满足的话,他也会跳出大括号,那么这里也会记录一个跳出的地址,就是记录他跳到哪里去,接着从这里执行下面的语句, 我们观察一下这一对,还有这一对地址,他实际上是各管各的, 也就是内部的循环,他想实现跳转,他有他自己的返回地址和跳出地址。外部的循环,他想实现他的跳转,他有他自己的返回地址和跳出地址。 内部循环和外部循环,在跳转的时候,它们是互不干扰的,各管各的,既然在跳转的时候没有相互牵扯,那么剩下的都是一些需要顺序执行的语句,那么更不会相互干扰, 也就是外部循环和内部循环,它实际上是两个独立的循环语句,你按照独立的循环语句来分析就不会出错。 同样 continue 和 break 与循环语句的关系也是按照独立的循环语句来分析就可以了,就不会出错。我们先看一个程序,首先定义四个变量, a、 b、 i 和 k 出值都是零。接着执行我们的循环语句, 它是一个大循环,内部还有一个循环,也就是循环嵌套。我们先看一下大循环,大循环的判断条件是二,小于二,二的出值是零,那么这个大循环会执行几次大括号里面的语句, 也就是二等于零的时候,二等于一的时候,条件都是成立的,那么会执行两次大括号里面的语句, 那么小循环它在大括号内,这个小循环它整体会被执行两次。 那么我们再看一下小循环,它自己,它自己的判断条件是 k 小 于三, k 的 出值是零,那么 k 等于零,等于一等于二,条件都是成立的,也就是小循环会执行三次, 那么加上大循环会执行两次小循环整体是不是小循环内部会被执行六次?那么 a 的 值是多少, b 的 值是多少?可以写程序验证一下,输出 a 的 值是二,输出 b 的 值实际是六。 我们再来看一下否循环语句的嵌套,这是它的一般格式,这是它的执行顺序。 同样这里从上往下执行到大括号的时候,它也会记录一个返回地址,如果条件不满足的时候,它跳出大括号语句,它也会记录一个跳出的地址, 也就是这个放语句,它会记录自己的返回地址在哪里,跳出地址在哪里,才能够正确的执行。我们再来看一下它的循环嵌套, 这是一个法语句循环,内部又放了一个法语句循环,形成循环嵌套, 内部的循环实现跳转,它会记住它自己的一个返回地址,一个跳出地址,外部的循环实现跳转,它也会记住它自己的一个返回地址和一个跳出地址, 那么内部的循环和外部的循环在跳转的时候是互不干扰的,剩下的语句都是一些不会发生跳转的语句,都是顺序执行的语句,更不会发生互相干扰。 所以说内部的循环它是一个独立的循环语句,外部的循环也是一个独立的循环语句, 你按照独立的循环语句来分析就不会出错。如果你不理解,这里的跳出地址和返回地址也没有关系, 因为这个地址它是在会编语言当中体现出来的,在 c 语言当中它体现不出来。如果你不理解没有关系,你只要记住它虽然是循环嵌套,但是它的执行顺序还是按照独立的循环语句来执行的就可以了。 先看一个循环嵌套的应用,就是延时定义一个变量 k, 这里是一个负号循环语句,也就相当于负号语句。大括号内是一条空语句, 那么 k 等于零, k 小 于两百是成立的,会执行大括号里的语句,接着回到变量更新,接着又回到条件判断,那么它会执行几次这样的循环, 是不是会执行两百次这样的循环执行一次循环都会消耗一点时间,那么循环执行了两百次,就会达到延时的功能。 我们说放语句只有条件不满足的时候,才会跳出大括号里面的语句,接着执行下面的语句,也就是只有把这两百次循环执行完,才会执行下面的语句。 这样的延时实际上是一个阻涩的延时,就是在延时的过程当中,他一直在这里转呀转,转呀转,他别的指令他不会去执行,就阻涩在这里了,所以说他是一个阻涩延时。 如果我们的延时时间比较长,一条暴雨句达不到这样的延时时间怎么办呢?那我们可以再定义一个变量, 然后再写一条放语句,也就是写一个外循环,这里的二是零,条件判断是二,小于五百,也就是会循环执行五百次。大括号里面的语句,也就是括号内的放语句, 也就是相当于这个放语句,它整体会被执行五百次,那么它内部的这个小循环就会被循环的执行五百乘以两百次。 那我想问的是,现在的延时时间是之前这个谓语句的五百倍吗?实际上不是的,因为你每一次执行的时候要进行条件判断、变量更新, 这些语句他也会被循环执行了五百次,他也会占用一些时间。放语句可以起到延时的作用,但是他的时间不是一个精确的时间,你想获得一个精确的时间,就需要用定时器来定时。 我们再来看一下循环嵌套的应用,就是对二维数组进行初识化,比如有一个二维数组, ai 三对它进行初识化,用一个循环嵌套来对它进行初识化。 首先外循环的初值是零,条件判断是二小于二是成立的。那么执行大括号里面的语句,那么这条语句就是 a 零 k, a 零 k, 我 们看一下 k 的 值, k 的 初值是零,条件判断是 k 小 于三, 那么 k 值的变化就是零一二,那么也就是将零复制给 a 零零,将零复制给 a 零一,将零复制给 a 零二, 执行完内部循环之后,又回到这里的变量更新,那么二的值就是一,一小于二条件成立。接着执行大括号里面的语句,也就是 a 一 k, 那么 k 的 范围是零一二,可以将零复制给 a 一 零零复制给 a 一, 一零复制给 a 一 二, 执行完内部循环之后,又回到变量更新,二等于二,二是不小于二的条件不成立,那么就不会执行大括号里面的语句了,就会跳出大括号里面的语句,接着执行下面的语句。 总结就是一句话,循环嵌套,实际上还是按照独立的循环语句来处理,就不会出错。这节课到此结束,拜拜。

我们组程序的书写之前呢,我们先来理一下思路,当 over mv 没有探测到标签的时候,我们希望它能够实现寻迹的功能。如果探测到了标签,再来判断一下标签是在左边还是在右边,在哪一边就往哪一边拐九十度,然后继续寻线。 那我们就把寻线这个功能呢放到定时中断里面。好,我们先来定义一些待会要用到的变量,先定义一个 mod 和 r x data 都是从 open mv 里面接收到的数据。 好,再定一下 k p 和 k d。 因为我们的 pid 是 位置式 pid, 所以 我们不需要按向。 再来定一下 actual, 获得当前实际的位置 还有误差。 好,接下来我们就来写一下这个定时中断,让它每四十毫秒执行一次,获取一下当前小车的偏离程度,然后再通过 pid 来调整 好。我们先来定一个静态变量,否则每次定时中断的时候,看了都清零了,就没有什么意义了。哦,我们还要写再定一个 count 变量, 当我们没有探测到标签的时候,也就是说 mod 等于零的时候,我们希望小车能够寻迹,那我们接下来写下这个 pid, 先来清个零, 这里有错误, 我们把它们移出去, 我们来获取一下当前的实际位置, 再获取一下本次误差与上次误差。 目标值我们还没有写,大家定一下目标值, 目标值就写六十四,这六十四就是我们 open mv 镜头的中心横坐标。 我们继续 我们输出值 out 也还没定义, 接下来进行输出线符, 接着就可以控制我们的小车了, 这里就用六十作为出使速度, 最后再清除标志位。好,那我们的 pid 就 写好了, 接下来就可以写竖循环了。先来获取一下 mode 和 r x data 的 值,其中 mode 是 接收到的第一个数据, r x data 是 接收到第二个数据。 接下来就来判断一下我们的小车到底是应该左转还是要右转,如果标签在左边的话,小车就要左转,如果在右边就要右转, 如果标签在左边,那么 mode 就 等于一。 我们先来延时一毫秒,一秒, 接下来左转弯, 再来延时七百毫秒, 复制一下, 这个就是左转弯,这就是右转。 这两个底内的时间都是可以根据情况来自己调整的。上面这个底内呢是和我们放置标签的位置有关,如果放置的标签离拐角处比较近的话,那么底内的时间就短一些,如果比较远的话就长一些。 然后后面这个底内是因为我们转弯的话需要持续一段时间,所以就要延迟一会,这个其他方面也是可以根据自己的情况来调整。 然后 k b 和 k d 我 已经调好了,分别是零点二七和零点六,当然也可以根据自己的情况来自己选择调整。 在我们所有的程序就已经写完了,插上线之后呢,我们应该就能实现预期的效果。 nice。

各位朋友大家好,之前我发布了一条关于惜缘三十二个管件字的作品,有朋友在评论区留言说 q 图和里有体永久从来没有使用过,今天我就给大家讲讲在日常的切入式开发过程当中,我是如何使用 q 图这个管件字的。 狗兔呢?是一条强制撬短语句,或者说无条件撬短语句,但是它有一个使用前提,就是一定要在同一函数内, 它不能跨函数去撬转。很多小伙伴在初学西元的时候,老师都会强调要慎用狗兔,因为它会破坏程序结构。 在这里我想说明的是,八九版一共有三十二个气源关键字,它们各有各的用处,并不存在完全的积累, 所以我们不必排斥勾出的使用。好了,回归正解,我通常会在两种情况下使用勾出,一种呢就是错误处理,另外一种呢就是撬出循环语句。我们先来讲讲错误处理, 这是我比较常用的一个粗死化代码模型,在粗死化函数里面,我们设定两个标间 emit, 用来执行粗死化的代码,另外一个呢就是 al, 用来执行错误指示或者说错误处理。 我们在调用抽象函数的时候,首先先进行抽象代码的执行,然后紧跟着一个标志位的判定,比如说内部计算机的读取,如果一切都是 ok 的, 那就直接返回一一退出这个抽象函数, 否则呢,就执行错误处理。在执行错误处理的时候,我们先进行一个错误次数的判定,如果在错误次数允许范围内,我们就再给他一次机会,让他重新去做一个出词化了。执行就是执行加 q 二 unit 咨询到这一部分的,嗯,代码块,如果它已经超标了,那就执行一些错误代码指示啊,一些嗯,错误打印啊,或者错误指示灯的点亮之类的,然后最后就一个退出这个出错代码函数。 在这里我只是举例说明了粗死化吧。错误处理,实际上在很多代码执行阶段也可以使用错误处理,比如说篡狗通信啊,或者传感器状态的夺取啊。 接下来我们就讲一下 hot 在 跳出循环语句中的使用,这个就更简单了,跳出循环语句,我们之前应该常用两种方法跳出循环语句,一种是 continue, 是跳出当前循环的剩余部分,进入下一次循环的执行。还有一种呢,就是 blake 跳出循环,继续执行循环之后的代码。这个概念我也不用多说,如果学过 c 语言,应该对这两种情况都是非常了解的。但这里呢,其实有一个注意点就是这两个关键字啊,不能跳出欠透了循环, 它撬出当前的循环。如果像这种类似的代码结构,它有很多个或循环嵌套,如果你要撬出可能就比较麻烦,但是你用 go two 呢,就可以一下子就可以撬出了。 这就是我今天要分享的 go two 两种使用,也欢迎大家评论补充。有没有更多对于 go two 的 使用,谢谢大家。

好,大家好,我是锦波,我刚才给大家详细讲解了这个驱动文件如何去除, 但是有时候我们会发现别人教了我们是一二三,但是到我们实际搞项目的时候却是四五六七八九, 就是我们永远不可能把所有的这种情况都预见到。所以我在想,我如果在实际搞的过程中遇到什么觉得有价值的东西,一些经验我都分享给大家。还是这个板卡送的原码, 送的元码,这个版卡送的元码非常的巨大,因为写了十年,所以说有很多文件就特别多嘛。 但是呢我们总会遇到一些特殊的情况去删除,比如说这里面我们发现他是一个声明,他声明了这样一个一个结构体,这结构体我们去找,我们去找会发现, 比如说这里他肯定有地方已经声明,肯定有地方去定义,外部去定义, 那我们就不能直接删了它,我们不能把这样直接注视掉。为什么呢?因为它既然已经定义了这些里面的变量,它也是在其他文件中是有用到的,我们来看一下,你看它用到多少, 比如说在按钮里面它也用到了,在其他一些文件中它也用到了, 那我们就不好去直接搞它,因为它的关联性太强了,所以说我们就最后搞, 我们知道我们不管是做程序啊,我们都先挑软柿子去捏这种关联性强的,我们放到最后去把它移除掉,如果我们项目中不涉及到这个业务的话,我们最后移除, 我们再来看看,比如说这个,我们先就不管这个了,好,为什么呢?因为他明显不是软柿子,他里面有呃外部的声明,然后有一些其他的变量,所以说我们就先不搞这个, 我们先把这些都关了,那我们去找软柿子,像这种一看就是软柿子,为什么呢?它只有一个函数。哎,这里不对啊。好,我们 去找,你看它这里面肯定就涉及的文件比较少, 这个事后呢,我们就把它给去注视掉就行了,我们就把它用到它的给注视掉就行了,因为这种函数是我,是我们所谓改程序的时候的软式子,这都是定义了。 哎,你看这就一个文件,那我们就直接把它给搞掉就行了。 我们先找这种软柿子,我们再在这儿给它 找到这个文件。不是第一个啊,一定要看清楚,是第二个。 delete 这个, 把这个 delete 的 也删除掉。 ok, 这个时候我们就成功又删除了一个软式的,那我们就编一下,看一下,这里编辑时间太久,我还是先暂停一下。 好,我们翻译完成了,我们来看一下,我们来看一下,这里,你看依然是零 else, 就是 没有报错,那我们又成功的就是移除了一个我们暂时不需要的驱动程序, 就是我们移除程序也是需要找软柿子去捏的,你不能说直接上去就找那些比较难搞,然后搞到最后你会发现难搞的可能就好搞了,因为你其他的一些文件已经被你移除了, 所以说他的范围就在不断减小。这就是给大家分享,我们遇到就是实际工作中啊,或者我们实际搞代码中遇到的一些经验,都会总结下来分享给大家, 大家可以自由的去获取,然后去去观看啊。好,今天就分享到这里,感谢大家观看。

爱的尽头是什么?爱的尽头是恶语相向。撕破脸皮,诋毁谩骂,看清人性自私一面,抹杀之前所有付出与感情。山高路远,走到最后全凭良心。

熬夜调完最后一个单片机驱动屏幕终于亮。多年前的单片机时光让我明白,控制硬件虽妙,但天花板触手可及。转向 linux 后,视野开阔了,却发现自己仍在中间层厮杀。技术更新如潮水, 稍慢一步就被淹没。直到八年前,我铆定了安卓系统。这里没有前端的瞬息万变,没有应用的业务缠身。从 hair 到 vivo, 从驱动优化到系统定制, 每一行代码都深扎进系统的根基。八年来,我见证过无数风口起落,但手机、汽车、互联网等智能设备的心脏,始终需要懂系统的人来雕琢。安卓系统的开发,是程序员对抗三十五岁危机的护城河。他要求深厚的知识沉淀, 内置驱动、 c 加加、系统架构,这些基石技术迭代缓慢却历久弥新。他创造稀缺价值,能打通软硬件、解决底层难题的人永远是少数。他提供长期视野、系统优化、架构设计的能力,随时间增值而非损耗。八年深耕,让我从 执行者成长为系统问题的终生乏味。如果你也厌倦了表面的轮子,渴望在技术的深层扎根,这里仍是南海。真正的安全感,来自于别人无法轻易复制的能力。深度好了,关注华叔,带你勇闯安卓系统层开发!

失业重启之单片机这个作品折磨了我很久,从一开始的无从下手到查资料,认识每个模块,学会驱动电机,最后到实现一整个完整的功能,我从自信到挫败,我从耐心到崩溃,然后又重新学,重新写代码,重新实现功能,让我明白了, 我其实没有想象的那么聪明,单片机也没有我想象中的那么简单,我很执着,所以容易被一个简单的引脚重复定义的问题困住四个小时,挫败感是肯定有的, 不过还好我没放弃,虽然几次想把它砸了。还有一点就是,虽然有些学习是需要重复的,但是有些是不需要,如果第一次学的时候没学透或者没梳理好,后面就会花更多的时间去学习重复的东西。 其实这样一点都不好,因为重复学习的时候,内心会觉得自己已经学过了,然后就不去认真学,导致学习质量超级低。不管怎样,我希望接下来要好好定期梳理自己的知识,当做是在复习也是非常有用的。

好的,各位,最终章来喽,也就是这期的目的就是给大家展现一下如果你按照主播一步一步教学做下来,最后的成品会是怎么样子的。对, 然后虽然主播是帮别人做毕业设计的,但是其实我更希望能同学们时间如果是三到四个月时间比较充足的话,也是我很建议你们进行一个基础的学习,然后做出自己的设计,这样其实是最好的。 嗯,然后其实这玩意成本是很低的,主要贵就是学习成本和人工成本,主播这一套下来,其实他总共材料成本才六十块钱到八十块钱,主要是贵在人工费和学习时间。 嗯,好,当然主播这期做完了,自己拿的也没什么用,所以就按照成本价,新年大红包直接拍卖给大家, 就按照八十八块钱好吗?八十八超级无敌优惠价,然后挂在评论区,然后大家可以进行一个评论区拍卖的方式。嗯,每次加价五块钱,然后 到春节收价的时候,价高者得,我会把完整的原理图资料,然后一起打包发给你。嗯,大概就这么多。最后提前预祝大家新春快乐,平安顺遂! 好的, ok, 依旧是经典的佳丽创,其实这就是本期的主要 pcb, 其实很简单,就是两个主控,一个这个,一个这个,剩下就是一些模块。喏,还有一个小屏幕,给大家看一下三 d 图,可能比较明显一点。 喏,这是三 d 图。最后呢,这个家里创,打板其实是免费的,相当于零元,主要就是一些小游戏件,你自己买就行,你看一下我打的板子,我的板子在呦这里。嘟嘟嘟,这个 是不是长得一模一样啊?颜色不一样,主播比较喜欢绿色的喏,其实主播还打了两块一块这个,还有一块这个 喏,然后是三块,为什么是三块呢?这是主播自己的原创设计,非常的精妙,给大家看一下。嘟嘟嘟嘟, 嘿嘿,看到没有,是不是瞬间就上档次的?这里可以用螺丝然后把风扇锁住,这里的话呢,可以固定这个继电器,后面呢,其他可以按电池。喏, 接下来掏出我的祖传老电池,直接上电。嘟嘟嘟嘟嘟嘟嘟嘟嘟, mobo 哦,自新上电好吗?这开关往上面一推,咚咚咚,启动成功。嗯,接下来的话就是一些商位机啊,控制域值这些 都在上期供你介绍。嗯,大概这么多。各位,此设备只需八十八新年发发发,评论区拍卖,直接 成本价给大家。好,各位,最终章结束了,下期如果各位想要什么设计的话,也可以跟我说,我可以出一期各位需要的教学,拜拜各位,下一期再见。

啊,我的项目是开关柜底盘这控制器,这个我的这个设备他需要跟别的工业设备所连接,所以说就是需要用到二四八五,他就会涉及到一些配置,比如说波特率,还有这个冲击的位号。 那现在我们打开这个软件看一下设置,现在我设置的是这个,就是他主站要连接,从站的 id 是 三号,然后现在我们点这么点连接,可以看到这块显示的是超时,然后现在来看配置 啊,在配置这边总共是有四个可以选择,上面两个是跟服务器有关的,分别是 ip 和端口,下边是四八五的波特率,还有从机的位号,可以看到我这个设备从从机的位号是六号,但是我现在主战要连接的是三号,我们给他改成 三好,这时候看软件它这块就已经是连接成功了,已经连接成功了,然后这个时候我们展示它这个掉电部队数据 开机,这开机的过程就是在联网的过程,它会通过上面这个四 g 的 模块连接到服务器上,当进入条走到尽头的时候, 这块会显示啊已经就是服务器会收到条消息,代表着连接成功。这个时候我们再来试一下这个软件 啊,可以看到这边并没有任何的报错。再来看配置啊三号。

这是你大学单片机老师,他手把手带你用面包板搭建硬件写代码,这是你的开源项目老师从智能小车到 s t m 三的手表,再到智能捉虫,他们都分享了从零到一的完整教程。这是你的大学树木店老师 是工科生的期末救星。这是你的心理委员兼大学英语老师,在你学不下去内耗的时候,就去听他吧。这是你的大学导员, 从讲解你的专业出路到详细的就业规划细节,这是你的学习必备。 bgm 老师用白噪音和钢琴声带你进入新流状态,效率翻倍。最后是你的少走弯路,必备博主自律分享踩过的坑,陪你从新手一路成长!

一颗只要十元的芯片,正在干掉几百块的功能模块,比如 esp、 三二 stm 三二 rp、 二零四零这种通用芯片。同时你还能用它做自动化控制、智能家居、无线通信甚至人脸识别。你买的很多高端模块,其实只是被包装过的单片机方案。 这本电子设计与单片机应用一百例,为你提供了一条掌握单片机开发的清晰路径。它不讲枯燥难懂的理论,而是直接带你动手,用一百个由浅入深的案例帮你搭建起完整的知识体系。从基础的元气键认识开始,一步步带你学会传感器数据采集与处理,驱动各种执行机构,最后实现完整的人机交互与智能系统。 每个案例都附赠电路仿真文件和完整原码,就像有位经验丰富的工程师坐在旁边陪你调试,教会你如何思考和如何解决问题。这本书不只是一本教程,更是你工作台上随时可查的灵感手册和实战伙伴。不管你是电子爱好者、 学生,还是想提升动手能力的工程师,他都能帮你把天马行空的创意,一步步变成看得见摸得着,真正能用的电子作品,强烈推荐给你!

新概念五幺单片机 c 语言教程,他不讲空泛的理论,而是带你从焊接第一个电路开始,手把手闯关。你会先掌握让数码管发光、让按键听话的基本功,然后进阶到设计温度系统、设计时钟等真实项目。 更厉害的是,他连怎么画电路板、选元系键都教给你,最后带你触摸前沿,玩转互联网和智能电机控制。本质上,他是一位硬核工程师的完整成长路线图。如果你厌倦了只看代码,渴望亲手造出会呼吸的电子作品, 这本书就是为你准备的。从点亮一个小灯到搭建自己的智能系统,你的创造之旅可以从这里真正开始。

你发现了吗?没有人喜欢自己的工作,当骗机的都想转切肉生意, news 说他工资高,他又说工资不如纯软件的,他说 ai 来的,我都要被淘汰了。我真羡慕你的工作稳定。 最后大家一起羡慕做销售的,吹吹牛逼就赚到钱了。其他行业的干了几年又想转进来做技术,困在了围城里。市场像个大西瓜,从哪里切都可以,难度有差异。从这里切确实难度大,这里切就简单,要切到底才有用。 不可以从这里切一点,再从这里切,这样永远切不完。应该横向的去晋升。公司小,公司大,做单片机的主管会比做切入四零六十的主管更容易。他的工资比他高,每个岗位有自己的机会和路线,不要只看工资,工资只是收入的其中一种。