ai 做嵌入式十分钟,干了我一星期的活好!这是一个典型的嵌入式项目, mcu 型号是 stm 三二 f 四零五。今天我们就拿这个项目来测试一下 ai 在 嵌入式开发领域能力如何。 接下来我来扮演一个产品经理的角色,一行代码都不自己写,只提需求,让 ai 来帮我们增加功能。简单介绍一下,这是我最近开发的一款触屏式调餐器,图形库,用的是 l v g l, 已经做了多语言 ui, 支持中文和英文。 我们现在让 ai 帮我们继续增加其他语言,看看 ai 能不能完成这项工作。在威斯柯蒂里打开 copilot 的 chat, 选择 a 键的模式,这次试试 gpt 五点二 codex 模型。我作为产品经理给 ai 了一个任务,让他参考项目里原先中文相关的代码, 为项目增加韩文的支持。我只给 ai 提供了一个韩文的字体文件,剩下的就靠它自己了。 ai 开始疯狂阅读项目之前的代码,从 i e 八 n 的 各种脚本到 ui 与多语言相关的代码,几乎都读了一遍。 读代码大概用时一分三十秒。 a few moments later 好 了, ai 开始改代码了,改代码大概用时三分钟。 ai 改完代码需要我们进行 code review, 由于我现在的人设是产品经理,不懂代码,所以就直接全部接受就行了。 翻译一下报错了,现在把报错信息之后继续修改。经过两次报错反馈之后,最终翻译成功。 稍录一下看看效果。有第三个语言选项了,不过除了英文之外全是乱码。我们之前的中文也乱码了, 现在向 ai 反馈乱码的情况,刚好看到翻译脚本的输出信息也有乱码现象,应该是同一个问题。 ai 很 有自信的说自己找到了问题,又改了一版,再稍录试试。 好了,这次乱码解决了,中文和韩文都正常了,试一下韩文菜单和提示框的韩文都 ok 了。 总结一下,这次为嵌入式设备增加语言,用时不到十分钟,这速度的确是惊到我了。放在几年前做公司的项目时,为设备增加一门语言,我至少要被拉去开三天的会, 然后等翻译文案至少要一周,写代码加调试又得至少三天,这还算是快的。所以 ai 写嵌入式代码看似还是很厉害的,但我还是有两点要说一下, 一, ai 擅长写今天这种偏应用层的代码,底层驱动代码还是不能太依赖 ai。 二,最好自己搭一个好的架构,然后让 ai 依照你的架构来增加新功能。如果你自己本身写的就是一坨屎山,那么 ai 会给你拉一坨更大的。好了,总结完毕,下期再见。
粉丝641获赞2489

