粉丝1.7万获赞8.8万

有网友评论说,啥时候 stc 单片机能和 stm 三二单片机能抗衡就好了。这个想法我特别理解。很多朋友都对国产芯片有这样的期待, stc 作为国内非常经典的五幺单片机,在入门学习和简单控制领域确实很受欢迎,价格又实在,上手也容易。而 stm 三二呢,性能强,生态成熟,在公共互联网这些复杂场景里用的也很多。 要是让 stc 直接和 stm 三二全面比拼,性能和生态确实差距太大了。现在很多国产的芯片品牌啊,比如中微的造物创新、华大等等,已经做出了性能接近甚至超过 stm 三二的产品,而且在价格跟本地服务上更有优势, 在很多项目里已经可以替代进口芯片了。所以我觉得国产芯片的未来不是一个打十个,而是各走各的优势赛道,这样我们可选的国产芯片越来越多, 自主可控的路也会越走越宽。对工程师来说,多接触不同类型其实是好事,毕竟手里有牌,心里不慌。

一口气带你认识电子工程领域的入门基石,五一单片机,他堪称嵌入式世界的启蒙导师。若将嵌入式产业比作科创沃土,五一单片机便是人人必备的开山斧, 精准扣开电子世界的大门,更是电子制作与入门研发的核心枢纽。无数电子爱好者的创意雏形、 学生课程设计及简易智能设备原型,都离不开它的支撑。追溯起源,早期电子控制依赖复杂笨重的分立原件,调试繁琐且稳定性差。直到二十世纪八十年代初, 英特尔推出 mcs 五十一系列单片机,首次将 cpu、 存储器、 i o 接口等核心功能集成于单块芯片,开启单片控制新时代, 让电子控制从复杂系统简化为一块芯片。搞定指甲盖大小的原件,即可实现灯光闪烁、电机转动、数据采集等基础功能。即便侵入式技术飞速迭代,五一单片机仍是全球电子入门教育的标配。其架构简洁清晰, 核心指令集仅一百一十一条,硬件资源布局规整, i o 口控制、定时器中断、串口通信等功能模块通俗易懂,既保留电子控制核心逻辑,又大幅降低入门门槛,零基础新手也能快速上手,实现简单控制功能。 从实验室研发到成为中小学电子课创课项目入门竞赛的常客,五一单片机早已超越普通电子原件, 成为嵌入式入门教育的不朽经典。他以简洁架构与稳定性能,承载着无数电子爱好者的科创初心,见证了一代又一代工程师的成长至今。

单片机入门,先学五幺还是 stm 三二?五幺是一个系列芯片的统称,不是一家公司的, stm 三二是 st 公司的芯片。大部分企业其实既不用五幺,也不用 stm 三二。作为学习,我建议直接学 stm 三二。五幺是自行车, s t m。 三二是电动自行车,企业里用的其他芯片是摩托车。有自行车的基础确实好学电动自行车,但没基础也能学。人的精力和耐心都是有限的,一鼓作气,再而衰,三而竭。学了半年五幺,结果用不上,你不气馁吗? 为什么很多建议先学五幺一,老前辈从五幺学过来的,甚至还学了会编。但时代变了,你吃白米饭也不用了解大米是怎么种的, 抓重点,那些属于课外知识,以后有兴趣再去了解。二,他们可以再多卖一块五幺开发板,能赚 s t m。 三二开发板一样的钱,教学还简单,性价比极高,谁会对钱说不呢? 三,不是所有老师都有能力从 s t m。 三二开始教学,但最好的资料一定能让你直接入门。最后分享一个学习方法,熟悉一座城市最快的方法是去迷路,保持耐心,走着走着就熟悉了。

esp 三二一颗仅售十几块钱的芯片,自带 wifi 和蓝牙,被创客圈分为神器。然而奇怪的是,许多资深工程师在高可信项目中,宁可花几倍价格用 stm 三二搭配昂贵的外置网络模块, 这背后究竟有什么不为人知的秘密?今天我们深入剖析 esp 三二的核心矛盾,极高的性价比与开发便捷性,对抗工业级稳定性与功耗焦虑。 首先认识 esp 三二,它搭载 stanza 双核处理器,主频高达二百四十兆赫兹,性能相当强劲。最大亮点是内置 wifi 和蓝牙,支持八百零二点一一、 bgn 协议和蓝牙四点二。这意味着无需外接任何无线模块就能实现联网功能, 外设接口也非常丰富,三十四个 gpi o, 多达十八通道的十二位 a d c 二路 d a c 多组 sp i i 二 c u r 的 接口,满足绝大多数应用需求。 关键是价格,单片仅需十到二十元。相比之下,同性能的 stm 三二加网络模块要贵好几倍。 esp 三二有两种主流开发方式,第一种是 arduino ide, 代码极其简洁,看这段 wifi 连接代码,引入 wifi 库,调用逼定方法传入账号密码,循环等待连接成功,短短几行就搞定。这种傻瓜式开发,让零基础的人也能快速上手。 第二种是 esp idf 乐星官方提供的专业开发框架,代码量明显增加,需要初步化 wifi 驱动,设置工作模式,配置连接参数,最后启动 wifi, 虽然复杂,但能精确控制底层行为。 这里有个关键问题, esp 三二的 wifi 和蓝牙共用同一个射频模块,在高富在网络通信时可能会干扰其他实时任务, 比如你正在做精准的电机持续控制,每一百微秒需要更新一次 pwm 占空比。此时,如果 wifi 正在发送大量数据,系统可能因为处理网络中断而错过电机控制的时间窗口,这在工业应用中是致命的。 来看一个实际项目,低功耗无线互联网网关系统架构是这样的,多个传感器节点采集温、湿度等数据,通过无线方式发送给 esp 三二网关,网关汇总数据后,通过 m q t t 协议上传到云端服务器。 这是 m q t t 发布的核心代码,定义一个发布函数,接收温度和湿度参数,用 spring 格式化成 j s o n 字母串,然后调用 client publish 发送到指定主题代码看起来很简单对吧? 但魔鬼藏在细节里,每次 wifi 发射数据都会产生巨大的顺带电流,如果电源设计不当,各种诡异问题就来了。这是 esp 三二在 wifi 发射时的典型电流波形, 待机时电流仅二十到五十毫安,但在发射瞬间,电流会飙升到三百甚至五百毫安,这个峰值可能只持续几毫秒,却足以让电源设计翻车。 第一个问题, ldo 功率不足,很多开发版用的是小风装 ldo 最大输出电流只有二百毫安,根本扛不住峰值。 后果是什么?轻则数据发送失败, wifi 频繁断联,重则芯片直接复位重启,也就是开发者常说的玄学死机。 解决方案有四点,第一,选用输出能力大于五百毫安的 l d o。 第二,在电源输入端增加一百微法以上的大容量旁路电容。第三,优化 p c b 布局,电源走线要宽要短。第四,在软件层面限制最大发射功率。 最后抛出一个引战话题,用 rdoinno 写 esp 三二的人算不算真正的侵入式工程师?有人认为 esp 隐藏了太多底层细节,用它开发的人不理解硬件本质。也有人觉得工具只是手段,能快速实现功能才是目的。 另一个争议点,性价比高真的能掩盖 esp 三二的所有缺点吗?我的观点是, esp 三二非常适合快速原型开发以及对成本极度敏感的消费类产品。 但在强实时性、高可信的工业场景,比如医疗设备、工业控制、车载系统,需要更谨慎的评估,可能 s t m 三二这类传统 m c u 搭配独立网络模块是更稳妥的选择 工具没有绝对的好坏之分,关键是深入理解它的特性,扬长避短,用在合适的场景,这才是工程师应有的态度。

