哈喽,各位小伙伴们大家好,这里是 kiss king, 这期视频是我即将为大家带来的 kiss king 的 s m 三二教程的第零集,这一集我们就来通过 q and a 的形式为大家介绍一下咱们这个教程所涉及的林林总总。 那么问题一,什么是单片机?什么是 stm 三二呢?不知道各位小伙伴在平时的生活中有没有过这样的思考, 为什么无人机可以在空中保持平衡,可以配合你的控制上下翻飞?为什么智能窗帘可以在清晨的时候自动拉开,傍晚的时候又自动关闭?扫地机器人又为什么可以在你离家后自动的开始打扫? 为什么智慧镜的 electron 机器人可以与电脑进行交互,可以做出与你相同的动作?那么这些问题呢,其实都 有一个共同的答案,单片机。其实呢,咱们可以把单片机理解为一种微型的电脑,他藏在咱们的兰博基尼里,藏在电梯控制板里,藏在洗衣机电冰箱里,甚至藏在咱们的蓝牙耳机里。 可以说,单面机藏在几乎一切需要程序控制但又不至于塞一台电脑进去的地方,默默地工作,执行我们为他们下达的指令。 而咱们本系列教程的主角呢,就是这单片机中的佼佼者,全世界使用量最多的单片机之一,来自易法半导体的 stm 三二。 几乎所有的学校都会将 s t m 三二作为单片机课程的御用芯片,而且市面上非常多的智能硬件产品也都使用 s t m 三二作为他们产品的大脑。如果各位小伙伴学会了 s t m 三二,就可以跟着 b 站上许多大佬的教程,制作 b 站小电视等有趣的创作,也可以以 s t m 三二作为主控,在各类机器人大赛中,电子设计大赛中所向披靡。 而且毕业以后呢,也可以参与到像智能家居、智能穿戴、物联网工业这样的新时代产业进行研发的工作。 那么问题二来了,为了跟着 kiss king 的 s t m 三二教程,学会 s t m 三二,各位小伙伴需要什么基础吗? 那么是的,本系列教程呢,需要大家懂得简单的 say 语言基础语法,至少呢,要懂得 say 语言中什么是变量,什么是函数, 会使用 if l 进行简单的编程,这就足够了。而至于像五幺单片机等其他单片机的基础,其实是没有太大的必要的,每个单片机的知识点呢, 我都会为小伙伴们在课程中讲解清楚。那问题三,咱们这个教程跟其他的 stm 三二课程相比有什么特点呢?首先,本教程呢,是完完全全由我这个教程区 up 主做出来给大家看的, 大家可以在 b 站等视频平台直接观看,完全的免费,顶多呢也就给个一键三连作为学费就好了。 不过呢,提到花钱,在这里还是需要补充一句的,大家在学习单片机的过程中,包括学会之后用单片机做自己的东西,做各种比赛的时候,肯定还是需要买些芯片开发版,各种电子元器件等硬件,这是硬件学习免不了的事情。 好在呢,大家常用的一些原件也都不算太贵,那咱们这个教程的第二个特点呢,就是尽量干练无废话,与常见的直接录桌面的课程 不太一样的是,每一期视频我都会写稿,然后精炼稿件,力求没有废话,在保证合适的节奏的前提下,尽量用最少的时间让大家学会所有的知识点。 而第三个特点就是咱们以实战为主,同时配合一些原理的讲解动画,用我最大的努力为大家讲的生动形象。具体 下一个问题,如何学习单面机呢?首先,不管是学习单面机还是其他的理工类知识,各位小伙伴一定要动起手来,千万不要认为看了文章看了视频就是学会了,实际上只要没有动手,那其实跟没有看是没有太大的区别的。 当然了,学习 c 语言等软件编程时,我们只要下载现用的编译器跟着操作就好了。但对于单片机这类涉及到硬件的知识,确实跟软件有 一些区别。如果大家在与我不同的芯片,不同的开发板,不同的电路上去应用与我相同的程序,那效果肯定是不同的。而且绝大多数的小伙伴刚刚开始学习电路,基础还是比较薄弱的,无法自己去搭建一套副线的电路, 而且只要自搭的电路中稍有偏差,可能附线的效果就出不来了,也无法确定到底是电路问题还是是不是学习的过程中遗漏了什么。所以, 所以我为大家设计了这套学习套件。 那么最后一个问题,学习套件为大家准备了什么呢?咱们的 学习套件大概包含了这些,其中最核心的当然是 s t m 三二芯片。 s t m 三二芯片我为大家选用了最常见的 s t m 三二 f 幺零三 c 八 t 六, 他支持七十二道赫兹的运行速度,拥有六十四 k 的存储空间,二十 k 的运行内存,有四十八个银角,也就是这些小铁丝,四十八个里呢,有三十七个可以用来跟电路进行交互,所以大家日常学习合作比赛,基本上这个型号就够用了。 除了芯片,还有很多丰富的外设,每个外设呢,都是我根据大家要学习的知识点一一为大家挑选的。比如 rgb、 led, 用来教会大家最基础的如何使用银角控制高低电瓶点亮小灯按键呢,会用来教大家如何读取电路上的高低电频。另外像 led d、 小风扇等多个元件都可以应用于小伙伴们对 p w m。 的学习。那除了这些基础的知识点,我还为大家准备了一些稍微复杂一点但非常常用的元件,比如 oled 屏幕、蓝牙适配器、 dst 二零温湿度传感器等。 这些原件呢,除了用来学习像 spi、 iphone c 等通信协议以外,我们还可以靠这些原件来做一些类似于智能家居的比较综合性的项目。 当然了,还有一些其他的原件,每个原件我都为大家设计了知识点,后面的课程中都会为大家一一讲解到, 力求让大家在对各种外设元件的实践中学会单片机的各种知识点。还是那句话,理工科只有动手才能真正学会。非常推荐大家通过视频简介或者关注我的公众号发送 s m 三二或 学习套件的获取链接。在后面的课程中呢,跟着我的操作去动手,将知识点转化为芯片上的程序,这样呢,才能真正的有所收获。当然了,没有学习套件的小伙伴也要务必将没有用到学习套件的步骤去跟着教程做一做,记住,理工科只有动手才能真正的学会。 好了,那么本期视频内容就是这些了,如果你想跟着 up 主学会 stm 三二开发的话,不妨给 up 点一个关注,另外也别忘了一键三连交点学费,这对我非常重要,十分感谢!下一期视频,我将带领小伙伴们安装 stm 三二的开发环境,赶紧去看看吧,我们一会见!
粉丝5.1万获赞12.4万