今天我们来分享一个比较好玩的东西,就是嵌式加 ai 应用开发, ai 呢有很多的方向,我们今天选择的方向是这个 r a g, 那 这个 r a g 也就是呃解锁增强生成,我们先看一下效果,那效果的话就是说我这个是我自己开发的一个工具, 然后这是一个网页,然后呢我们这里可以看到后台的一个源码,对吧?可以有后台的一个源码, 然后呢我现在这个工具它支持的是呃 pdf, 然后 word、 ppt 和 z i p 的 一个源码压缩包,对吧?我们可以给它上传不同的一个东西,比如说这里是几个视例, 我们看一下。呃,这里比如说我上传了两个文档,然后这个是呃 r k 平台的一个 p m c, 然后呢我上传了以后,我问他是什么区别,然后他会给我总结的会比较清晰,那这个数据呢全部来源于它这个文档里面, 它也可以和外部的一个呃 ai 进行沟通。我的后台的话是 deepsafe, 后台是 deepsafe, 然后项链化模型的话选的是 b e g 的 一个模型, 然后呢它拿到了文档,然后项链化完成了以后,就可以和我进行一个问答,然后呢它会总结里面的一个东西, 然后这个是其中一个用法,对吧?这个用法可能很多的 ai 都已经支持了,比如说我们的 deepsea, 你 打开了以后,然后这里就会有一个上传,对吧?然后呢它可以上传一些呃附件,然后它只能识别文字,然后呢有支持文档和图片各类的东西, 然后这个其实很多的一个呃,哎,就是说工具都支持了,然后但是呢这个东西是我自己做的,我从零自己做的一个工具,然后可以有,也有很好的一个效果,它用于用于什么场景呢?就是说,呃,我们为什么叫 ig? ig 就是 本地部署, 就是说你的很多文档是公司内部的,你不希望其他人知道,因为很多的公司他是限制你将公司文档上传到外网的, 你是你是不可以的。所以说我们的 ig 如果你本地搭建的话,你可以在公司内部使用,对吧?这个东西也是不会泄密的,因为所有的都现代化的一个数据库都是在你的本地的,这个是在我的桌面的一个数据库, 对吧?所以说在公司内部搭建一个问答系统是非常好的,就是这个 ig 的 一个技术,然后这个是一个文档,那我还可以上传原码,对吧?比如说我这里是上传了一个,呃,原码压缩包,可能是一点五兆,然后我问他,哎,给我总结一下项目的一个架构, 那这个压缩包里面呢?有几十个文件,上百个文件,对吧?这个时候,呃,你比如说很多的一个开源的一个文件,对吧?这个时候,呃,你比如说很多中文识别文字,他识别不了代码, 对吧?但是我做的这个 ig, 我 可以在这个,比如说我的一个代码里面,我会告诉他,哎,你是一个,呃,什么工程师,是吗?然后你是专业的做 c 语言的一个训练,这个是我的 prompt, 然后呢我会告诉他,然后有什么出发源什么的入口,然后呢他就可以就是说以一个嵌欧式工程师的一个专家身份去帮你去分析这一套原码, 这一套源码,呃,就是说,呃它里面有几百只文件,它可以同时的去和 ai 进行问答,这个东西是超过了很多现有的一个 ai 的 一个,呃,外部网站的一个访问, 对吧?然后呢我们把这个原码的压缩报给他,他就可以去帮我分析。哎?这个是一个什么工程?然后是什么东西?然后是做汽车电子啊,一个诊断呐,升级用的,然后有哪些外设,然后每一个文件夹,然后文件夹里面有什么东西,对吧?分析都比较清楚, 然后测试环境呢?然后这些东西,然后程序的一个入口,对吧?然后他会去找慢,但是有的时候找不到,这个是特例了,然后呢会有一些工具,然后他的依赖的一个从下到上的一个配置是什么?然后推荐的一个阅读路径是什么?就是说他会告诉你如何去学习, 那我这里有这几门,这么几个顺序,那我这么我们再看一个例子,我这次就不一样,我这次上传了一个五十二兆的一个元宝压缩包,对吧?那这个很大,对吧?这应该是一千九百二十七个文件, 一千多个文件。然后呢我就说,哎,你帮我总结一下这个 vip 原版的一个价格,我是一个新手,我想学一下,但是我不知道怎么去学,那这个时候他就会去分析,对吧?去分析,因为然后这个工程是我搭建的,所以说我会比较熟悉这个原版架构,对吧? 这是我的一个工程,有 app, 有, 呃输出目录 build, 对 吧?然后有中间层 lvgr 平台,然后这个 sq, 然后呢它会又开始分析,哎,我这个业务层,然后的应用程序就是这个编辑出来程序,然后 app 下面,然后 s q 下面主要是业务层, 然后中间的话是 l v g l 呃 component 的, 然后这个是呃 b s p l 层,平台设备层,对吧?设备层,然后这是代码工具,这是演示,然后这个入口在哪里?然后这编辑出来的一个产物是 c m a k 的 一个产物在哪里? 然后模块的依赖关系,对吧?从下到上是什么?然后这也是推荐阅读路径,就是说我问他 这个项目整体给我总结一下,然后他会说出来这样的一个东西,然后告诉我如何去学习,那这个东西对新手很有用, 对吧?你到有了一个新的公司里面,然后呢给了一套原码,说你帮我去分析吧,那这个时候你手头无措,你连入口在哪里都不知道,你都不知道从哪里到哪里,该怎么看?那这个时候你把你的整个项目的原码压缩包上传到这个文档系统里面, 然后呢我们就可以让他去总结一下,分析一下他,他,他就会便利你一千多个文件,然后呢把它向量化,然后按照函数去切块,然后呢我们就可以去解锁,然后去帮你分析出整个的一个项目架构,然后让你去学习, 那不光如此,那我们后面如果有问题,比如说,哎,我们发现了某个函数跑了以后,然后空置针,对吧?或者是, 呃,你想知道他的调用站是什么,然后他就会去解锁到这个函数,然后呢告诉你,哎,我的函数是被哪两个函数调用的,那你要知道就是说这个项目的原版你还没有看过一点,但是呢,这个东西可以帮你分析出来,就是我的函数调用站是什么,然后你你再去看就可以了, 对吧?调转的一个视例,然后问这个函数的调用在是什么?然后他的调转的一个链路是什么?这个是静态,我建立的一个链路,然后呢?呃,这个函数的调用在是什么?然后直接调用间接调用的一个调用链路,对吧?然后他可以去帮你分析,然后调转的关键点, 对吧?然后最后呢会打印出来,哎,我这个本轮的一个生成的一个结果,它来源于,呃,这几个 top, 对 吧?比如说 p 配置 v 六点 c, 然后这个是链表啊,这东西就说来源,我这里也有打应, 对吧?就相当于当你拿到了一个新的工程,然后你不懂,然后呢?你想快速的去把它搞懂,就可以用我这个工具,对吧?那这个东西就是 市面上的一个东西,呃,开源的一个 kimi 啊, deepsea, 它都是做不到的,因为没有任何一个外部网站可以让你上传 vip 的 源码,对吧?而且就算你上传了,你们公司也是不允许的,因为你会泄密, 对吧?因为你会泄密,所以说,呃,我们本地可以在内部去搭建一个东西,然后去做这件事情, 然后呢?我们这里还有个例子是我这个这个,这个例子我还没有在后台关闭,就说我这里执行这个东西以后,对吧?我的网页是 streamlet, 然后执行了这个程序以后,我还没有关闭,还可以继续去提问,然后总结一下项目圆满的架构,然后这个依赖关系,它这里和打印依赖关系,它每一次生成的可能是不一样, 对吧?不一样,但是他能解锁到的一个函数,就是说我已经实现了一千九百二十七个文件一起向量化,向量化了以后我问某一个函数,他甚至可以直接的输出调用站,对,就是目前的我这个工具已经实现到了这个程度, 然后调到的一个逻辑,一个顺序啊,然后他还可以知道原码,对吧?然后 就是呃,这是他的一个调度站,然后对,然后打印他的一个来源, 就是说呃,因为他这个向量化已经吃了我们的代码,所以说其实有的时候我们和他去描述一些呃代码逻辑他是知道的,因为他懂你的源码,他有你的源码,那这个时候我们可以用他做什么事情, 也能做什么事情,对吧?我们看一看这个 ig 技术,它最终真的做了完善,以后它可以干嘛,对吧?我们就是我们教程里面有部署啊,就是一步一步的,就是 实现了 ai 帮我们解释项目源码,对吧?然后我们源码有五十二兆,大家也看到了,然后呢?我们用到 i g, 那 第一个帮我们梳理一整个项目源码,它已经做到了,对不对?然后项目框架给你总结,然后第二个跟踪函数调用站, 这个也做到了。第三个项目原版出现笨问题的时候,比如说我们可以向他提问,比如说,哎,我这个函数,然后出现了控制帧,然后他这个 ig 就 就会帮你去分析,他会根据这个原版的电路站帮你去分析,然后去呃去找哪里可能会有控制帧, 对吧?因为他吃了我们的原码,所以他才知道的。然后第四个当我们需要开发一个新功能,对吧?然后因为这个 r i g 他 吃了我们的项目原码,所以说他是知道我们的一个命名风格是什么, 所以说它可以直接在我们源码的基础上去开发一些新的功能,而且它的项目命名或者是一些 api 的 使用就会使用我们的源码,对吧?可以开发新功能,这个是比较呃重要的几个技术点, 然后它不光可以做这些问题,这些事情它还可以干嘛呢?我们前面只是为了一些开源的一个 pdf 文档,为了一些源码,但是如果我们给他吃公司内部的一些 bug 单记录 wiki 给 bug 文档递现源码,对不对? 相当于我把这些东西都喂进去了,都喂进去了以后,它就会向量化,然后生成剪索,那这个东西就是,嗯,它不光可以做 普通的一个梳理项目代码的事情,它还可以帮你去总结 bug 文档里面的资料,然后根据它的问题的一个就是新的问题来了以后,它根据问题的情况自动地帮你生成一个答案,生成一个回复, 对吧?相当于自动解 bug, 整个过程都是自动的,对吧?然后,呃,至于说呃保密的问题,我们不用担心。 ig 项链画出来的一个发行数据库都是电脑本地的, 对吧?都是都是电脑本地的,不用担心,因为比如说 deepsea 啊,或者是 kimi 或者 openai, 他 们是不知道的,他们没有这个数据库的,只有你本地有, 对,他真的是可以做到这么厉害,那至于说,哎,我现在这个模型可不可以?他还是有很多的缺陷在的,对,很多的缺陷在,所以说他可能目前还没有那么聪明,但是 r a g 的 这个技术他确确实实是可以真的做到这些事情的。 对,只是说依赖我们的一些调优,你可以看到我这里就是不停不停的在调优,调优调调了很很多版,调了十版了以后才有这个效果出现,才有这样的一个效果。所以说 ig 他 技术是可以,但是他的一个调优是比较难的, 要难的,那这个是我们的一个问答系统,对,这个是一个发展趋势,大家可以去了解一下,这个是一个比较好玩的东西,然后如果是我们课程的呃的会员呢?你就可以去下载老师的源码,然后可以你也可以去按照自己的方向去调, 就是说它不光可以做参数,因为我现在的这个代码里面的这个 prompt 你 可以看到,我们搜一下 我现在的这个 prompt, 你 可以看到,我是说,哎,你是签约式软件行业,然后你你要懂 m c u r t u s nix 驱动协议中间件呢?然后给他写了一个 prompt, 他 就会按照这样的一个方式去给你回答。 但如果说,呃,你是一个文本,就是文案,或比如说你是一个财务,或者是你就是其他的一个行业,对吧?你也可以利用这一份技术,就是说这个 prompt 你 改一下,然后切分的块的一个方式,你改一下就可以了, 对吧?你改一下,然后你就可以将这个 ig 应用到其他的一些方向,对吧?这个就是我们的一个呃 ig 技术,这也是近几年出现了一个新的一个技术,大家可以去了解一下。然后这个东西特别适合做专用知识库, 也就是说呃,我们可以进行一个问答,尤其是说呃你在 呃公司里面,然后你想做一个知识库,一个解锁的一个系统的话,你可以考虑这个东西这个方案,因为呃 他可能就是说不同的一个模型,他有不同的一个倾向。我们这个 ig 呢,他就是特别适合做专用知识库类型的,知识库类型的,因为他的解锁能力非常强, 就相当于你普通的一个 ai, 它可能就是说完全基于你的训练数据,如果你训练的数据有背过它就知道,对吧?但如果没有背过它就不知道, 但是这是传统的一个下载 gpt 或者是 deepstack, 它有训练过它就知道。但是我们 ig 是 什么呢?我们 ig 就是 说我们问了一个问题,它会先去翻我们给他的资料,对吧?公司文档手册,然后圆满, 然后呢再去结合他背后训练的东西,然后再给你回答,相当于我们相当于给了他一个东西,他让他去参考,那这个东西回答的就就是非常的具有针对性,非常的精准,对吧?那这个时候就比较好,他特别适合在一些 公司里面,然后呢你拿一些公司内部才能用的一些数据,然后丢给 ig, 然后 ig 跑完了以后可以去呃用这个方式,比如说提问,然后解锁介绍完了以后增强,然后给 ai, ai 这种生成数据就可以了, 对吧?就是解锁增强生成的一个逻辑,在,然后这就是我们今天分享的这个好玩的一个东西。