学单片机切入式,千万别盲目自学,很多人学完五幺 stm 三二就只会基础点灯,想做实战项目却找不到优质的资源,学习路线混乱还白白浪费时间。我给你们分享两个找实战项目的好地方,一个是力创开源平台,里面有超多五幺三二机器人相关的实战开源项目,新手跟着练都能获得巨大的提。 二是吉他,国内全中文平台海量侵入式实战项目,不用啃英文也能轻松学。如果你还在迷茫缺项目不知道如何进阶的同学,可以看看我整理好的侵入式学习路线思维导图,带你避开自学弯路,快速上手!需要的同学留言六六六。

单片机就是小型计算机,是智能设备的核心,就像人的大脑通过简单的编程能控制外部设备,比如舵机、显示屏、马达去执行任务。在互联网项目实操中用的很多,如果你也想做项目,但不想自己写程序,可以直接加入我们。

单片机,为啥叫单片机?有没有双片机?没想过吧?把一台简易电脑的所有核心零件全塞到这个单独的一小块芯片里,所以叫单片机。我们平时用的这个电脑,嗯, cpu、 内存、接口这些它都是分开的零件,你拼起了它才能用。那单片机牛的地方在哪呢?它把计算用的 cpu 分 临时数据的 read, 只读存储器,入 存程序的 flash, 就 连外设的接口,既使用的定时器,这些全集成在一块硅片芯片上。一小块芯片,它就等于一台能干活的简易电脑,小巧又完整。变频机,它就是这么来的,它的这个大名叫微控制器 m c u。 那 有没有双片机呢?压根没这个东西, 没人这么叫啊,为啥它不会有呢?单片机它设计的初衷就是要小巧省钱,单芯片就能干活,你要是搞个双片机出来,你得两个芯片才能实现功能,既占地方又加成本, 又违背了单片机的核心用处,根本就没必要。但是我们平时会听到双芯这个词,都不是啥双片机。举个例子,你像 esp 三二, 它就是双核。单片剂是一块芯片里有两个计算核心,还是一块芯片,还是单片剂。还有一些设备当中是 s e 三二加 s e 三二,这两个芯片搭配着一起干活,搭伙干煨,那那个不叫双片剂,产品就是单纯的组合使用而已。

esp 三二会替代 stm 三十二成为主流,这是最近比较热的话题。 esp 三二的优势是集成了 wifi 蓝牙等功能,双核架构,性能更强,开发者上手更容易。它的优势主要是在开发 iot 设备这一块,而 stm 三二的优势在于低功耗高实时性 高精度外设,主要用于工业控制汽车电子电机驱动等领域。所以 esp 三二不会取代 stm 三二,它们俩将会是一个长期互补与共存的关系。

很多同学学完五幺单片机,一碰 stm, 三二就蒙了,感觉完全不是一个东西。其实这不是你的能力问题, 五幺单片机直接用计算器开发,代码少,方便理解。到了三二单片机,它计算器配置位数太多了,转用库函数进行开发, 刚开始上手比较难是正常的。比如点个灯,你需要先开启对应的时钟,配置、引脚、工作模式和速度,最后还要给一个通俗化。经常有同学某一步没配对,虽然代码没报错,但功能现象就是实现不出来,只 能挨个排查,过去要花费不少的时间。我花了一个月的时间整理好了单面级新手学习常见问题文档,里面记录了新手经常遇到的问题和对应的解决方法,需要的同学留言六六六。