接下来啊,看我这个操作,这个操作啊,能让单片机编程的小白啊欢呼雀跃,能让编程的大神啊直冒冷汗, 喜欢电子电路的,喜欢单片机编程的,学过五幺的,想做 stm 三二编程的,珍惜这条视频吧,赶快点赞收藏 这条视频啊,是打开格局的视频,格局打开了,学习不就简单起来了吗?咱们先看这些硬件,这是幺六零二的液晶屏, 这是 stm 三二的开发版,是一个最小系统,这是 usb 转 ttl 的一个电瓶转换的小工具,这就是他们的全部。 其实啊,这些都不重要,重要的是我要告诉你,这个编程以及下载程序都是在三十秒以内完成的,并且啊是全中文的编程界面,不知道你会 是怎样的感觉,下面我说一说如何操作。首先呢,咱们来看编程,上面就是初始化液晶屏的一个模块,然后这边幺六零二咱们使用了 iphone c 一, 然后下面啊就是一个简单的定时器,咱们呀,让他间隔二百毫秒,这样呢,让咱们 d p c 十三端口的广角的电瓶啊,让他做一个翻转,这样呢,就让咱们的这边的一个灯啊,让他闪烁起来。 再往下就非常简单了,就是咱们液晶屏要显示的内容,咱们从第一行第一列开始先显示呢, hello everyone, 然后在第二行的第一列开始呢又显示, this is s t m 三二,是不是非常简单。 然后这样的程序啊,这就完事了,这就没有了,已经完成了,如果非要看英文代码的话,咱们看一下 这边啊,同步生成了英文代码,哎,这就是咱们程序的英文代码是这么多,然后咱们看一下左边的,这是咱们的中文的程序,就这么点 下面啊,咱们应该把它下载下来。程序的下载啊也非常简单,咱们呀就用创口下载, cpu 的频率呢,咱们就用默认的七十二兆就可以了。这个小板子啊,默认的是 swd 的下载方式,并没有把创口引出来,不过没有关系, 咱们找一找串口在哪里,咱们看一下这边有 t x e、 二 x e, 哎,这不就是串口吗?就 是 p a 九 p a 十。于是啊,咱们就把咱们这个下载器啊,把它的 r x 和 t x 分别与这边的 p a 九和 p a 十啊做一个 交叉连接就可以了,这样咱们不就可以用创口下载了吗,非常的简单。同时啊,咱们还要注意一下,咱们下载的时候,使用创口的时候,把这边的布特零设为一,布特一设为零,这样一高一低这样一种方式, 一会啊咱们正常运行的时候要把它再放回来,也就是不特零为零,不特一为一,这样是从 flash 启动的这样一种方式,因为咱们下载以后啊,咱们的程序就放进了 flash 里面,现在啊已经把它插到这边,咱们呀开始给它下载成 程序,现在啊程序正在上传中,咱们看一下能否上传成功,哎,正在写入程序上传成功,咱们看一下用了多长时间, 用时十九秒,现在呢程序啊已经下载好了,就可以把它拔下来了,拔下来以后啊,咱们就可以供电给这个小板子,让它驱动起来执行咱们的任务了。在供电之前呢,有一点咱们要注意一下这边的启动方式,咱们选择一下, 把这边的布特零呢也设置为零,这样呢布特零和布特一呢都为零的方式,也就是从咱们弗莱斯内部启动, 咱们现在给他供电,哎,上电咱们看一看,一共有两个任务,一个是液晶屏的显示,这边呢是 led 灯的闪烁,亮 二百毫秒灭二百毫秒,咱们再看一看,这不就是正在执行的程序吗?这不就完成了吗?所以说啊,咱们格局打开了,咱们学习也就简单了。我是秦老师,如果我的视频啊对你有帮助,欢迎点赞关注我,咱们后面啊要学习的还很多。

本来就有点抗拒的,但还是忍不住手痒装了个米撕起来看看。看到 artery no 代码就不自觉地悄悄悄。可是他说只读啊,鼠标右键可以进入编码模式,果断进入哦。 嚯。这熟悉的感觉真的太好了。这个应该先提示 wifi 连接之后才到下面的,等待连接。举手,打字真不友好, 如果用图形做,感觉没有这么随心玩。图形编成这个东西看起来就像是学习使用软件,关于其他东西很难能学到,这只能大概了解到开发版 内在的东西,一点也不懂,不过简单学了软件使用后,只使用软件内提供的模块功能,倒是真的能很快做出对应 的功能,比如链接个 wifi, 操作个舵机,发个 p w m 之类的。嗯, 代码到这里可以提示 wifi 链接成功了。不知道图形下好不好理解。哎呀,好烦啊,我在干嘛?装个图形工具后在里面打码得了,就这么多?

定时器是 stm 三二中非常重要的功能模块之一,用于计时生成精确的时间延迟触发事件。使用 stm 三二的定时器可以执行计时和测量外部信号的操作。下面我就来介绍一下如何使用定时器。设计一个程序,实现定时十毫秒,触发定时器中外使用 stm 三二就拜拜创建一个 选择我们使用的 mc 以上,所以也就是 f 一,这最终为八十三,还为七十。 打开定时器中断,实现时钟配置正确。定时器每时二次触发中断。定时器的时间计算公式, 举个例子,当定时器的五线施工员为八十四,传媒主力和 sk 二为八十三, pk 为九四十,定时设计为八十四乘以八千四百万等于零点零零零零一等于十 s, 设置定时器中断,优先起密 填写生成的工程信息、工程名称、存放位置等。值得注意的是, dk 的最小版本千万不要选错,选择代码生成结构,生成代码成功的话会出现提示我们打开工程看一下。 我们需要开启定时器中断填写代码, 编写定时器中断回调函数, 我们在中断回调函数中记得判断是否是我们需要的定时器区域, 每次程序运行到此处,代表比上次触发中断过去了十毫米,我们可以依据这个编写我们的功能。关于使用定时期的介绍就结束了,更多精彩后续欢迎关注本视频号。