二零二零年最值得学习的技能是什么?不是 python, 不是 大模型,而是 cloud skill。 现在谷歌 open ai 已经全面支持 skill 生态了,这意味着什么?意味着会说话就会开发的时代正式来了。分享几个最近在开元社区热度非常高的 skill 项目。 skill 是 什么?就是你不需要懂技术,只需要告诉 ai 你 的最终目标,它就会自动借用各种技能包帮你拔火钢管,技术门槛被彻底爬平了。 现在谷歌 open ui 已经全面支持 skill 了。第一个, rc 二 ceo, 一个会自己读书书写思维导图的工具。你上传一本书,比如刻意练习,它能在两分钟内自动给你生成一张全彩灯和交互的思维导图,整本书的逻辑瞬间一目了然。 说真的,这感觉就像是给 ai 开了个外挂,这才是二零二六年该有的学习方式。第二个叫速和 pro skill, 它让 ai 彻底告别了满腹行为。什么意思?拿到需求,它不像以前那样直接开干,而是先按住暂停键,反过来问你这个功能的具体场景是什么,有什么 边缘情况,它会先和你把需求聊透,像一个经验丰富的架构师一样,和平台的开发流程一模一样。第三个是提示词生成器, 我给你们看个对比你就懂了。用普通 ai 生图效果可能很随机,但是用了这个 skill, 它内置了十几个专家,比如人像专家、电影风格专家,自动帮你匹配最合适的替身词,效果简直就是天壤之别。在二零二六年,不会用 skill 优化替身词,真的等于不会用 ai。 第四个,针对做内容做 seo 的 朋友,绝对能提高你的效率,你只需要输入几个关键词,他就能给你直接生成一篇结构完整,可以直接用的文章,这效率高到离谱。二零二六年,各行各业都在寻找 ceo 的 人才, 因为这不再是用 ai, 而是用 ai 解决实际问题的能力。四个 skill 的 完整学习路径,包括项目地址、使用教程,我已经帮你整理好了, call 二零二六 skill, 我 会把这份指南发给你,现在开始学,正好赶上了 skill 生态全面爆发。关注我,用 ai 快 整理!

张老师,学习聚深智能嵌入式是不是必须要学的?嵌入式开发在聚深智能的地位有多高?首先大家要明白嵌入式是什么? 嵌入式的全称是嵌入式计算机,它对标的是我们笔记本台式机,这种个头都很大,你要把它放到机器人身上,甚至放到关节电机里面,它是不可能的,因为有这种对于用算能力需求 出来的天入式系统。天入系统它有的像单片机这种比较好的,集成度比较高的,把像 cpu 存储器,包括有些 adc 这些外设很多都集成到了一个芯片上,这时候就能做到它的个头比较小,但同时的话它又拥有类似于计算机的运行能力。 这种切入式的聚生智能机器人上实际上是非常重要的,因为聚生智能机器人本质上每个关节电机是集中度非常高的,它里面都有切入式的控制器, 机器人身上的每一个传感器,基本上它里面也是有切入式的控制器,只不过它可能个头的更小。然后机器人整个的运动控制还是需要一个用算能力更好一点的切入式去控制,因为你把计算机塞里面它太大了,所以切入式就符 和个头肉小,用算能力强的也有,弱的也有,根据需要更加的灵活研究。聚生智能里面有很大一块你会接触到介入式的开发,等于是一个聚生智能机器人的开发过程中 是绕不开介入式开发的,说他在介入式机器人开发中是非常重要的。聚生智能机器人有很多公司不懂介入式可不可以开发智能机器人 也可以,如果你就是一个组装机器人,发电机什么都是买的,传感器也都是买的,你就把它通过总线连起来,之后按照计算机上面的编程的方法去在嵌柔式电路板上去编程。现在很多算力强的嵌柔式板, 它里面跑的其实都是 linux, 它的开发的习惯和计算机上开发应用的习惯其实是一样的,这时候你不是很懂那种调试,各种芯片,各种接口,问题也不太大,但是这种组装的工作他可能走不太远,或者是说你更重要的思路和能力需要在算法方面 位置就不同了。我觉得机器人开发,尤其是自身智能机器人身上的嵌入式系统的开发,从电路原理开始学,最终能够开发系统级的这种嵌入式。比如说你小手啊,关节电机啊,或者仿生人头啊,这是未来是一个很好的就业渠道。

兄弟们,这个 skills 集合收集了八万七千多 skills, 目前最大的 skills 网站,包含了各行各业的内容,今天我们就用你们的 skills 教大家如何使用 skills, 这里面有超多类型的 skills, 咱们先选内容和媒体类型的,这个就是内容和媒体类的 skills, 咱们用 x l s x 的 skills 测试,教大家怎么用怎么装,一进来就详细介绍,咱们只需要下载压缩包,下载完要放到对应的目录下,我用的是 cloud play, 要放 cloud 文件里的 skills 文件夹解压出来,这样 cloud 就 有 x l s x 的 skills 了,其他 ai 的 存放位置我放粉丝群里了, 安装完压缩包就能删了。接下来打开 cloud, 在 终端检查装备装成,只需要输入斜杠就能椒盐是否安装成功。 前面这三个就是我装的 skills, 直接选咱们刚装的,回车,他就会返回介绍内容,我们来演示一下这个 skills, 这里我准备了一些 x l s x 文件数据进行测试,主要就是财务记账和支出和收入的,我们让他分析利润和生成数据报表信息,来增加我们的工作效率。这里我们已经打开了 cloud, 拖着文件到输入框,主要就是分析这些数据表,统计利润和支出。总数据输入完成直接回车提交选 全程加速,中途会有需要配合回车,默认选 yes, 只需回车,这个就是统计出来的效果,输出在控制台了,但我们还需要 x l s x 文件效果,继续输入提示词计算来的数据,帮我做成 x l s x 文件有数据图效果更好,最后回车就完事,这一次咱直接看结果,兄弟们帮我们做成了文件,文件夹多了个财务分析报告,还有数据表。接下来打开能看 x l s x 的 软件查看,这里就是总信息,所有财务分析信息全给咱处理好了,我们快速查看其他内容,最后的数据图表也完全没问题, 只是摆放位置需要咱们手动处理,我们快速处理一下啊,查看完整的信息效果,这效果一看就非常不错,恭喜你学会如何使用别人的 skills 了,感兴趣的小伙伴赶紧收藏,防止找不到!