上千块的一点五 g 赫兹 linux 开发版,对比几块钱的七十二兆 stm 三二单片机,谁更适合精确控制步进电机?答案出乎意料。 很多坐惯了单片机的朋友,第一次接触树莓派或全智开发板时,第一反应往往是这板子主屏这么高,拿来控制电机肯定更加丝滑,结果却被现实狠狠打脸,电机疯狂抖动,严重丢步,定位完全不准。这到底是为什么呢? 让我们从计算机底层架构说起。无论是 m c u 还是 m p u, 它们都遵循冯诺依曼架构,核心都是 cpu、 内存和输入输出设备。但关键区别在于, m p u 通常需要运行操作系统,而操作系统依赖一个叫做 m m u, 也就是内存管理单元的硬件。 m m u 的 作用是什么呢?它让多个程序可以同时运行,共享 cpu 的 时间片,这对于桌面应用来说非常棒。但在实时控制领域,这却是一场灾难,因为你的控制程序随时可能被操作系统打断。 在裸机或实时操作系统环境下,当外部中断发生时, cpu 会在那秒级别内响应。这种极强的确定性让你可以精确控制每一个脉冲的持续。 但在标准 linux 系统中,情况完全不同,操作系统采用时间片轮转调度策略,你的控制代码可能随时被其他进程抢占。 更糟糕的是,这种被打断的时间完全不可预测,可能是几微秒,也可能长达几十毫秒。对于需要精确持续的电机控制来说,这是致命的。 让我们看一个真实的工程案例,视觉分拣机械臂的步进电机控制。同样的控制算法代码在七十二兆赫兹的 stm 三二上运行时,输出的脉冲信号及其稳定,电机运转平顺丝滑。 但同样的代码,在主屏高达一点五级赫兹的 linux 系统上运行时,脉冲信号却出现了严重的抖动和延迟,这直接导致了电机丢布,定位不准,甚至剧烈震动。高主屏不但没帮上忙,反而因为操作系统的自作主张,彻底毁掉了整个工程。 所以下次当有人问你,主屏相差几十倍,为什么上千块的 linux 板子在控制电机上会被几块钱的单片机按在地上摩擦? 你就可以告诉他,在实时控制领域,确定性远比速度更重要,这就是 mcu 和 mpu 之间真正的分水岭。

搞电机控制该多学单面积 tm 三二还是 simlink 仿真?大家好,今天我们聊这样的一个话题啊,其实这个话题我觉得,嗯,这个假设是有点问题的,对吧?因为我们做单面电机控制的话,他学习的路径就是这样的啊, c 语言单面积 tm 三二基础 啊, simlink 仿真, foc 无刷电机,再做一些项目,对吧?有时间的话你再学一些硬件的知识啊。是这样的,所以说这两个是不冲突的 啊,那看你所出的阶段,大部分同学呢,是已经学了 c 语言 s t m 三二基础,这时候你重点就要学习这个 simlink 仿真了。这个,呃, my live simlink 仿真,这个非常重要,对吧?因为现在我们做开发的话,通常都是 mdb 模式。什么是 mdb 模式呢?就是 啊,方法,它其实就是在 simlink 仿真之后直接就生成了可以运行的代码啊,那么已经成为电机控制主流的开发模式,特别是电机汽汽车的主啊,这个驱动开发、 mcu 开发等等,是吧?它的模式其实就是 啊,需求建模建成。呃,这个仿真模型之后直接生成了 c 语言的代码是吧?呃,直接可以在 s t m 三二里跑啊,这样效果效率代码啊,是最好的,对吧?最快的开挖啊,速率是最快的, 那所以它两者没有一个绝对的顺序吧。有人回答说说的意见是,学会使用 my lab c 密克仿真,掌握 c 语言的嵌有式,让它使用实现控制算法啊,并通过项目来锻炼啊。这个和我们刚才讲的是一样的啊,讲的是一样的。 好,那其他的我就不多介绍了哦,就是顺序的话,就按照我刚才讲这个顺序来学习是比较好的,当然我们也可以看看 这个自学指南上是怎么讲的,如果你要是看这个我们的自学指南的话,你就按照我刚才这样学,先学习语言, 呃,再学,呃,单面积开发,再学,呃, my lab 仿真、 foc 啊,买个电机做一些实验就可以了,如果你还有时间的话,你就学一下啊, pcb 软件、硬件电路这些内容 啊这些内容。好,那我们再看看它这个岗位增长率呢,肯定还是非常不错的啊,因为现在这个电机呢,现在应用也非常广泛, 核心技能 my lab 仿真、 simpling 仿真是一个重点啊,当然很多同学在学习的时候可能这个控制理论啊,看不太懂,比如说 f o c 啊, 嗯,等等,我这个永磁同步电机的控制理论呢,是吧?啊?坐标变化呀,看不太懂。这个没有关系啊,这个之后我们再聊这样的一个话题,好吧,好,谢谢大家。

很多同学入门单片机,是不是看视频学一看就会,真要自己独立做项目就没思路,完全不知道从哪下手。其实不是你学的差,只是没掌握实战技巧。做单片机项目不用死磕复杂理论,五幺也好,三二也罢,新跑通官方提供的 demo, 把项目拆成 led 换口传感器这类独立小模块,逐个调试成功后再整合就行。常用外设就那几种,吃透一个就能举一反三,代码也不用写的花哨,谨记好移植,方便后续修改,拓展才是关键。我整理了单片机入门避坑指南和实战模板,按照里面的学习路线走,能让你的单片机学起来事半功倍。有需要的同学留言六六六。