通过点亮一个灯,学习标准库编程方法。上期我们新建好了工程,本期我们使用一下点亮一个 led 灯,从中学习编程思想。我们打开工程编译一下,这样既能检查一下工程是否错误,又能在编程中使用跳转可以看到没有错误。 我们现在写一下程序,点亮一个灯本质就是操作 gpio。 在写程序之前,我们介绍几个概念, 一、外设就是在芯片上所有外围功能模块二、时钟时钟就相当于外设的心脏,在使用外设前都必须打开时钟,否则没办法工作。 可以看这张图,这是 stm 三二结构框图,可以在数据手册中找到。除了内核,其他都属于外设, 可以看到这里有很多我们今天要用到的 gpio, 也是外设的一种,那么内核是怎么控制 gpio 和其他外设的呢?其实它是用这些总线控制的, 这些总线就相当于联络员接通内核与外设,可以看到这里有很多总线,在使用外设时,外设在哪一条总线下,我们就需要打开哪条总线的时钟。 我的板子上 led 灯接的是 p c 十三,要使用 g p i o c, 所以就需要打开 a p p 二的时钟。 分析完这些回到我们的工程,第一步就是打开 a p b 二的时钟,这个函数就是打开 a p b 二时钟的,我们可以右键打开它,看下使用方法,这里都有详细的使用方法,我们放大看下,可以看到这里第一个参 参数就是要我们传入要开启的外设,他把能传入的参数都列出来了,我们选择这个后缀为 gpioc 的参数传入进去就可以了,复制下来粘贴到这里,这样第一个参数就完成了。我们看一下还有哪些参数可以点击这里返回上一个页面。 这里还有一个参数,是说要打开时钟还是要关闭时钟? enable 是打开, disable 是关闭,我们选择 enable 将它放到这里就可以了。这样几 p i o c 的时钟就打开了。现在 p c 十三还不能正常工作,我们还需要配置一下 g p i o 的输入输出模式等参数,才能让它正常工作。使用 g p i o innate 函数就可以配置它的参数了。同样我们右键跳转到 函数,就可以看到它的详细使用方法了,这里就是详细使用方法。这里第一个参数意思是说我们要选择哪一组 gpio? 由 a 到 g 组,我们选择 gpioc。 回到 may 函数,我们填入 g p i o c 这里看到还需要参数,我们右键再回去看一下。这里是说需要一个结构题参数,结构题定义是 g p i o innate type define。 我们转到定义看一下, 这里就是他的定义了,里面包含了 gpl 配置的所有参数,他需要这样一个结构体作为参数,所以我们要定义这样一个结构体。我们在上面这里定义一下,名字随便起,但是为了见明之意, 我们叫做 gpio in its draft。 现在我们在下面这里把这个结构体里的元素复制一下,我们先全部引出来,然后再一个个看下。 我们先看一下这个 mode, 我们右键转到结构体的定义,我们看一下 mode 怎么复制,这里意思是说 mode 是配置 gpio 的工作模式,具体值在 gpio mode tap define 中,我们右键转到这里看一下, 这里就是之前视频中讲过的八种 gpio 工作模式,我们选择推碗输出模式,复制一下粘贴到这里,这样这个 mod 就填写好了,我们再看一下 gpio pin, 看下定义,我们知道 g p i o c 这一组有很多银角,这里意思是说要配置哪个 g p i o 引角可以参考 g p i o p s define, 这个是在下方,这里我们要使用 p c 十三,所以我们选择这个复制过去就可以了。最后我们看一下 speed 参数,还是转到定义这里,意思是说要配置 g p i o 的速度,可以参考这个 define, 我们去看下,这里我们选择五十兆赫兹就行了,我们粘贴过去,这样就复制结束了。 最后我们把结构体传进函数,注意参数是指针形式,我们需要取地址,这时候 pc 十三已经配置完成了,接下来我们就可以使用了, 因为我板子上是低电频,点亮 led 灯,我们可以使用 gpio reset bass 函数,让 io 口述出低电频。我们需要告诉这个函数,我们要控制哪 哪一组,哪一个 g p i o, 所以要把 g p i o c g p i o 片十三传进去。现在程序已经写好了,我们编译一下, 可以看到没有错误,我们现在就可以接好下载器和板子的线下载程序了。下载程序之前需要先配置一下,点击魔术棒 debug 选项, 这里选择你自己使用的下载器类型,我使用的是 dap, 所以选择这个点击确定,点击这里下载程序 可以看到这里已经下载好了,我们看下现象,复位一下就可以看到已经点亮了。现在我们来总结一下,一、在使用外设之前要先打开对应的总线时钟。二、初始化配置 gpio 时,如果有不会使用的函数, 可以跳转查看定义,也可以直接打开对应的文件去查看可以使用的函数,函数文件就在 lab 组里,每一个外设都有对应的文件, 末尾是 rcc 的就是时钟的酷函数文件, gpio 的就是 gpio 的酷函数文件。今天的视频就到这里了,喜欢就点个关注再走吧,我们下期见。