这讲课我们来写代码使用空闲中断配合 dma 接收创口数据。咱们先来看一下配置 dma 抽象需要有哪些步骤, 步骤还挺多,过一下。首先使能 dma 的 时钟复位 dma 通道配置传输方向,配置数据原地址原地址是固定的还是增长的?传输未宽目的地址目的地址是固定的还是增长的?目的数据的传输未 宽,配置数据传输最大的次数。 dma 通道这么多, 我们使用五点四,如何使用串口中段接收数据?这个代码历程进行改造,新增一个接口函数,对 dma 进行抽象配置, static void u s b c o m d m a i n i t void 然后在出式化函数里面去掉它。我们在结果题里面新增几个成员,是关于 dma 的。 首先是哪一个 dma? 是 dma 零还是 dma 一? 我们就不看文档了,直接我们写代码 uint 三十二、 dma number 第二个 dma 的 时钟 r c u prefim r c u dma 第三个,哪一个通道? dma channel m dma c h 然后是出式化,我们使用 dma 零对应的时钟 r c u dma 零通道是 dma 四,然后进行出式化配置。首先是使能时钟 都要用 r c u prefill clock enable 接下来是复位 d m a 通道, d m a d e n i t 接下来我们要定一个结构体变量 d m a parameter struct, 需要配置一下它的成员,包括原地址、目的地址位宽,优先级, 传输方向等等。首先是传输方向, d m a struct 点 direction d m a file memory, 从片上外设到存储器内存 然后是原地址 file address, 我 们要配置为串口令数据寄存器的地址,是吧?看一下用户手册数据寄存器片一地址是四 记地址四零零幺三八零零,我们直接使用 usart 零这个红,这是一个十六进置的地址值,我们在这个的基础上增加一个偏移量,咱们再定义一个红, define usart 零 data address u s a r t 零,加上零 x 零四就可以了。写一下注视创口零的数据 寄存器地址十六进至地址值,是设置地址是固定的还是增长的?那么对于数据寄存器,地址肯定是固定的。 b m a structribute increase increase disable 然后是设置位宽,八位的宽度。接下来是配置 目的地址,那肯定就是我们宿主的首地址了,咱们宿主的首地址是在这儿。 receive data buffer, 我 们将这些内容拷贝到上面去,这是一个地址指真是不是我们还要将它强制类型转换 uint 三十二, 这样才可以。这样就把数组首地址的十六金支数值保存在这个 memory address 里面了。是设置地址是固定的还是增长的,那么对于数组,它的地址肯定是增长的。 memory increase enable 是 配置 位宽,也是八位的宽度。配置数据传输最大的次数 number。 我 们来看一下单机的用户手册计数寄存器 只使用了低十六位,所以最大的次数可以配置为六五五三六,它是一个递减的,从初始值开始递减,直到递减为零,所以我们在这配置为 max buffer size, 这是最大的传输次数,实际上一包的数据可能达不到这个最大次数。配置优先级 r i 一 共有四个优先级, 高低中极高,咱们就配置为高就行了。然后我们要调用 dma native 函数进行抽象取地址 dma struct 接下来是使能创口接受数据使用 dma 要调用创口的 api 结尾函数 usa r t dma receive usa r t receive dma enable 然后是使能 dma 通道好, dma 出事化就完成了。

很多刚接触嵌固式的小伙伴都问我,老师怎么样选择开发板,我结合我自己踩过的坑,我用过的板子,按照有一道难的顺序逐个给大家介绍一遍。小白可以直接抄作业,咱们小白要先找感觉,提升兴趣再说。打基础, 阿丁诺开发板纯零基础,不是电子专业的小伙伴可以先从阿丁诺下手,这个板子真的是太好上手了,不用咱们懂什么底层的原理,用现成的函数很快就能够做出控制灯,像一些简易的传感器控制这些小项目,它快速让你觉得倩诺是真好玩,特别有成就感。但是有个坑我可说清楚, 他把 l 口的操作,什么时钟配置这些核心东西都给你藏起来了,你看着能做项目,其实你根本不知道硬件是咋工作的,比如说集成器怎么配,外设怎么通信, 所以它就适合我们入门找找感觉,像长期做这行,你得往下学。我要单片机,推荐 stc 八九 c 五二 rc 入门,咱们想练这个真本事,可以从我要单片机开始。我自己当时用的就是 stc 八九 c 五二 c, 它便宜又耐造,资料还多。 最牛的地方是咱们将来不用库函数,直接操作计算器,你从根上就知道单片机是咋干活的,比如代码是怎么控制硬件的,咱们芯片之间是怎么通信的?外设通信协议是怎么玩的?不用花太多时间,两三个小时就能入门,点个灯 啊,串口显示一些数据,玩两个外设可以啦,通过我要打打基础,后边再遇到一些复杂开发版的时候,你也能够上手特别快,进阶的时候要练找工作需要的核心技能啦。 那咱们得换版子了,这些都是 itm 三二系列的开发版,我要打个基础之后全力冲 itm 三二,这是行业里用的最多的找工作必备的技能, 绝对和我好的同学纠结,老师,我是用还有酷还是用标准酷?其实标准酷现在早就不更新了,你直接学还有酷就行。提醒一下哦,当我们用还有酷的时候,你一定要搞明白它的一个调用的流程函数是怎么分装的,最终是怎么一步一步操作, 我就找到这个继电器了,你要不然换个其他牌子的开发版,比如给你一个恩智普的,我再给你个 e h 三二的,你就蒙了,无从下手。所以你把这酷寒舍的底层搞透, 一直跟到继电器这技术才算学到手。现在做项目可都离不开网络,要不说现在是 alt 时代吗?我们要搞物联网,搞智能家居,这 es 系列必须得学,现在比较火,国产芯片的性价比很高的, 现在国产化也是趋势,咱们新手可以先玩 e s p 八二六六,你别听人说,这东西不是过时了吗?对于咱们小白来说,它用简单的 a p 指令就能联网,能快速的上手做互联网项目,那学习效率真的是特别高。你练熟了之后,你再换 e s p 三二,推荐 e s p 三二 w 杠三二, 因为它能连 wifi 和蓝牙,双核两百四十兆赫兹,还有四兆的存储,那做智能家居,做穿戴设备都够用了,性价比绝了。想侧重做软件应用的朋友,你可以试试这个版, 树门派,三代必佳。虽然它叫树门派,但是和传统的树门派可不一样,它有一块六十四位一点四 g 赫兹的四核 amc 一 五三处理器,还带 wifi 蓝牙,配置够用, 而且网上的教程和案例特别特别多,适合我们学 linux 应用开发、连通外设,搞几个项目下来,你的实战能力一定能够明显提升的。要想涨工资,适配更多的岗位,做更复杂的项目,大家可以选一下 i t m 三二 f 四零七, 它能够学习 f r t s 实时操作系统,包括 l w i p 网络开发、 l v g l 图形界面,把之前学的一些单片机的知识、网络的知识都穿起来,我们再对接一个云平台,让设备能够连网上云, 这就是一个完整的 i o t 的 技术栈。掌握这个之后,咱们在工业控制或者是汽车电子领域当中的项目就都能应对啦,找工作的时候,你的竞争力直接上一个档次。大家想玩高性能的单片机,可以试试这款,这是恩智普推出的 imax r t 幺零五零,它的内核是 cortex m 七, 主频高达六百兆赫兹, i t m 三二 f 四零七的主频大概是一百六十八兆,所以恩智普的这一款,那可比 i t m 三二 f 四快多了,性能都已经接近高端芯片了,当然价格才三美元左右,性能基本上跟 a 七差不多,这个性价比真的是拉满,你看它功耗低,性能还强, 所以就特别适合汽车电子、工业控制这些高新领域。大家提前学了熟悉这款开发版,那你在求职的时候会非常有优势的,想长期发展的话, linux 必须得会, 我早年用过二四幺零二四四零。嗯,四四幺二,当年真的是太火了,像不少的手机,三星和联想 mate 啊,当时都用它。现在我刚推荐 st 的 一款 stm 三二 mp 幺五七, 这是 st 公司推出的 linux mpu 第一款芯片。听清楚了, st 公司我们一般认为它是做单片机的,但是它现在开始推出这种 mpu 芯片了,它这个结构非常的特殊,它是 a 七加 m 四的易购结构,主频是六百五十兆赫兹,加上二百零九兆赫兹。 你想它既有 a 系列,也有 m 系列,它既能学习 linux 应用开发、底层软件开发,又能练单片机实时系统,一个碗子能两个碗子使, 性价比真的是太高了。大家不管是学单片机还是学 linux, 用这一个碗子就够了。现在嵌用式加 ai 是 大趋势,大家想往高端走, r k 三五八八给安排它带高性能的 npu 就是 神经网络处理器,算力可以达到多少呢?六 tops, 每秒能做六万亿次的操作处理机器视觉、边缘计算,这些 ai 任务贼快, 而且像主流的 ai 框架,你像 pixlab, pixlab 这些它都支持。将来我们做图像处理或自动驾驶相关的项目都够了,学会它,那高新岗位还不得随便调?总结下来, aduno 能让我们找找感觉,提升对嵌幕式的兴趣。我要单片机,学一下计算机开发,知道硬件开发的核心本质。 s m 三二,练我们求职需要的核心本质。 s m 三二 f 四零七, linux 开发版 是拔高我们的能力,最后我们冲 ai 跟人工智能结合,就要选高端吧,天赋是得靠练,大家必须要多做几个实战项目,那技能自然就扎实了。希望每位小伙伴都少走点弯路,越学越顺利,加油!