为什么都已经学完, itm 三二还是找不到工作?哦,很多同学都是这样的,我们跟着教程把 itm 三二学完之后,其实你现在是什么水平?是灯能点亮按键这个地方会做,窗口也通了, 那为什么找不到工作?问题出在哪?其实不是说我们不努力,我们不坚持,关键是你学的深度不够,没有达到企业的一个用人的标准。 现在市面上 itm 三二的教程特别多,每天有上百个人跟你一样, 可能大家看的都是类似的教程,用的类似的板子,做的类似的实验,大家都一样,没有任何的区分度。那企业为什么要你呢?我说的再直接一点,稍微泼点冷水。学完这个教程之后,他其实就是一个入门的水平。很多小白觉得,我跟着江科大的整套教程我都学完了,我独立做了流水灯,独立做了呼吸灯, 我的 led 也有显示,觉得自己还可以了啊,比刚学那会厉害多了。但问题是什么呀?那小白入门第一步,他就是干这些事,我们顶多说拿到了一块敲门砖,离将来独立的干活, 承接企业级的研发任务还差挺远的。那小伙伴说,我要求不高,我就这样找工作,能找到吗?说实话,能, 但是这个岗位和薪资可能会有点落差,基本上岗位来说就是一些很小的一些公司,可能就十几个人,二十来个人做一些助理岗,特别初级的这种工程师产品的类似于什么智能插座、小家电控制基础的项目,没有太大的含金量,那 公司自然也上不去,也就五六千块钱。你说如果你在这样的公司做这样的产品,你即使你干上他三年,那三年之后也没有太大的成长。 如果说咱们想进一些中型一点的企业,拿更高一点的薪资,当然你就会发现学的这点技术还达不到要求,我们只能做一些最最基础的传感器的控制。如果在实际项目当中遇到了一些工作当中的问题,你原来掉的都是现成的苦,都是跟着网上的教程跑的历程, 你有这种举一反三能力吗?你有这种解决八哥的能力吗?很多同学是没有的,简历当中好像也没有项目,对不对?简历当中都是一些小案例,这个写到简历当中都不叫项目。所以你现在离企业要求的技能还差三点。第一点,企业要的不是说能做出现象来, 他是让你懂原理,会排错,能解决实际问题。那跟着教程学的时候,老师教你配 spi, fnc a d c, 你 是招人的,代码做了,灯也亮了,传感器的值也读出来了, 觉得自己就会了。其实面试的时候,面试官他不问这个,他不问你点过灯吗?他问你怎么配 spi, 如果 spi 的 始终相位配错了,传感器的数据是乱的, 怎么排查?就感觉完全不按剧本走,跟学的不一样。 g p l 的 退款和开喽,如何选择串口通信要加 c r c 教验 怎么实现?所以这些问题在教程当中他很少会去讲,因为对于小白来说,讲那个学生就陷到细节里去了,他一定是先做出现象来再说。但是我们实际在工作当中,管子配套的历程都是现成的,直接给,那你的价值在哪?不就是解决问题吗?企业招的人不是说照猫画虎能跑历程,抄代码的人, 他找的是将来能够解决实际研发问题的人,你得知道为什么这么配置,而不只是说看到一个现象。你像我们做每一个实验的时候,都会先有一句代码把时钟使能,这个是什么?什么逻辑?你要不知道背后的逻辑, 你今天记得写,明天可能就忘记写。第二,企业现在要的他不是一个单任务操作,他希望我们学生有一种系统级的思维。你有没有发现,这个教程当中他所有的案例都是固定的一个顺序在执行, 先点个灯,然后再通过串口器发送,然后点个按键,然后屏幕再显示一下,全是这样一套模板,一步一步来,还蛮简单,也很顺利。但是你到真实的产品当中,单面机他不可能只做一件事情, 他比如说我要做一个智能手环,他肯定是很复杂的一种场景,哎,我要采集心率,采集你的步数, 显示时间,接受蓝牙的指令,还要测一下电池电量,这一堆事情他同时在进行,互相还不能影响,还不能卡顿, 那这个时候怎么办?你就要去学 rs, 很多小伙伴学这个教程的时候,其实几百级看下来就学了大半年了,你有没有意识到你学的是裸机,那对于这个 rs, 他 就教会你怎么样合理的分配资源,管理这些任务,怎么样去创建任务,任务之间的优先级,怎么去通信? 如果我们想进一些稍微中型或大型一点的企业,这是必备技能,如果没有面试机会都不会有的。不懂 i t o s 薪资是不可能过万的,只懂裸机也就六七千块钱。除此之外,如果你想有更多的面试机会,更高的薪资,你将来的时候还要懂一点硬件知识。啥叫硬件知识? 这个板你买的新成的对不对?他是怎么画出来的?能不能看懂他的原理图,能不能拿一个电路设计的工具,自己模仿着抄一个板出来都可以,如果有这种能力,找工作就是假分享。三、企业需要的人不是说做了很多很小的单点实验,他希望你有一个完整的项目经验, 你有完整的这种项目思维。所以面试的时候,你你如果说我啪啪啪点灯,按键,风扇,什么温度,一堆几十个小实验,你还不如说我做过一个完整的项目,十几个实验只能证明你很努力,你照着历程抄了很多代码。 如果你做一个完整的项目,你比如说你想一想智能小车,蓝牙温度机,语音小助手,什么智能小狗都可以带 ai 特征的, ai 的 一些项目, ai 捉虫,这样你就把前面的那些,嗯, gpl, 串口、中断按键, fcspi 等等全都学了, 而且所有的知识点,你在一个场景当中融汇贯通了。嗯,在做项目的时候,你一定解决了各种各样的 bug, 比如说通信不稳定, 比如说你的小狗的他的姿态不稳定,不平衡,或者说传感器的数据不准确,解决这些问题的过程,那才是面试官真正看中的。那我们怎么去补齐这个差距?第一个啊,不要一直依赖,还有库,我知道你用的很爽,爽,不要一直依赖他,要补一下底层的原理。 很多小白他用这个还有库的时候,因为封装的很好,直接掉落成现成的函数,用久了之后就觉得不就这么写吗?流程化的,甚至你自己慢慢都开始复制粘贴。 你要知道你如果不拿出一周的时间,详细跟一下这些函数内部的一层一层的调用关系,跟继存器的配套关系,跟手册的对应关系,那将来换一个版子,没有还有库,你可能就不会搞了。想类似于时钟怎么配, 中南优先级怎么分组,为什么我们在操作任何一个外设之前,都要想办法使能时钟?这种核心的问题你梳理出来之后,换了硬件,换了平台, 你才能够保证你的快速的知识的迁移能力。第二点,你要逼着自己去做一个完整的项目。比如说我这两周我是学五个接口,做五个小实验,还是我做一个完整的项目,把这些接口和实验穿起来,在场景当中去用,我一定选择做一个完整的项目, 而不是无脑的,很勤劳的找一些开源的项目,比如说智能手表、蓝牙音箱、语音小助手, 什么桌面小狗等等,这些项目它特别适合小白。如果这个教程文档源码等等能够详细,你一定能复刻出来。 在这个过程当中体会到了需求的分析,基建的选型,架构的设计,从硬件到软件一直到调通,整个流程跑通, 你就会有非常硬核的项目体现在简历上。面试的时候把这些食物带过去,当场演示一下,比我说比单纯的口述要管用多了。第三点就是要对着招聘需求去学, 不要做无用功。什么意思?我们学习的时候一定要简单高效,直接去招聘网站上直接搜 atm, 三二开发, 直接搜嵌固式开发、单片级开发、电子工程师这些岗位。搜完之后,上面写了 r to s, 你 肯定要学 r to s, 上面说了,你要了解电路设计,那你要有这种电路设计的一些经验,那你就要搞一个相关的项目。说了 iphone c s p i 串口, 那你就要去研究 f c s p i 窗口。所以这样的方式,暗图所见,缺什么补什么,比你盲目的刷教程,为了学而学,效果好太多了,效率也会高很多。关键是这样学的知识就是企业需要的,少走很多弯路。最后给大家讲一些心里话,就是学完 itm 三二找不到工作, 我觉得我们挺冤的,真的不是我们不努力,是因为我们做了太多的这种浮于表面的一些功夫,没有真正达到企业的要求,教程只是给了你工具方向, 但是真正的能力靠教程,靠模仿,靠抄代码,抄的来吗?抄不来的,你必须得沉下心来想原理, 沉下心来做项目,这样你前边学的教程的东西,才能真正地转变成自己的能力。你否则把教程一关忘记了,即使你记得跟你一样的水平,都成千上万人, offer 凭什么发给你?