用 q 五新建一个 stm 三二工程,目前 stm 三二开发方式主要有三种,一、直接操作寄存器方式二,使用标准库方式 三、使用 hoco 方式。直接操作寄存器方式是我们直接配置寄存器程序,执行效率最高,但是由于 stm 三二结构复杂,这种开发方式不推荐 使用。标准库就是使用 st 官方封装的一些操作寄存器的库函数,让我们提高开发效率。 本期内容就是使用标准库创建工程。最后一种 hel 库方式就是可以使用图形化界面配置,可以快速入门,但是他隐藏了底层逻辑,不利于我们深入学习,可以学习标准库之后再去学习这种开发方式。 我们现在开始创建工程,这个是今天要用到的标准库,如果有需要可以留言我之后可以发出来。这个是已经解压出来的文件,我们打开看一下, 这个内部文件夹就是今天所需要的文件。由于工程文件比较多,所以我们开始创建工程前需要先创建一个文件夹,我们命名为 stm 三十二 project, 现在打开 q 五开始创建工程, 点击 project, 点击第一个,这里我们选择刚才创建的文件夹, 给我们的工程起一个名字,然后点击保存,这时候就会跳出选择芯片型号的页面,我今天 使用的是 stm 三二 f 幺零三 c 八 t 六,大家可以按自己的芯片选择相应的型号,选择之后点击确定这个页面,我们可以直接关闭。现在我们这个工程还无法使用,还缺少启动文件,我们现在去内部库中复制一下, 打开我们的工程文件夹和 lab 文件夹,启动文件都在 com sis 文件夹中,这里文件目录比较深,跟着我的操作找到启动文件, 这个 startup 就是全部启动文件所在,这里有很多编译器版本,我们选择 on, 将里面的文件全部复制下来。 在我们的工程目录中创建一个 start 文件夹,我们打开它,将刚才的文件 复制进来,回到刚才的 startup 所在位置,我们还需要复制这几个文件,也复制到 startup 文件夹中,我们还需要内核文件在列补文件夹, comes this 文件夹, cm 三文件夹, call support 文件夹中,将这两个文件也复制到 startup 文件夹里。 接下来回到工程,将刚才复制文件都加载到工程中,点击这个文件夹,我们改个名字,改成 start, 点击上方三个小方格,我们在这里添加文件,点击 add files, 选择 start 文件夹,点击文件类型,选择全部文件类型, 选择前面两个文件,点击 at 添加文件,这些 startup 文件选择后缀为 m d 点 s 的文件,点击添加 下方这些文件全部添加,最后点击关闭就可以了,然后退出就完成了。添加这里就可以看到添加的文件了, 然后我们需要把 start 文件加的路径也添加进来,点击上方的魔术棒,选择 c c 加加选项卡,点击这里。再点这里,我们选择 start, 点击确定, 然后点击 ok, 这样文件目录就添加好了。我们再添加一个妹函数,先在工程文件夹中新建一个 user 文件夹, 回到工程,我们添加一个 user 组,点击这里添加组,名字改成 user, 然后我们右键添加一个 man 函数文件,选择 c 文件 键,名字是 main 路径,选择我们刚才创建的 user 文件夹,点击确定。我们右键添加一个头文件,点击这里添加,然后我们快速写一下 main 函数, 我们点击这里编译一下,可以看到有很多错误,这是因为我们的编译器是版本六,切换到五就可以了,点击这里选择版本五,我们再次编译一下, 可以看到已经没有错误了,这时候已经可以使用寄存器方式开发程序了,我们是需要用标准库开发,我们还需要再复制一些文件进来。打开 lab 库文件键 家和我们的工程文件夹,我们先在工程文件夹中新建一个列布文件夹,然后在列布库文件夹中选择第二个文件夹, 点击打开。我们要把 src 和 ink 两个文件夹中的文件全部复制到我们刚才创建的文件夹中,然后回到我们的工程,把它们添加进工程,点击上方三个小方格,在这里新建一个名为 leave 的组, 按照刚才添加 start 文件的方法在这里添加我们刚才复制的文件,现在已经添加好 lab 文件了,这是已经添加好的文件,我们可以在这里把 lab 组向上挪一下位置, 现在我们再复制一下库参考历程里面的配置文件和中断入口文件,打开库文件夹和工程文件夹,找到 历程,这里就是历程了,我们打开选择第二个文件夹,在这里复制下面这三个文件到我们的 user 文件夹就可以了。然后打开我们的工程,把它们添加到我们的 user 组里面,按照刚才的方法添加进来, 现在整个工程文件已经复制好了,我们添加一下内部文件路径, 我们最后配置一下红定义,右键打开头文件,将文件拉到最下面,找到这个红定义, 将这个红定义复制下来。接着我们点击魔术棒,选择 c c 加加选项卡,将刚才复制的红粘贴到这里,这样就可以了,点击 ok, 关闭,回到我们的魅函数,现在工程已经基本完成了,我们编译一下 可以看到很多错误,看这些错误的意思是找不到文件,说明我们还有文件路径没有添加,我们按照刚才的方法添加一下路径,这里是没有添加 uso 文件加路径,我们添加一下, 我们再次编译一下,可以看到已经没有错误了。工程到这里已经创建好了,喜欢的小伙伴记得点赞关注哦,我们下期见。