电源在吗?你要干鸡毛?兄弟们,我也是用上了中文编程了,这两天在调试这个语音模块,这玩意儿就是用的中文编程, 之前也是在刷视频的时候又看到中文编程的广告,这次要用来声控电源,所以就买了一个来试试水。这里面就是写的程序,现在正在下载它,这里应该用的 g c c 的 编, 然后左边这个界面实际是生成了右边的代码,然后用 g c p 编一遍,编一代码,再冷启动,通过串口烧录到芯片里面去。 作为一个老软件工程师,还是右边的代码环境看着舒服。不过确实左边的图形界面上手速度还是比较快, 没干多久就把自己的基本需求搞定了,也就用了对联现成什么的,实现一些基本的简单逻辑不复杂的功能够用了,不过要实现一些复杂的功能,还是得用代码编辑器解。程序基本写完了, 现在准备开始调试它,这里面还带了串口助手,还是比较贴心的。好了兄弟们,我先调试了,让我来尝尝这中文编程的新带。

之前分享的嵌欧式学习路线斜绣版是吧,收到了很多同学的这个关注和支持,今天学长就给大家再带来一期稳扎稳打稳定版的嵌欧式学习路线,帮大家夯实基础,稳固进阶。首先声明一下,本期视频的这个学习路线更适合学习时间比较充足,想要慢慢学习嵌欧式稳扎稳打的同学,当然了,同样 还是给大家准备了全套的这个学习资料,评论区里直接扣六六六直接分享给大家。首先第一阶段,打牢基础。第一个模块就是 c 语言的学习,重点学习数组、函数、指数、结构体这四大内容, 其中地质操作指数、函数、函数指数这些内容呢是面试官最常问的,大家一定要重点关注。 还有就是像 ifelse, 放循环这些基础语法,对于有时间的小伙伴呢,也可以去尝试学习了。想刷课的话,推荐去看 b 站蒙凯老师的这个 c 语言课程,讲的非常的详细,但是一定不要盲目刷课, 一定要动手敲代码,这样才能够明白原理。第二个模块,掌握硬件基础。这个模块的学习重点就是学习常见的这些电子元气件,比如电阻、电容、电感二极管、三极管,貌似管 知道它们的这些符号和功能作用,还有一些电路的基本原理,比如欧姆定律、吉尔霍夫定律等等。 学完这些之后,一定要去家里创,花个几十块钱买包原配件,再配合仿真软件进行实操,这样你才能够看懂开发版的这些原理图。 第三个模块,学习单片机。因为大家现在的学习时间比较多,所以说可以先从五幺单片机入手,重点去学习 gpl 中断、定时器、串口通讯这些。这里就可以去看 b 站江科大五幺的这个教程了, 还可以做一些小项目,例如流水灯、温湿度检测等项目。 学习完五幺之后,就到了最重要的 stm 三二的学习,重点学习库,函数开发、外设应用,例如 adc、 pwm、 iphonec、 spi 这些。 和我们的五幺一样,直接去看江科大 stm 三二入门教程,然后去做一些项目,像智能家居、智能小车、四轴飞行器都可以尝试去做。 总结一下,在单拍机学习的过程当中,无论是你进行到了五幺还是三二,一定不要等全部学完之后再去做项目,你一定要边学边做项目, 否则就会学完了 s p i 忘了 g p i o 学完了 iphone c 忘了 adc。 还有找项目呢?这里个人建议大家可以直接去 github 或者是佳立创开源平台上去找详细的这些项目教程,都有非常的详细。 第二阶段,综合能力提升以上说的这些内容仅仅只是裸机开发,但是如果想要提升薪资和成长空间,必须去学习 r t o s r t o s。 要学的这些东西啊,不用太复杂,你重点把任务创建、任务调度、信号量、消息队列这些核心知识给他搞懂。 这里推荐大家去看一下野火福瑞 r t o s。 的 这个视频教程。接下来就是可以去重点着手做项目了,智能桌面小狗、智能运动手表、智能语音助手,这些项目所富含的学习内容都非常的全, 这些项目不仅可以锻炼我们的实践能力,还可以大大提高我们的面试通过率。还是一样啊,如果找不到项目,就去 get hub, 或者是家里创社去找。第三阶段准备面试, 一份好的简历可以让 hr 眼前一亮。第一步就是优化自己的这个简历,所以说我也给大家准备了千万事面试的这些简历模板,直接在评论区里扣六六六,我直接分享给大家。第二步,一定要去背八股文,一般来讲包括 c 语言知识点, stm、 三二内核架构、 rts 这种八股文一般来讲都是有固定答案的, 所以你在去面试的前一天一定要去背,多背记在脑子里。最后是多模拟面试场景,找朋友模拟也好,找 ai 面试模拟也好, 你自己多去模拟几次,重点突出自己的项目经历和技能优势。这里建议大家也可以尝试模拟,对着自己的项目实物进行介绍,最后直接把项目实物带到公司去面试,这样呢,更有说服力。 好了,今天这套先后是文案文打学习路线就分享到这里,核心就是一步一个脚印,重点学习文案文,打视频里边提到的这些所有资料,需要的同学直接在评论区里扣六六六,我会一个个发给大家。最后祝大家都能通过自己的努力拿到心仪的 offer。