上个视频给大家分享了如何准备蓝桥杯的单片机组,今天来给大家讲一讲嵌泳式组应该怎么学。另外我给大家整理了一份单片机学习资料包,包括单片机学习路线、 stm 三二硬核实战项目、 stm 三二单片机嵌泳式系统原理笔记等。 需要的同学呢,直接六六六免费分享。蓝桥杯嵌泳式组呢,不考偏题怪题,也不要求你有多深的底层研发能力,只要你肯沉下心,踏实学,动手练,仔细琢磨,好好备赛,普通人呢,也完全有机会拿到国赛的资格。第一, 掌握核心硬件。首先,比赛主控芯片你必须要死记,篮球杯的专用开发版呢,主控就是 stm 三二 f 幺零三 rbt 六 st 公司出品的 arm cortex m 三架构的。这里划重点,它最高主频呢,是七十二兆赫 兹。考试的这些客观题,实操配置都要用到,必须刻进脑子里。很多学校教的都是五幺单片机,它是入门的基础,但是备战篮球杯比在五幺上耗太久的时间,尽量转到 arm 架构的 stm 三二,这才是捷径。等你熟练之后你就会发现, stm 三二呢,用 cube max 进行配置比五幺呢简单多了, 功能呢,还要强好几倍。再说开发版常用的资源,只学这几样就够了。显示屏就一块 lcd 屏,交互类就是四个独立按键,一个蜂鸣器,八个 led 灯。存储和采集呢,就抓 a t 二四 c 零二和定位器,像什么读卡器 r s 二三二接口,比赛从来用不上。把这几样吃透呢,你就稳了一大半。 二、打牢基础再动手正式备赛,别一上来就写代码,先花两到三天把基础概念搞懂,不用深挖,直接去看正点样子的 stm 三二免费教程,搞懂三个核心的问题就行。什么是 arm, 什么是 complex m 三,什么是 stm 三二?非重点内容呢,直接快进跳过,把基础概念捋顺,后面的学习实操一点就通。第三,搭建环境要避坑,这一步是重中之重,搭不好环境直接影响整场考试。首先,软件版本区分清楚,比赛官方用的是 mdk 四,咱们平时练习用的是 mdk 五, 操作逻辑几乎都是一样的,但是 mdk 五有代码提示,但千万不要依赖这个考场的 mdk 四呢,没有这个功能,平时练习的时候尽量手动写代码,别靠自动补全。 另外你记住,写五幺呢,用 q c 五幺,写 s t m 三二呢用 q arm, 也就是 m d k 两款呢,内核不同,不能够混用。安装步骤呢给你们捋好,少走一些弯路。第一步,安装之前把电脑里旧的五幺版本 q 彻底卸载载干净。 第二,用整合包,按一二三四的这些顺序安装,四个安装包的路径呢,必须完全一致,建议你统一装在地盘里边。第四,一定要破解两次,分别破解 m d k 杠 arm 和 p k 五幺,拿到两个系列号, 破解完一款软件呢,就能够兼容五幺和 stm 三二编程了。第四,选对学习方法, c 语言基础,重点抓这四块,未晕算指真结构体还有共用体 未晕算呢,直接操作计算器控制 led 按键呢,比库函数要快太多了,指真全程都要用数据传递,与外设配置离不开 多用红点 e 未研码能够呢,大幅简化代码,节省考场时间。 s、 c、 m 三二学习呢,一定要动手,先选 s c m 三二 q max 工具搭配呢。还有固定型教程,把 g、 p、 l 定时器、 adc、 中段、 dma 这几个核心模块学透,全覆盖比赛考点。 学完一个模块要立即实操。学定时器呢,要做呼吸灯,学 a、 d、 c 呢,要做电压采集,不实操上考场连工程都建不出来。进阶可以学习状态机,非堵塞延时信号量,详细的简单理解。客观性呢,可能会考到。备赛方法有两点,限时刷题加模块化备战, 省赛时长呢,四个半小时,平时训练必须严格计时,拆分好时间。一个小时新建工程加外事出实化,二点五个小时写核心逻辑代码, 剩下的一个小时调试优化。剩下的时间呢,做客观题加提交文件。每次训练的时候,重新创建工程,重写驱动,别复制旧代码,自己整理专属模块化代码库按键, l、 c、 d、 f、 c 这些功能封装好 考场的时候呢就调用,节省了你自己的大把时间。建议组队进行备赛,互相讨论,互相监督,进步速度的快得多。其实备赛没有那么多复杂,把环境打好,把核心练熟,少踩坑,成绩自然就上来了。