如何用 s t m 三二单片机点亮 l e d 灯?点灯是所有学单片机的人首先学会的第一项技能。要实现 s t m 三二点灯,需要先了解一下点亮 l e d 灯的一个 s t m 三二最小系统电路的组成。 什么是 stm 三二最小系统?简单点说就是能使 stm 三二正常工作所需要的一个最少硬件模块电路。 以 stm 三二 f 四零七芯片为例,要实现一个 led 控制的最小系统,至少需要包括 mcu 模块、 时钟模块、电源模块、复位模块、调试下载模块、启动配置模块以及 led 控制模块。这就是点亮 led 灯的 一个 stm 三二最小系统电路组成。先说 mcu 模块,这个相当于电脑的 cpu, 它是电路板的一个核心, 也是整个最小系统的大脑,包括 st m 三二 f 四零七主控以及两个内部调压器的滤波电容。 st m 三二 f 四零七是 st 的一款高性能处理器 芯片,内部包含 arm 内核、 flash 与 ram、 存储器、系统总线 以及用于控制 led 的 gpl 控制器在内的多种外设控制器。具体的芯片资源,大家可以看 stm 三二 f 四零七数据手册。对于开发以及学习 stm 三二来说,通读数据手册是非常重要的, 可以了解芯片内部的所有资源、外设特点、银角定义以及存储器映射等。尤其对于原理图设计来说,只有知道 stm 三二的银角定义,才能开始设计原理图。再说时钟模块,也叫金震电路, stm 三二单变机要正常运行,必须要有稳定的时钟脉冲信号,时钟就像人体的心脏,心脏跳动一下就推动血液流动一下。时钟产生的脉冲可以推动处理器读取与执行指令。 芯片运行的时钟频率越高,芯片处理的速度就越快,但同时功耗也越高。所以为了功耗和性能兼顾,微控制器一般有多个时钟源, 比如 s t m 三二 f 四零七支持多种时钟源配置,可由内部或外部产生或提供时钟。 s t m 三二采用低功耗时,可以配置为低速时钟, 高速时钟源与备频器设置为不开启使用什么外设,就使用相应外设的时钟,这样耗能就会减少。 虽说 stm 三二在设计之时已经有了内部时钟,但内部时钟容易受温度的影响产生偏差,在某些较高要求的场景下无法满足精度与稳定度的要求, 所以我们就需要外接时钟。电路案例开发版中采用的是外部八兆晶体斜震器与两个负载电轮同 m c cu, 内部电路构成震荡器。电源模块主要是为 mcu 和其他模块供电,电就是 mcu 要吃的饭,不吃饭, stm 三二芯片肯定不能工作,电源模块的稳定可靠也是系统平稳运行的前提和基础。 电源模块主要包括 usb 口、线性稳压器、线流电阻、发光二极管、滤波电容等组成。 stm 三二芯片的工作电压一般是三点三伏,案例中采用线性稳压器将五伏降压为三点三伏进行供电。 usb 口可以通过 type c 电源线外接五伏电源。滤波电容用于电源滤波。线流电阻用 于设置 led 的工作电流,调节发光亮度。发光二极管用于指示电源工作情况。复位模块主要是保证单面机在上电或复位后处于正确的工作状态。 本案例中采用 rc 复位,包括一个倾注开关、一个限流电阻、一个滤波电容。复位电路提供两种工作方式,第一种是 mcu 上电时的复位,第二种是手动按键复位 电阻。与电容串联的复位电路可用于 mcu 的上电复位控制。轻触开关可用于 mcu 异常时的手动复位。 调试下载模块为 m c u 提供仿真器测试或程序稍写接口调试模块包括调试端口和 两个滤波电容。调试接口主要有 swd 串形调试端口和 jtec 调试端口两种。案例中采用 swd 串型调试端口, swd 接口使用两根线代替了传统 jtec 接口中的多条线路, 具有占用空间少、传输速度快等优点。启动配置模块主要包括一个两位波马开关、四个限流电阻组成。 stm 三二芯片的启动方式是可以选择的, 通过两位拨码开关选择端口 boot 进行配置。 s t m 三二 f 四零七支持三种不同的启动方式,分别为主 flas 启动、系统存储器启动及嵌入式 sram 启动。案例中设置为 内部主 plus 区启动。 led 控制模块,用于控制 led 灯亮灭的功能模块。案例中采用限流电阻与发光二极管串联的方式实现 led 控制。 限流电阻用于设置 led 的工作电流,电流大小与 led 的参数有关。案例中 stm 三二 f 四零七芯片输出低电瓶时 led 就会点亮,输出高电瓶时 led 就会熄灭。 要深入了解如何控制 s t m 三二输出高低电瓶就需要了解 s t m 三二的 g p i o 工作原理,这个可以参考上期视频 s t m 三二 g p i o。 小知识。在了解了 s t m 三二最小系统的组成后,我们可以通过 d a 设计软件进行原力图与 p c b 图的设计,最终各个模块在印刷电路板上实现电气的连接,这样一个 st m 三二最小系统就设计完成了。 我们来演示 led 控制实验,我们将下载器通过下载线连接开发版的下载调试接口,然后将下载器另一端连接到电脑的 usb 接口, 通过 usb type c 电源线提供电源输入。然后我们将程序下载到开发板上, 就可以实现 led 灯的亮面控制了。 gpl 管角输出高电平时 led 灯熄灭,输出低电平时 led 灯被点亮。