编程体系一般就是 c c 加加入门,编程能力入门怎么样就算入门了,我给你定一个编程的小题目,你能把它做出来,你就是入门了。第二块,数据结构算法这块东西重点就是写跟刷题,疯狂的刷,有些题目刷到什么程度,这个题目我一看到它我就知道用什么方法去解决就够了。第三块就是操作系统编程, windows, linux。 那牵手式呢?肯定是以 linux 为主,因为你接触到的物管才 sim 三二 esp 三二 r k 芯片这些所有的架构都是我们叫做 arm 架构。对, arm 架构,那肯定 linux, windows 不是 arm 架构, windows 是 叉八六和叉六四架构,所以 windows 系统搞不了,那只有 linux, 你 好好熟练一下最后一排。计算机网络现在提倡叫万物互联,智能互联时代,你基本上所有硬件都离不开 三 g 网络,所以现在叫互联网时代嘛。四大件,搞掉开发版, s t m 三二或者 e s b 三二,搞一块自己熟悉的开发版,根据这个开发版搞一下模块,温度、湿度、光照还有摄像头,那么一通一搞,天入世就成了。

我们新手学 esp 三二,上期听到分区表是不是就头大,觉得它特别底层,根本听不懂?其实超简单, esp 三二内存不规划,程序数据全挤在一起,升级找文件都费劲。分区表就是解决这一切的总规划图, 这就像是给 esp 三二 s 三芯片规划一套房子的装修方案,想象你有一套一百二十八平米的毛坯房,也就是我们的十六兆 flash 分 区,就是装修设计图, 明确告诉系统大门在哪,卧室多大,储物间在哪,怎么升级。现在看实际的 flash 布局。这十六 mb flash 被划分为七个功能区,各司其职,一点不混乱,不分区。三十二 kb 是 大门钥匙,负责启动分区表本身四 kb 是 系统地图, n v s 二十四 kb 是 带锁抽屉存 wifi 密码 factory r m b 是 主程序区,代码全在这儿。 v f s 十 mb 存大量数据,最后 storage 四兆完全由你支配。这就是分区表的 c s v 配置文件,每一行定义一个分区格式,超简单,新手记此五个字段, name type subtype offset size 名称简洁类型定用途偏移地址对齐大小按需设,尤其注意 v f s 分 区, 我们分了十兆存,大量文件,完全够用!看一下咱们的内存预览,是不是已经有清晰的分区变化啦?赶紧点赞收藏,把这份分区表干货存好,下期咱们正式开始学工程架构,一步一步落地实操!

我天虹市做了几年,我才发现选对行业薪资差距能有多大?最近呢,很多同学问我天虹市方向到底该往哪些行业投?今天呢,我用真实的市场情况给你参考,记得收藏,因为我还把具体可以投的企业也都整理出来,成了一个文档,有需要的同学可以滴滴。 第一,互联网,比如华为、小米、海康这些公司都有大量硬件加软件结合的岗位,月薪呢普遍在十二到 二十 k 之间。第二,工业控制,像西门子、施耐德、会川技术做工厂自动化、电机控制这一类,稳定性比较高,薪资一般在十到十八 k。 第三是千兆式加 ai, 也叫聚深智能,这是现在的这个风口企业,像百度、阿里、商汤都在布局,薪资呢,很有竞争力,十八到三十 k 很 常见。第四呢,汽车电子、 特斯拉、比亚迪,未来这些车企智能座舱、自动驾驶领域需求特别大,月薪呢,消费电子,比如说苹果、 oppo、 大 疆做手机、无人机等产品, 心思呢一般在十到十五 k 左右。其实目前来看,汽车电子和千钥匙加 ai 这两个方向心思是最靠前的,很多能到十八 k 以上,甚至三十 k。 如果呢,你正在选方向,可以重点留意这些。

从单片机到潜入式 linux, 新手千万别着急跳级,循序渐进才是最快的进阶途径。很多人五一单片机都没学明白,就着急硬啃 stm 赛奥。 stm 赛奥刚入门又去挑战 linux, 最后每个阶段都学不精,啥也没学会,直接放弃。 给你一套现成可抄的完整学习路线,小白照做就往不进阶。第一步,学五一单片机,搭建完整的编程思维, 熟悉硬件与代码的联动逻辑,打牢切入式入门基础。第二部,主攻 s t m 三奥,吃透各类外设驱动开发,多做三到五个完整的实战项目, 提升核心实操能力。第三步,学 r t o s 实时操作系统,掌握多任务调度信号量、消息队列,核心逻辑, 适配复杂开发场景。第四步,入门侵入式 linux, 学应用编程与驱动开发,直接对接企业高阶岗位需求,一步步从小白进阶成为全能的侵入式工程师。