大家好,下面给大家演示一下贪吃蛇游戏机。首先呢我们看下电路板上面这个的话是接我们这个点阵显示屏,有十八乘八的一个点阵,首先我们看下点阵显示屏这边会显示有数字的啊, 有显示字的话我们查查到这个单边机这边,然后这样子插入,然后接下来这个是五幺单边机,然后这个是五幺单边机下载口,我们从细的就通过这下载口下载到这个单边机里面,然后这是五幺单机一个副按键,然后后面这四个按键呢是一个功能按键进行上下左右控制, 然后旁边这个的话是一个电源接口,下面一个电开关,我们采用的是五 u s b 型供电。首先我们接上这个电源, 然后将开关向左拨进行打开,首先默认呢它是处在第一关,那我们这个总共是有八个关卡,每个关卡的我们需要吃到十七个果汁之后的话它就进入下一关,我们按一下这个方向键,上下左右这方向键任意一个的话进入, 进入开始你看开始现在他的蛇身他开始移动,总共每关的话需要吃到十八个,十八个果子就可以进入下一关。 然后我们如果蛇身我们舌头的话咬到舌尾的话,或者撞墙之后的话,呃游戏就失败,就重新回到第一关, 关卡越高的话,它这个蛇身的移动速度的话就越快,第一关的话它的速度会比较慢, 通过上下左右的话可以自由的进行控制这个蛇的移动。 我们现在已经快进入快过关了,这一关 过关之后的话现在进入第二关,他闪三下之后的话就进入正式开始, 主要就给大家演示到这里,现在,现在我刚没控制的话,他撞墙之后就重新回到第一关。

我们来看一下功能演示,呃,停车的数据有温湿度 p 二点五,还有甲醛控制的设备有一个小灯,还有我们的分频器。 呃,我们的系统会自动啊,自动现在是手动模式,我们可以用按键来控制我们的设备开灯,开分频器啊,我们现在切换成自动模式, 切换成自动模式,当我们的仓仓数超过八十的话,开启一个鼠标报警,现在温度是二十五,调到 b 二十五效和鼠标报警 啊。再看一下我们的手机 app, 可以 远程的进行进行控制,切换成手动模式,开灯,关灯, 然后这边也可以调节我们的发质,反正都是一一对应的,按键的话也可以调节我们的发质。按键三之间,按键四键,这个加全的值通过打火机将它放具体它那个值会变大, 一开始是三,现在变到十五了,然后看一下拼二点五,然后用东西把它打开口,它那个值会变大,反之就会减小。