大家好,欢迎收看三百分钟入门 stm 三二单片机,今天呢我们来讲串口,串口是一个单片机领域用的非常广泛的接口, 呃,我们实际在做工程啊,开发啊等等,这个创口都是用的非常多的,因此呢,对初学者来说有必要很好的掌握他的使用。 今天呢,我将给大家讲两种传统的使用方式,一种呢是查询状态位来完成收发的这样一个方法,另外一个就是常用的中段, 当然我们都知道中断肯定是最好一种方式,但是作为初学者来说的话,我们有必要通过掌握这种状态位,这种方式啊,查询状态位来完成收发,这种最基本的操作,有利于我们理解这个 模块是怎么工作的。好,现在我们来先看一下这个我们这个板子是怎么连接的,这个板子两根线连到电脑上去,一个是 usb, 呃,连接到我们这个核心板上,这里有一个 usb 转创口的芯片, 呃,这个出来的串口信号呢,会连接到我们这个单片机上去,另外一根线呢就是我们指令的这个下载线, 其他的,呃,这个演示操作因为没有,所以说这边我就给这大家看一个图,待会我下载程序的时候,我们直接看这个,呃,在这个 qq 上的调试这种效果, 我们来认识一下这个,呃,有爱的口啊,有爱的模块的这个整个内部的结构, 其实我们看一下,好像这个挺复杂的,但实际上我们研究透的话,他比八零五幺还要好用,为什么呢?我们来看一下最底下这一部分呢,是有艾特的 波特率产生模块,你说这部分呢?会直接产生我们波特率,不像这个八零五幺,我们需要借助额外的定时器来完成这一部分功能。而对于这个按摩上的这种 啊,单片机啊,他那个油啊,这里里面都会含含这个薄荷粒发生器,我们只要出的话,这个呃计算器就行了。 然后呃上面的话,这有很多这个控制计算器,这实际上是呃他们的不同的位啊,来来来控制他们这个不同的模块。嗯,这个呢 一般来说我们也不用知道它里边这些味起什么作用,因为我们一般都钓库嘛,如果说我们感兴趣的话,可以细致研究一下。 然后这个呃这边呢是一个中段计算器,就有一些标志啊等等的一些内容。最核心的模块是上面这里这些部分 包括一个呃两个移位计算器,一个是输入的,输入的话就是外面有一根线进来啊,就是我们叫 rx, 嗯, ix, 他会把数据移位到这个接收计算器里面,然后通过这个 r d r, 就是他一旦移位完了之后,他会锁存到这个 r d r 里面,我们 cpu 就可以通过读取他获得我们这个输入的数据,这样收到了数据。至于发送的话,相反 cpu 把数据放到 tdr 里面,然后 tdr 呢再给这个呃发送一位计算器,这样的话我们就可以把这个数据从这里面发送出去,然后发给其他的单片机,这就是我们这个单片机模块的一个最基本的功能。 呃,对于留空的来说的话,我们现在一般也不用了,现在用的比较少,大家知道有这样的功能,等高级的时候我们可以再去研究他的使用。好,现在我们直接来看代码。 呃,这个跟其他那个项目一样,我们注意要把这个红打开,打开以后我们就能使呢这个整个的弹幕的这个主循环了,我们来看一下这主循环,主循环呢?呃,首先我定义这个消息叫哈喽, 我们后面会用,然后就是油压的模块的整个出水化,在之后出化完之后现在我这个油压就可以用了,我就会调用这个串口,直接的发送了一个好漏的一个消息给我了这个 pc 机, 然后这个函数呢,他是通过查询状态未来发送的,因此呢他跟中段是没有关系的,我叫迪拜给他就是直接啊,直接发送。 循环题里面呢就是一个露 bug, 露个 bug 就是我们要回环也是直接回环,也是查这个状态位来完成这个受罚的,这个呢我就不在实际板上跑了,我们给大家看一下代码, 首先看出乳化,出乳化他们是公用的,一开始当然打开始终了,这个是通用的做法。 再往后呢就是我们 gpl 的这个 af 功能配置啊,我们查他的对此血水指导,对 uft 一来说,他的发送和接收是在 a 口的九十这两个的 af 一这个功能上呢,因此我们把配置一下,再往后就 gpl 的最基本的设置, 设置完之后我们就不用管了,现在这个模块就开始 ok 工作了。呃,再往后呢, gpl 配置好了,我们要配置这个串口的这个模块, 大家可以看到语句不多,我们就可以完成这个模块的配置了,首先第一个是波特力,邦德瑞泽,幺幺五二零零,我们可以看到我们直接写幺幺五二零零就行了,我们不用计算任何这个波特力计算器值到底多少啊,这个函数会帮我们算好,因为我们 底下的这个呃时钟啊,系统等等都出入化好了,因此系统完全可以知道我怎么去计算这个值。 后面呢就是我们这个针的长度,八位是我们最常用的一种方式,下面的是停止位, 停止位就是我们这个呃,有一二啊,两位半等等的,没有基友教验,留空等等的发送和接收,这两个我们要同时使呢,因为我们要既发售又接收吗?既发送又接收, 然后通过这个函数就可以完成对这个串口的出手话了, 这个还是我们就不研究了,里面会有一些呃,对个人计算器的操作我们感兴趣知道,想知道他怎么配置计算器的话 可以研究一下。这个呢是一个 oyron 的杰泰克的,我们一般把它给禁止掉啊,禁止掉, 再往底下是一个中段的配置,中段的配置我们要知道,就就是有的时候我们要用中段的方式的话, nvic 一定要配置这个我们在其他的那个 exit 里面也讲过,外部中段也讲过,都是通用的一些配置方式,我们把这个 usb 的 iq 打开就行了, 这些都好了,我们就可以使能 uit 模块,也就把我们窗口打开,正式开始工作。 我们看一下这个直接发送,刚才我说查询状态位置的方式,这种方式呢?他我们是呃发生一个缓冲区,呃一次我们发送一个字结, 然后就开始查我们这个是不是已经发送完,如果发送完的话相当有,现在可以发送下一个字节了,然后就开始发送下一个字节,就这样不断的循环,一直把所有字节都发出去,这个就直接发送, 然后非回环的话,非中断回环就是我在那个梦函数那个骆驼里边就是主循环里面演示的那个, 就像那我先查我有没有收到数,查收到数以后,我就把这个调用这个呃函数,就可以知道我收到是哪个数,然后呢?我什么也没干,把这个数又发出去了,因为叫回还吗?就是直接原封不动发回去, 然后再查询这个我是否发送完毕,发生完毕的话,现在我这个函数就完了,就是我收一个发一个,收一个发一个,如果在循环体里面不断的 来这个的话,就像那些我不断的说法,不断说法,这样的话就是,呃,我查标志位,我们大家注意这个位置啊,先查有没有收到,然后再读数,发送的时候相反先发送,再查我们发发完, 呃,然后这样的话就是我一次收发过程就完成了,因此大家要注意这个标志位查询的位置, 还有写法,就是说我这个有没有置位啊?没有置位我就不断的在查询死循环,在等这个呢,就是非中断的一种回还方式, 这个我就不给大家演示了。那我们来看一下中段来怎么处理中段的,刚才我们已经出了画过了,然后我们在这个呃中段服务程序里面也要呃打开这个 写好这个中段符程序就艾尔特呃, urt 一的这个 l q 啊,我们调我们这代末的这个中段符程序啊,我们在这呢啊,中段符程序, 这中断服务程序呢,其实也什么都没干,他也是一个回环,对于发上中断呢,我们直接忽略, 然后对于就这边我只做了这样处理。然后对于接收呢,我们接收到这个,这个 就是我们中断进来之后,我们是不知道是接受中断还是发上中断了,我们先判断对于发上中断,对,接受中断的话,我们就把这个数据读出来,然后直接发出去 就 ok 了,这就是中段的一个回环,相当于我们在中段服务成立,中段服务程序里面 什么也没干。其实呢大家可以在这个位置啊,在这个位置加我们想要的这个呃处理逻辑完了之后呢,再把我们想要的这个数据发出去, 这是一个最简单的这种逻辑,我可以在这里给大家演示一下我们怎么来中断回环的,我们保存一下,然后 中转幅程序里面包装的是这个露 bug, 编一下, 然后我们再加呃加载程序 好,运行完了之后,我们打开这个,我们来跑一下啊,好,我们可以看到 这个一开始这个弹幕里面打的这个哈喽,这句话生效了,把这个哈喽给打出来了,打开以后我们可以在底下随便发消息,然后他就会直接给回还回来, abcd f g abcde f 瑞士迪亚服,瑞士迪亚服就这样一个效果,我们这边可以改个数,一二三四五六七八, 然后发出去,这样就是一个回环的效果,回环呢就是我们发送什么,他接收,呃,接收到什么,然后再把它发回来,这就是一个回环的演示。 嗯,但功能非常简单啊,但实际上对我们学校最基本的这种应用还是很重要的。我们实际在做的时候呢,就 就可以通过改自己部分的代码来达到我们想要的效果啊。但是这种是不是一个最好的方式呢?嗯,实际上并不是啊,我们那个要 呃,抛弃这种以前在八零五幺那种做法,在中丈夫城里面做事情我们尽量不要这么干。呃,那我们下一讲呢,将会讲一个实际在工程中怎么使用的一种方式 啊?包括这个,这个简单的这块包我们用中段怎么处理?呃,中段怎么来解包?说完包之后怎么把这个包传给应用成在主循环里面处理这个包。下一次我们来讲这个使用方式。好,这次视频就到这,谢谢大家,我们下次视频再见。