二零二六,嵌后式学习划重点了,以下的学习路线是基于我本人以及我所代购的上万名学生的嵌后式面试经验分享,主要是面向嵌后式软件 linux 启动开发岗位。相比其他的嵌后式学习路线,更加注重嵌后式的面试重点, 核心精简内容、创社核心知识点,基本功,编程语言、 c 语言、 mcu 经验、 sm 三二操作系统、 fraus newcos linux 驱动经验、裸机外设、 linux 驱动加分技能学历,本科生、研究生加分四加加数据结构、 amd 体系结构、计算机网络。 大家需要明确的一个目标是,我们是要面向效招,面向求职来学习。一般来说,我们所看的那些成套的视频教程,比如 c、 y、 m 三二或者历史驱动等等,实际上都是没有必要全部学完才去面试的。你要做的是如何掌握基本的知识点,核心的技能点 怎么样体现在简历的项目上?让面试官在二三十分钟之内对你问答,从细节体现你的核心技能, 从细节能够体现你是真有本事的。接下来我对各个部分进行具体的梳理。第一, c 元嵌空式岗位,一般来说用的最多的就是 c 元向下跟底层的汇编,向上应用层, c 加加 c 是 核心。面试时 c 的 常考点,容下,一指针、一级指针、 二级指针、指指数组数组指针、指数函数函数指针二数组一维数族、二维数族相关的排序等等。三字母,一维数族、二维数族相关的排序等等。三字母,一维数族、二维数族相关的排序等等。三字母,一维数族、二维数族相关的二维数族二维数族二维数族二维数族二维数族二维数族二维数族二维数族二维数族二维数族二维数族二维数族二维数族一维 static valentel exten set of 第五,函数, s, t, r, l, e, n, s, t, r, c, m, p, s t memset, m e, m, c, p, u, i s friend f 等等。第六,内存对战,内存管理 mylock free 大 小段 七、变量,变量的类型,占用的次结束局部全景,静态行差时差八、构造类型,结构体,联合体,每局等等。基本的知识点都包括了,如果是第一次接触的知识点, 建议 c s, d, n 或者 b 站看看,自己一定要敲一下,平时我们练习岁月,我个人还是建议你多用 vs code, 装上了插件之后更方便。上面的面试内容不是说面试官都会问,但是我们多准备一些,大家对着我刚才讲的来看下面的视频, 当然视频教程你看别的家吧,也可以,只要你在学习阶段不停的敲代码,那么理解一定会更深刻。二、 i t m 三二, 如果你是没有任何基础的课程,你可以跟着视频教程直接学习 i t m 三二, 对于 i m 三来说,大家没有必要说把 f 一 系列学完了,非得再碰一下其他的系列,比如说 f 四系列,实际上最小的 c 八 t 六这个开发版就已经能够学到很多内容了。单片机重点学习,一、单片机从启动到金融类函数的流程。二、单片机的终端机制, 重磅限量表,重磅函数。三、定时器输出, p w m 四、 l 口的输入输出模式。五、串口 iphone, c s p i 等通信协议,像 itm 三二,基本上都是支持硬件 iphone c 和硬件 s p i 的, 这几个协议的通信时序一定要掌握。 六、开门狗如果你的简历上能够写的项目是有限的,尤其是你缺乏 linux 项目,可以多做一点 itm 三二的单盘机项目作为一种补充。 上面的内容只是 itm 三二的一些基础,如果你后续有时间学习 linux 启动的话,那 itm 三二学这些就够了。因为 linux 启动教程里还会涉及到更多 mcu 的 底层知识,所以内容上会有重复。当然了,也有很多的大佬即使没有学习 linux, 也能够找到一个很好的工作。这个确实是存在的,因为有一些公司的芯片或者产品本身它就不跑操作性,这个时候就会重点考察你的单片机掌握程度了,像 lcd 驱动、高速 usb 协议、 ddr 驱动这种,你要掌握熟练到位了,也会让面试官眼前一亮的。 在学 atm 三二的时候,我们不追求一定要记住某一部分的内容,只要掌握基本的流程,会模仿着使用就可以了。视频推荐,加拿大的世界很多人推荐正代原子的配套的资料代码非常的完善,要学直接基于库函数开发, 没有必要用计算器版本。这里边其实还有一个知识点,很多人问我要不要专门学一下魔术店,这个倒没有必要,因为常见的单片机电路,或者说外设的电路都是比较成熟的了,没事的时候一般不会重点问这些细节。 当然我也遇到过很多面试官问你会不会用示波器,会不会排查硬件电路,建议大家还是自己做一个 itm 三二的最小系统,家里创直接白嫖 pcb 三、 forrts, newcos, linux 这里将 forrts, newcos, linux 并列,是因为它们都是操作系统,在一些硬件资源比较有限的 mcu 平台,比如说 contacts m 加购物呢。 itm 三二 f 一 系列的单片机, 它不支持 m m u, 不 能跑 linux, 但是它支持跑轻量级的 ucos, 几何 to s 这些操作系统。一些需要处理复杂任务的芯片,它通常都需要依靠操作系统的多进程,多进程进行任务的调度,然后提高系统的实时响应能力。在校招的时候,很多公司会特殊的标明需要你掌握 ucos, 几何 to s 这样的系统。 当然这两个系统它是有一点类似的,大家只需要重点学习其中一个就行了。如果你后面有时间学习几何 to s 这样的系统当中,它用的是多任务的概念, 项目之间可以通过信号量等等方式进行同步。这类系统通常不要求大家完全掌握,有一些基础的了解会应用就可以了。学 frattos, newcos 的 好处是,如果你不会 linux, 那 么可以把 frattos 和 newcos 加到单片机的项目上,增加项目的复杂程度。对于 linux 多进程多现成这一块,它属于应用开发的内容,但是你还是要对基础概念和理论知识有一些了解,相关的重点如下,一、 进城县城的概念和区别二、进城县城的同步方式三、锁的概念部署锁,自选锁的。四、 fork clone 五、创建守护进程六、用户空间内核空间这部分内容下面 linux 软件开发相关岗位的时候会都问到 linux 应用层开发这块的视频推荐,正面原子的也可以看,比如说伪动山的。四、逻辑外设, linux 驱动这部分是要求你会 linux 的, 或者直接叫 linux 驱动开发工程师,大家可以去 b 站看近几年的视频,无论是正点原子的还是伪东山的,播放量都非常的高。早一点的通常是基于恩知普的 爱豆 max。 六、 ol 开发,新一点的基于 atm 三二 mp 幺五七,小众一点的像瑞星微的开发版也能跑 linux, 还有全智科技的等等。以我自己的经验,学了 linux 驱动部分,可以投的岗位会更多。对于驱动开发岗,有的是做裸机开发的,也有做 linux 驱动开发的, 现有的视频教程实际上也是从裸机的底层计算器开始。 linux 驱动大家可以理解成在 linux 环境和框架下去做底层的代码编辑。下面是 linux 驱动的一些面试重点,一、 uptrono 跟文件系统一致。二、交叉变异。 三、基本的 java 命令。四、无棒头会用。五、伺服设备框架。六、输入输出子系统。七、 fnc 总线、 platform 总线等。八、设备数驱动和设备数是如何匹配的?九、块设备框架关于 linux 的 驱动学习,建议大家多画一些框图、结构图进行梳理,最典型的伺服设备的框架怎么写一定要知道, 以及设备和驱动是如何匹配的。优步特内核移植要跟着教程多做几遍,这里边很多细节,校招的时候如果你能够掌握前八点对一块设备的驱动,先不学也没太大关系。实验室管有很多可以问你的问题, 如果你想利用这段时间学习的话,给大家准备了先后是自学学习资料包,先后是各岗位的学习路线图、三大基础课, c 研、 i t m 三二五种总线协议、经典书籍、硬核实战项目、大量的简历模板,还有一些高频的笔试题。

测试开发到底要学什么?我今天花一分钟的时间给大家讲透彻。只有中大厂才会设立测试开发这个角色, 一般来说测试开发是为测试服务的,给测试团队开发一些能提效的网站和工具。在大厂还有一些测试开发是直接替代了软件测试的岗位,所以我先说大厂的门槛低的测试开发要求什么样的技术,我们可以直接看左边这块的目录, 首先肯定是要求所有的软硬测试的基础的技术都要会,这是最基本的入门。 其次才是更深层次的进阶技术,比如说我这里写的 linux 进阶,也就是我们的绣边城是 mac 条哟, 还有 python 的 一些编辑工具,还有一些算法,以及我们的各种中间件的测试,比如说 radis, nix 还有 mq 等等。之后我们的性能调优,还有全链路压测以及自动化框架的一个二次开发封装。 还有就是我们的安全测试 dickens, 实现 c i c d 的 整个流程,还有我们的 docker 容器和 k 八 s。 最后就是我们的 devops 和单元测试和白盒测试。至于一些全站测试开发的要求,也就是说也就是我所说的第一种很难的测试开发的技术路线, 一般来说非常的广泛的,每个公司的要求就这样,他也是不太一样的,我也说不全,我就说我会的以及我接触过的。比如说最简单的就是我们的江狗,用江狗来实现网站的一个纯原生全站式开发。比如最简单的就是用江狗 来实现网站的纯原生的全站测试开发,前后端都是用的江狗,往前一步,前端我们用 vue, 后端我们用江狗来实现,或者我们前端用 vue, 后端用 spring boot。 要去学习微服务,中间件开发 等等很多的开发的技术站,大家也不要慌,测试开发的开发深度肯定是比专业的开 java 开发和前端开发要求简单的多,不过学习周期都是很长的。我个人是建议你走江狗的测试开发 这块题,网站也快,语法也简单,如果说你还不知道如何去学习测试开发,可以来问我或者找我领取测试开发的学习路线。