这节课开始呢,我们正式学习五一单片机啊,我们先来看一下单片机的简介,第一个问题,我们要搞清楚什么是单片机。在解决这个问题之前,我们先要给大家讲讲我们的个人计算机啊,我们来想想, 对于一台能够工作的个人计算机,不管你是台式机也好,还是笔记本电脑也好,它能够正常工作,就像人一样,是有自己的一些核心器官的。 首先第一个呢是 cpu 啊,它其实就算就像是这个计算机的大脑,负负责运算和控制 啊,这是它的第一个核心的组成部分。那么已知相对应的还有一个什么?现在比较火叫 gpu 啊, gpu, 那 么 cpu 和 gpu, 我 们从计算角度来说, cpu 呢,你可以把它理解为一个计算性能很强的博士研究生啊,可以计算一些复杂的问题, 但是呢,这个 gpu 呢,它可以计算简单的问题。那如果说啊,我现在有一万个加减乘除,大家选哪个?很显然是 gpu 啊, gpu, 因为它可以完成并行计算,就相当于是我有一万个加减乘除的问题,我让一个博士生去做呢,还是让一万个小学生去做呢?很显然小学生去做这个问题,它会完成的更快, 对吧?那么现在我们这个深度学习啊,深度学习,以这个神经网络为代表的深度学习里面呢,有大量的矩阵运算,我们知道矩阵能怎么算?加减加减乘除,对吧?主要是主要是加和乘啊,加和乘除就是逆运算, 那么对于矩阵的运算来说,是不是有大量的这个简单的呃呃,运算,这个时候呢,我们使用 g gpu 啊,所以说我们做深度学习第一件事就是要 安装这个库达啊,对吧?这个地方讲的多了,我们不说那么多,我们就回到这个 cpu 啊,对于一个正常工作的电脑来说,它一定要有一个大脑,就像我们人一样,它呢是负责运算和控制啊,如果说你这个 c 语言学完之后,对这个 cpu, 你 应该是, 哎比较亲切的,对吧?我们讲了那么多的这个内存管理啊,内存管理其实都和 cpu 是 密切相关的,还有它里面的这这些寄存器啊,好,讲了这么多,如果你理解不了,你就记住一件事, cpu 呢,它就是负责运算和控制,类似于人的大脑啊,类似于人的大脑。 好,那么讲到这儿呢,我们还是想给大家叮嘱一下啊,就是说如果你希望你的学习能力呈指数级的上升,对吧?现在这个 ai 发展这么快,你希望哎你的能力呢?会越来,随着 ai 的 发展,在它的帮助下,这个水平越来越高,那么早期对于基础理论掌握是非常有必要的啊, 反正这个 ai 这个东西遇强则强,你的基础理论掌握的好,那么你用它能够发挥的价值就更大。那么讲到这里呢,我们要给大家提一门课,叫计算机组成原理啊,如果说你去学一下这个计算机组成原理这门课,那我敢说他对你后面学习单面积啊,以及一系列课程 的好处是非常大的啊。当然了,还有一些其他理论课,你比如说电路啊,摩电数电啊,这些我们就不说了,这都是作为硬件,你必须要学的好。那么随后我们接着往下看, 那你比如说我在程序,我要让他算一下,一加一等于二,然后呢我想用这个结果让他再乘三。那么大家来想,在程序运行过程中,是不是我会产生一些临时的数据啊?这个临时的数据,哎,由于后面的哎,后面的这个程序要使用到的他,所以说我要把他临时的存储下来,那么一般就存在什么地方 哎, ram 啊,它像像是一个临时笔记本,比如说我现在要临时存一下这个二,然后把它放在这里啊,放在这里程序运行时,数据就存在这里,然后下次呢我就在这个哎 ram 里这个临时笔记本里,把这个临时存储的纸拿出来,随后进行下一个步骤。 那么对于这个 r a m 来说,它里面存放的这个内容,只要你一断电,它就清空了啊,你比如说我现在 r a m 里放存了一个二,然后我现在一下给它断电,啪,就给把这个呃关掉啊,把这个电给断掉,然后你再打开计算机,你就会发现你这个二肯定就没有了啊,它是一个临时笔记本, 程序运行时,这个临时的数据呢就存在这里,一旦断电呢就会清空。好,那么下面一个呢是 r o m 啊,这个 r o m 呢,全称是只读存储器,上面是这个 a m 是 随机存取存储器,那么 r o m 它更像是一个永久的笔记本,用来 存放程序代码。那么大家来写想这样一个问题,你为机器写了一个代码啊,那么写好代码之后,你让机器去运行没问题,那你希你现在希望的是这个机器断完电之后,然后再打开, 你这个程序还能够正常执行,就是它还在里面,这个时候就意味着我是不是希望把这个程序给这个永久的保存下来,就长期的保存下来,只要我不去修改它,我希望它稳定的。哎,一直存在啊,每次开机之后,这个程序都不会丢失 啊,断点之后内容不会丢失,那么我们就把这样的内容啊,程序代码这样这样的这个数据放在 r o m 里, 所以说大家来看 ram 二 o m 它们最重要的区别就在于一个呢是哎,数据断裂丢失,一个呢,是断裂后不会丢失。那么从大小上来说啊,一般呢,它的 ram 呢,是比较相对来说是比较小的啊,只是说相对来说比较小,而这个 ram 呢是可以做的, 呃,空间是比较大的,以及速度。 ram 它的速度呢,是非常快的啊,这个读写的速度非常快。对于这个 r o m 来说啊, r o l o m 来说,它的速度相对来说较慢啊,相对来说较慢 好。于是呢,我们知道对于程序来说,它运行的一些中间,结果我们把它保留在 ram 里面,它的速度比较快,和 c p c p u 之间的互动呢,哎,肯定会更强一些,因为速度快嘛,对吧?能快速的完成计算。 那随后呢,这个程序本身啊,它其实就是由零一哎,一些零一组成的,这这个这些数据啊,也是要保存下来,那保存在什么地方呢?我们希望它长期地保存下去,那么一般来说,我们就放在这个 r o m 里啊, r o m 里, 那除此之外呢,计算机还有什么?还有输入输出接口啊,就像是计算机的手脚和外部设备通信,你比如说我们有按键,有 led 灯,有传感器,那么就说得更直白一些,我们电脑上是不是有一些蓝牙设备啊,鼠标啊,键盘啊,麦克风啊,这个摄像头等等。 那么对于这些外部设备呢,就是通过输入输出接口和计算机连接在一起的,连接在一起的 那只不过平时我们这个个人电脑里啊,个人电脑,比如说你的笔记本电脑呀,也好,或者是台式电脑这些啊,组成部分,或者说说的具体一些这些器官呢,其实它们是分开装在好几块芯片上啊,好几块新款芯片上,你就说这个 cpu, 它其实不大啊,它其实不大,大概呢就就这么一块啊,就这么一块, 那么他们分别装在不同的芯片上,然后呢一起拼到一块主板上啊,如果说你这个,你喜欢这个,自己 diy 这个装电脑,那这些东西不会陌生啊,不会陌生,那对于我们单片机来说, 哎,他其实也是有类似的一些器官的,只不过他这些器官呢,哎,这些器官呢,是直接集成到一块小小的集成电路芯片里面。就说对于单片机来说,哎,这样一块小小的这个集成电路芯片里面有各种各样的器官,哎,你比如说用来计算的,用来存储的,用来输入输出的啊, 因此呢,我们把单片机也称作微控制器啊,简称呢就是 mcu 啊,这 mcu 其实就是微控制器啊,微控制器的一个,呃,英文缩写 好,那么关于单片机啊,它到底有哪些组成部分,我们之后再给大家说,总而言之,你要明白,单片机和我们这个正常的这个计算机,它们有相似之处,但是区别在于,对于计算机来说啊,它们这些核心的组成部件呢,是各有各的, 各有各的这个相关的芯片,然后呢最后呢集中装在一块主板上啊,一块主板上,而我们这个单片机,他的这个核心器官呢?啊,核心器官呢是集成到一块小小的集成电路芯片里面,这个大家买买了这个开发板啊,中间这个黑色的那一块,其实呢就是,呃, 单面机啊,对应的这个集成电路的芯片,他被封装在一个壳子里,然后外面伸出一些,哎,一些引角,两排左右各二十个 啊,那么大家来想,你就说这么点的一个东西,然后要实现很多功能,计算、存储,你说它的性能能超过我们的计算机吗?很显然是不能的,那百分之百是不行的,对吧?啊,所以说它也叫微控制器,相对于我们这个计算机来说,它就只能完成一些,哎,简单的工作。 好,我们来看,对于单片机来说,一般来说大家它的体积不大啊,大家买了这个开发板,你看你中间其实呢就有这样一块,哎,这个芯片啊,这个外壳里面其实是有复杂的集成电路的,然后这个集成电路 向外引出一些引角,这左边啊是二十个,右边是二十个,一共是四十个,常见的就是四十个引角,这是它的一个封装形式,还有一个型号呢啊,这个单片机,五一单片机,它有不同的型号,它封装的时候封装成一个类似于正方形的哎,在四周给你伸出 哎,引角,我们当前的这个封装型的是这种矩形啊,这种矩形的,然后呢,左右两侧哎,各二十个引角啊,只是他的这个封装的形式不一样啊,封装的形式不一样,但不管哪种情况,哪种哪种情况,哪种封装形式里面的集中电路, 哎,是不需要你理解的。对,在前期来说啊,在前期来说是不需要你理解的,你只要知道这些引脚它的作用是什么就行了。那么对于这些引脚,其实呢,就是外壳上伸出来那些金属的小爪子啊,这些小爪子是芯片啊,这个集成电路里面,这个集成电路与外部电路连接的物理接口啊, 那么也就说对于单面机来说,他将很多这些核心的组成部分啊,用来计算的,用来存储的,都放在这样一块, 哎,集成电路里面了啊,集成电路里面了,那它和电脑一样,电脑没电能工作吗?肯定是不能的,对于单片机我们也要给它通电。那么这个引角啊,有的引角呢,有个有一个引角呢,是用来是用来接受电源的啊,就是和电源 接,还有一个引角呢,是接地啊,接地 g n d。 那 什么叫接地呢?其实并不一定是接地啊,只说这个地址的是一个参考点, 比如说我们的这个外壳啊,你发明了,呃,一个玩具对吧?这个玩具的外壳,或者说这个玩具的底座,它可以就是为一个参考点,那么我们规定参考点的垫位为零伏啊,垫位为零伏,所以说大家注意一下,这个接地并不一定是真正意义上的,哎,和我们的这个大地连接 不是这样子的,这是我们在电路里面给大家讲过的,总而言之,这个引脚啊,引脚,有一个引脚呢是用来获取电源的,还有一个引脚呢,用来接地啊,到底是哪个引脚?我们后面给大家说,这就是引脚的作用,对吧?最直接的作用得要供电,给得给这个电路供电,那就是通过这个引脚。 好,另外呢,我们说这些引脚呢,是芯片与外部电电路这个连接的物理接口,你比如说我外部电路有有一个按键啊,你比如说我们有键盘,对吧?或者有一些有一些按键。 好,那么我就可以通过几个啊,一个或一些啊引角和我这个按键相关联啊,怎么关联?我们后面再说相关联,关联之后我就可以检测这些按钮有没有按下,哎,你比如说这个地方按下了啊,于是呢就有对应的这个效果,你比如说按下之后,哎,我要要求灯亮,或者说, 哎,怎么样的,对吧?或者说显示这个,在这个显示这个数字,好,那就意味着芯片呢? 哎,可以通过引角接受外部信号,对吧?我这个按键按下是不是就是有个信号,有了这个信号,我就可以通过其他的引角,哎,来让我这个一些其他的这个,呃外设啊产生对应的响应,你比如说我让我这个 led 点点亮,哎,这个按钮按下,我让 led 这个引角控制了一个二极管啊,一个二极管,一个 led 好,按键按下接受信号,然后呢我又产生一个信号让 led 点亮,或者说驱动电机等等。总而言之,芯片需要通过引脚获取电源,通过引脚向外部发信号啊,或者说向接受外部的信号,或者是向外外部发出信号, 还有呢,还有通信啊,你比如说两个单片机之间,哎,或者说你单片机和电脑之间是不是要进行通信啊?电脑,哎,要给他发送数据,或者说他要给电脑发送发送数据,这个时候也是通过哎引脚完成的。 好,我们就给大家直观的举个例子啊,你比如说我现在还有一块单片机,它是不是也有引脚啊? 那么假设啊,我们就通过电路让其中的引脚连起来啊,连起来这个电中间的这个电路大家不要管,我们就是直观的给大家解释一下,如果说供了电之后,我让我这个引脚哎始终保持高电平, 那么就意味着其实像什么呢?就像这两两片单片机啊,两个人手拉手,对吧?因为我们的导线其实呢就是等式点啊,上面的电位都是一样的,这两个点位是一样的,那么我这个是高电位,我这边这个人就感觉,哎,我把它记为 a 吧,这个记为 b, 那我就感觉这个 a 呢,我就感觉这个 b 捏了我一下就使了一下劲,是不是因为是高电瓶捏了一下,然后呢他这个时候又置为低电瓶,然后我这个 a 呢,又感受到,哎,这个 b 好 像又把手松开了, 那么这个时候我们只要规定,哎,捏我的时候是零,松开的时,捏我的时候是,一,松开的时候是零啊,我们只是给大家举个例子,哎,是不是就可以完成通信啊?你捏我一下,哎,我大概知道怎么回事了,你放开,哎,我知道你给我要传达什么样的信息啊?只是我们从直观上角度来说,这个 单面机呢,也是可以通过引脚与其他芯片进行通信的,其实这个电路再复杂的本上也就这回事,对吧?你捏,我们两个手拉手,你捏,你使劲捏我一下,我知道你给我发送了一个信号,你又放开,放开,走,松开了,我知道你又给我发送了另一种信号, 只要我们规定好你每次捏捏我或者说松开大概持续多久,比如说捏我一秒,哎,传递一个数据,放开一秒,传递一个数据,那我好,我感受你捏了我两秒,我就知道你向我传递了一个一一啊,其实本上就这点事啊,就这点事 好,那么后面这些东西呢?通通不要看啊,通通不要看,我们现在就就说这些引脚叉的作用是什么?就这四点啊,主要就这四点,获取电源接地以及向外部 这个发送信号,以及接收外部的信号,以及和其他的这个设备。你比如说芯片也好,或者是和我们的计算机通信啊,这就是引脚,它是芯片与外部电路连接的物理接口,你只要掌握这两句话就行了啊,就行了,后面这些内容呢,我们都会给大家再详细的讲。