hello, 欢迎各位小伙伴回来,这里是 kiss kim 俗话说,工欲善其事,必先利其器。那这期视频我们就一起来安装 s t m。 三二的开发环境。 s t m。 三二的开发呢,有多种软件可以供我们选择,但从主流的角度来看,在曾经的标准库时代, kill 是最主流的选择。而自从 hell 库出现之后, s t m 三二 q y m x 加上 kill 的组合,极大地提高了我们开发的效率,成为了主流。 不过呢,虽然 ko 一直都在主流的选择之中,但其原始的界面与功能也一直为人们所诟病。此外, ko 作为收费软件,其高昂的价格也令我们不得不在学习时使用,破解了盗版。但好消息是, s t m。 三二的母公司意法半导体为我们提供了 新的解决方案, s t m 三二 q b i d e 它是一款专为 s t m。 三二设计的高级 c c 加加开发平台,最方便的是,它内置集成了我们刚刚提到的 s t m 三二 q b m x。 轻轻使用 stm 三二 qbide 这一工具,就可以完成从芯片选型、外设配置、代码生成、代码编译到程序烧路、程序调试等所有的工作。那为了使小伙伴们能够更便捷的开始 stm 三二的学习,更重要的是为了顺应技术的发展, 咱们这个教程都会使用 s t m 三二 q b i d。 进行讲解。当然了,不管是 q b i d 还是 q 都只是我们编程的工具,而并非代码本身。如果你需要借鉴一个使用 q 的代码,只需要将其拿到 q b i d。 中使用就好了,他们之间并没有什么鸿沟。 那接下来我们来演示一下 q i d 的安装,各位小伙伴可以跟着我的操作一起来把开发环境安装到你的电脑上。首先是下载安装包,由于使用国内网络访问 st 的官方网站非常的缓慢,而且需要经过有些复杂的注册才能下载, 我为大家在公众号中准备了最新的安装包,并且持续与官网的更新保持同步。大家在关注公众号后发送 stm 三二就可以获得最新的安装包了。我们双击打开安装包就会看到欢迎界面,先点击 next, 然后同意协议。 随后我们就来到了选择软件安装路径的界面,我们可以使用默认的路径,也可以点击 bros 进行更换,然后再点击 next。 接下来会让我们选择要安装的可选组件,实际上就是两个程序下载器的协, 我们保持默认的选中,直接点击 install 开始安装。安装的中途会弹出 stlink 的安装界面,我们点击安装就好了,等到进度条结束,接着点击 next, 最后点击 finish。 现在我们的桌面上就出现了 stm 三二 qbid 的快捷方式图标,我们双击打开, 此时 qbid 会向我们询问工作空间。工作空间其实就是指用来存放我们 s t m 三二工程的文件夹, 此处可以保持默认,不过我推荐大家在合适的路径下新建一个 stm 三二文件夹,用来存放我们接下来学习过程中的所有工程。然后点击 launch 即可开启 qbid。 第一次打开 qbid 可能会被询问是否愿意被收集信息发送给官方,用于提升 qbid, 你可以根据自己的意愿选择 yes 或者 no, 至此,我们的 qbid 就安装成功了。是不是很简单?如果你也顺利的将 qbid 安装到了电脑上,恭喜你已经向着 stm 三二的大门迈出了第一步,不妨一键三连庆祝一下。 下集视频,我们将在不写任何一行代码的情况下完成我们的第一个 s t m 三二程序。点亮 l e d 小灯,赶紧乘胜追击去看看吧,我们一会见,拜拜!