记录,最近学习了佳立创的 esp 三二开发版,简单了解一下。外设有两个拓展接口,两个麦克风 屏幕,摄像头,扬声器、 type c 接口、 sd 卡插座。接下来展示主界面,集成了六个功能,六个功能分别是录音、音乐播放器、摄像头打开,还有 a p 配网, wifi 平台上传数据。陀螺仪。第二个界面是显示时间年月日,目前还没配网, 配网才能获取真实值。介绍,第一个功能,点进录音,进入录音界面,通过滑动确定录音时长范围是零到六十秒, 录制的音频文件会放入 sd 卡,后续会放在界面读取。第二个是音乐播放,从 sd 卡读取已下载的 mp 三文件,播放音乐,调节音量大小, 切换音乐。 接着 a p 配网需要打开热点连接,连接成功会提示。 接着是向 linux 平台上报数据,登录 linux 平台查看上报数据, 上报数据只是 linux 平台功能之一,其他功能有待开发。最后是陀螺仪功能,有正常的 z x y 轴角度,同时它还有一个运动检测功能,达到一定的加速度域值会触发事件, 这里体现在摇动,让运动标题字体变红,后面可在上面添加亮平息屏功能。第二个界面,连接完 wifi, 获取时间戳,再转化成我们平时看到的形式。摄像头单独可以打开,但是与 wifi 一 起启动会出现内存不够,这部分有待优化。

这讲课我们来使用环形队列解决之前课程当中遇到的问题,当时在 y o e 主流程里面有延时五百毫秒,窗口,这边接收到的数据的频率是二百毫秒,也就是解析接收到的数据比较慢, 所以会导致有的数据包没有解析到代码实现主要在 app 点 c 这个文件里面。之前在代码历程里面,我们解析数据包的长度都是固定的七个字节是吧?两个针头, 一个字节的数据长度,一个功能字 led 灯的编号,亮灭状态,还有一个字节的胶原数据。现在因为我们使用了环境队列,它的缓存可以比较大,我们就可以很方便的去解析处理不同包长度的数据, 比如说十个字节,十一个字节都可以,当然数据格式还是基本上是一样的,两个针头数据长度,功能字,只不过功能字后面的这些控制数据啊可以是变化的, 最后还是一个字节的椒盐数据,那么对于这些红利我们可以改造一下。数据域的长度 我们就不限定为三了。包长度我们定义两个红,一个是最小的包长度 m i n, 比如说定义为七,再定义一个最大的包长度,这个到时候大家做项目就根据自己的实际需求,我们在这就定义为十一。功能字对应的数值下标偏移量还是三,这个没有变化, 其中的一个功能字是零六,这个也没有变化。接下来是数组缓存,用来保存队列里面的数据,原来是二十,在这我们可以定义的大一点, 那么在定义这个队列使用的数组长度的时候,大家可以注意,我们最好定义为包长度的倍数,这样我们就可以在队列里面保存完整的整包数据了,是不是? 在这我们就定义为七十七,这样既是最小包长度的整数倍,也是最大包长度的整数倍,这个大家到时候自己去灵活的设计就行了。那么在设计数值长度的时候,还有一个讲究,我们要看一下 串口接收数据的频率和主流程里面处理数据的频率,他的倍数。比如说我们串口接收数据二百毫米一次, 然后主流程一千毫米处理一次,那就是五倍的关系。所以我们怎么定义这个数组的长度啊?就可以使用五乘以一包数据的长度,也就是五乘以七 三十五个就可以,不然主链成还是会有一些数据包没有来得及处理就被覆盖了,是不是?这个大家下来自己去实验去感受一下。这个全距变量代表获取到一包数据,我们就可以去掉了,因为在堆列里面 是好多包的数据了,是不是?然后我们还要定义一个环形队列对应的变量, static q u e u e 我 们需要包含一下头文件, q u e u e 点 h 下划线 r c v q u e u e 好, 有了数组,有了环形队列变量,我们就可以进行抽象了。 那储值化咱们就放在 appinet 这个函数里面,要用接口函数 q u e u einet 三个参数,第一个参数,环境队列变量的地址, g r c v q 取地址。第二个参数,队列缓存的数值首地址 later 八分。 第三个是数组元素个数长度 max buffer size 接下来我们改造 prok uvata data 这个接口函数,它是在中断服务函数里面调用的 每来一个串口的一个字节数据,去调用这个接口函数,然后保存在数组当中,是吧?那现在这些代码我们都可以删掉了, 直接调用 u e u e push 入对的接口函数,取地址 g u q 第二个参数是 data, 这样就入对了,很简单,是不是 我们去改造这个结构函数去掉?在这我们可以首先定义一个局部的变量数值, read buffer 元素的个数 packet data max 数值化为零。我们使用 while 循环去干嘛?去解析针头,一直使用 while 循环去查找,找到针头零 x 五五为止。

如果你想自学切腹式开发,给你推荐一些优质且免费的学习资源。一、 c 语言 c 语言免费的教程资源网上有很多,比如说郝斌、文凯、 鹏哥,以及我自己录制的 c 语言,选谁不重要,找一个能够听得下去的,重要的是不要一味的刷客,一定要跟着敲代码。二、数据结构严维敏,可以结合他的手机一起学。王卓 信哥,我要单片机,推荐加厚大的教程入门,所有的外设都要学,如果你的时间非常充足,可以先学,我要打基础。如果现在着急就业找工作,你可以跳过 hm。 三二、单片机,同样学加厚大的教程,但是学完只能算是入门的水平, 一定要一边学一边做项目,想看 fsmc 这样的可以先不学。还有酷的教程可以看。铁头山羊,他讲的时钟书很绝,但是最好先看一下标准酷再看,还有酷 rds。 推荐伟东山,重点学任务管理、通信机制、内存管理,记住不要死背原码。 linux 应用开发需要学习文件 i o 变换、程序设计、网络编程。想要快速入门,看伟东山的教程,很多人在刚开始学 linux 的 时候,会尝试着把所有的 linux 命令都记住, 其实没有必要把常用的几个记下来,用到了再查就可以。要是底层开发,需要学 em 体系结构和接口技术,系统移植、内核及驱动开发。总结一下,想入这行 就要做好坚持学习的准备,这个行业涉及的知识面确实太宽了,那好处就是不容易被替代,工作待遇也还可以,未来当老板的都大有人在,坏处嘛,就是需要花大量的时间来学习。