大家好,不用写一行英文代码就可以控制这个非常常见的 stm 三二 f 幺零三 c 八 t 六单片机开发版。 what? 我们先接上数据线, 然后在这个 pc 十三的这个口,我接一个 led 这样的一个小电路,现在开始用积木式拖拽的方式进行编程。 在这个软件中我们找到输入和输出,我们找到输出,输出一个高电瓶,我们在这个里边选择 pc 十三, 要做一个闪烁的灯,再拖出来一个 时间的延时, 一高一低,加上时间的延时,就可以实现闪灯的效果。我们来试一下 上传程序, 此时我们会发现这个 led 灯它是可以闪烁的, 把延时的时间调的短一点。 上传程序, 此时我们会发现这盏灯在快速的闪烁。 nice! 通过积木式的编程更简单,更容易入门。欢迎点赞收藏关注不迷路,下个视频见!

欢迎您收看由铁头山羊工作组为您精心准备的 stm 三二入门之路系列视频。 我很荣幸能够成为您 stm 三二入门之路上的引路人。首先,我想请您跟我认识一下什么是 stm 三二。您可能会说, stm 三二就是这样一颗黑色的正方形芯片, 您说的没错,但是如果从另外一个角度来看的话,你会发现这颗小小的芯片远比你想象的更加神奇。 您可以将 stm 三二看做一个小小的世界,您恰恰就是这个世界的统帅。您可以通过一个一个的电路 和一行一行的代码来主宰这个世界的一切。当您点亮第一颗 led 驱动喇叭播放出第一首乐曲, 或者在 oled 显示器上打印出第一个字符的时候,当您将形形色色的外部电路加入到您的作品中的时候,你会感受到无穷无尽的乐趣。 这是因为您在一步一步的学会控制 stm 三二世界里的一切。所以我说 stm 三二的本质就是您用来控制电子世界的一个工具,是您发号施令的权杖。 下面呢,我将向您介绍学习这部视频您需要具备什么样的基础知识? 首先呢,您只需要具备最基本的四语言知识。 stm 三二的编程没有特别高级的语法,所有的编程都只需要使用库函数,您只需要学习怎么样去调用这些库函数,然后呢,把它们组合起来就能完成非常复杂的任务。 stm 三二的学习过程中不涉及面相对象,在编程的过程中,指针就是您能够碰到的最高级的语法了。 其次呢,您只需要具备大学一年级的电路知识,会看最基本的电路图,会使用欧姆定律, 知道二极管是单向导通的,知道三极管的作用是放大电流,这就足够了。开发 stm 三二项目除了编写软 软件之外,还需要制作硬件电路,但是绝大部分情况下,您碰到的电路都会非常简单,所以呢,就算只了解基本的电学知识,也完全够用了。 我想告诉您的是,对于学习这套视频来说,除了上述两点之外,最为重要的就是发挥出您的观察力和创造力,使用您的智慧不断去解锁 stm 三二的新功能。只要呢,您具备以上三点的基础, 剩下的一切就都交给我们吧!我们将尽自己最大的努力,帮助您敲开 stm 三二世界的大门,与您一起探索 stm 三二的神奇世界。当然,由于我们能力有限,如果您发现了我们是 视频中有哪些不当之处,欢迎您留言指教。如果您对我们的视频有任何的建议,那么我们也真诚的希望您将他们告诉我,您只需要在视频下方留言,我们就能收到您的反馈。 接下来,请您跟随我一同踏上 s t m 三二的入门之路!

很多小伙伴呢,都觉得编程太难了,希望有简单一点的编程办法,其实图形化编程的工具啊,倒也不少,尤其这几年儿童编程课越来越多,很多公司的团队啊,都在开发这类产品, 淘宝常见的几种空运化编程工具啊,大概都试了一遍,嗯,好像在中文环境下,只有米思琪的这个编程环境还是不错的,卡板和插件啊都比较全。米斯型图形化编程工具是这个北京师范大学 宿迁博士团队开发的知识的开发版非常多,各种酷爱相对比较齐全,比如我们今天呢,就来测试一下用 esp 八二六六来控制一个堕机做网速运动的程序,用图优化编程环境来开发是什么样子的。 首先我们来插上开发板,开发环境里面呢,就可以在这里选择找到 usb 八二幺六,然后这里呢选择我们的端口,然后这里我们就可以看一下这边什么输入,输出, 控制这个 l 管脚高低电瓶,然后出纸画重复判断,然后这里传感器,我们传感器的超型声波测距, 然后温度时间,然后红外度颜色。传感器啊,非常多传感器都是支库,都已经是集成金区啊,然后是支持的执行器里面我们看到有电机,这有电机驱动八八三三,然后这里我们看到堕机了, 然后把这个剁鸡哎投一个放进来,我这里这个呢是第五管脚,第五管脚,我们如果想知道第五管脚对应的 esc 八二六六是哪个管脚呢?你看我们还可以从这里攻击这里,哎,是有这个图的, 先把这个图放在这,哎,非常方便,这两天做的很科学。第五对应的是 io 十四,我们直接选择 io 十四,然后多击角度,首先是零,然后延时 五百毫米啊,然后呢,我们再我们还需要再来一个,哎,再来一个把它接住,然后这里还是这个管脚,然后度角度呢是一百八十度,然后延迟五百毫秒,哎, 这就完成了,非常简单啊,这这样就完成了,这个舵机从零到一百八,每个间隔五百毫秒,做一个往复运动的一个程序,这里还能直接看到圆码,哎,然后我们回到这个图形画上,这里我们程序已经做编完了,编完以后点击上传, 然后这里在编译,嗯,编译完成,然后再连接,然后上传,开始上传了,上传成功。好嘞,这样的应该就完成了,我们把这个剁鸡呢插在我们对应的这个端口上,哎,看这个剁鸡呢就已经开始运动了。这个 图形化编程的还是非常好玩的,可以让小朋友或者是初学编程的朋友啊,非常容易的理解编程的思路, 问题就是局限性能很大,有一些复杂的程序呢,我们就不太容易实现。好在呢这个软件呢非常方便的啊,可以让我们在途径化编程和代码编程之间来回切换,可以非常容易的通过图形化编程啊来来理解原码的意思, 最终呢,我们还是要通过中心化编程呢,来理解和学会啊,用这个代码来编程才是我们最终的目的。那我们这期就到这里,我们下集再见。