粉丝351获赞664

打开 d m 三二 q 单图形化编程工具,选择使用的单片机型号 p 至外部高速时中原, 通过时钟数配置外设时钟, 使能 user 日益不通信,对应引脚会自动开启。设置 换口的波特率,数据长度较严位停止为等参数。输入工程名,选择保存路径意见, 将外设初始化为独立的 c 和 h 文件,生成工程代码。 打开工程,进入干 k e d 中编写程序 s e m 三二 q galact, 自动生成外设初始化代码。 主函数 y 循环中编写程序使用库函数,从串口输出字符, 使用 print 函数时发现报错, 此时需要对 perin 函数进行重定项 pre n, 将函数重定向完成后报错消失。 设置二千毫秒一次循环 编译程序, 下载程序到单片机 实验效果演示。

大家好,这里是一起学单片机这节视频呢,给大家一起研究一下 s t m 三二 q 八 a d e 这款软件啊, 这种软件就相当于我们原来的 st m 三二 m x 升级版,那么它是整合了编译器,那么进行图形化编程配置以后了呢? 那么就他这个直接用这个软件里编译环境就可以进行编译了,支持 c 语言和 c 加加,对吧?那么就不需要原来我们用的 q 五这个软件来进行编译,进行代码编写,对吧? 那么这样的话比较方便,那么相当于升级整合在一起了,我们把它打开看一下,因为最近都在研究这个啊,所以别的没没有精力更新别的事情了,然后再加上手头一些版在做,所以这个其他的就没有没有时间去更新了,所以现在 刚好这段时间因为隔离在家,所以有空就给大家一起再拍拍视频。那么 stm 三二 qbid 这个软件呢,打开的时候他可能要去联网更新啊,所以说相对来说比较慢一点, 那么可能是更新一些库函数,包括这个芯片型号的更新好,基本打开了就是这样。左边这个就是项目数啊,就是项目管理器,就是你以前做的一些东西啊,右边这个窗口呢,你可以自己去调,这边主要是个变异环境了,就是我们代码段, 那么底下也是你自己调,这边就是在编译的时候会显示一些状态啊,那么重新新建一个,那么点击文件新建,对吧?我们选 stm 三二 project, 那么他会弹出让你选择芯片的型号,这个过程也是相对来说比较慢的啊, 那么他在初始化,你这个目标就是你选择芯片选用哪一款好,那么这个支持的是比较比较多的啊,因为他不断的在更新,所以从啊 f 零三一直到 f 七啊,这个比较多的型号是非常多的,那么选择你手头有的,一般我们手头有不都是那个 s t m 三二 f 幺零三系列嘛,那么比较便宜的就是 f 幺零三 c 八 t c 八 t 六这款芯片,对吧?因为网上很多就是集成的这个板子一起卖的。 哎,这个这个地方怎么有点问题, 我得关掉一下了,这里不知道为什么哦出来了,哎呀,怎么会这么慢,重下一下啊。 嗯,可能跟我的网有关系啊,不知道为什么现在这么慢。你这边应该是可以选择芯片型号的,你要填进去就行了, 或者你自己拖拉去找,现在相当于啊死在这里了。好,出来了,那么我们在这里输入你的单片机信号,你手头是 stm 三二 f 幺零三 c 八,对吧? c 八, 我们选择那么点中你这个芯片,那么这边有芯片详 细的描述啊,对吧?他有那些资源都在这里,然后我们点击下一步,那么这次我们来新建就是一个 test 吧, 我们做一个基本的配置,然后做一个基本的使用就行了,那么我们选择的语弦是 c 加 c 语言,对吧?然后这边目录的话,不建议用这个默认的目录啊,你可以自己新建一个目录,那么我这边都是放大 f 盘自己新建了 s t m 三二 i d e。 比如说我们新建个文件夹,就是每一个项目他给你要新建一个文件夹,那我们这里的选择就是就就叫 test, 选择好,你点击完成, 那么这个 i o c 就是它的图形化一个界面啊,就是一个芯片的外形,包括时钟数啊,一些配置啊,都在这里啊,让它生成这个基础的这个框架代码的框架, 那么这个的好处就是,呃,他生成了基本的配置的框架,包括一些你需要的功能的这些初始化,那么你就可以重点关注在你的功能上完善了,对吧?那么这个是比较省力的。 再强调一点,你这边看到的这个是裸芯片,对吧?你要跟你的实物去对一下,比如这个芯片的银角,你这个实物里可能已经被比如说布特林银角或布特一银角占用了啊,那么你在这里在配置的时候,你会发现,哎,运行为什么不成功?程序是不是有问题?或者 软件有问题?其实不是,你要看一下你的硬件,你这里看到的是一个裸芯片,而你手头拿的肯定不是个裸芯片,对吧?可能是一个最小系统版,所以有的银角已经被占用了,你在这里再去配置的话,那么硬件上是产生冲突的,对吧? 你软件运行的时候,肯定是因为硬件跟你现在的软件产生冲突,所以功能会不正常,大家千万要注意这一点。好,那么在这里头,比如说我们就做一个实际的例子,我们让 pc 十三这个引脚,因为这个 pc 十三在这个最小系统版里啊, 它就是一个连接了一个 led 灯,对吧?我们让这 led 灯每过五百毫秒亮灭一次,我们让它翻转一次,对吧?那么我们先用最简单的方式,我们不用定时器,我们就用延时的方式,对吧?我们来做个最简单的例子给大家看一下,那么哪 些东西是我们必须要配置的呢?首先我们要打开最关键的,我们让这个时钟数,啊啊,先不要打开时钟数,我们先打开最基本的这个 rcc, 就是我们的时钟时钟你要选择外部的精震,对吧? 那么包括我们的低速时钟,低速的外部这个这个 rtc 时钟,你也可以选择选择好外部的竞争,因为 rtc 一般是外接三二二七六八这个这个竞争,对吧?然后我们的外部时钟这个竞争呢?是八兆的, 经过 pr, 然后这个背屏,然后再分屏,提供各个总线上的时钟,对吧?好,那么这两个是这一步是一定要有的,否则你芯片不会工作。然后我们再把 clock 这边有个时钟配置,看到吗? clock configuration 这里,那么这里头你可以看出来他 这边有个设置的最大值,那么你不用去逐个去配置啊,你只要把这里填到七十二,你按回车,那么芯片会提示你是否让它自动来选择,那么我们来点击 ok, 那么芯片会按照这个时钟最大值来配置每个总线上最可能得到最大的这个时钟,比如说这里看着了 h, c, l, k, 还有 a p p 一, a p p 二,它的适中可以看出来是不一样的,对吧?它是得到它的能得到的最大值,我们的外部精阵呢?是八兆, 好,这始终配置完了。另外一个,如果你要烧路,你是通过这种呃,两线制的,那么串串行烧路,这里的串行烧路不是指的这个我们的,呃,这个串口烧路啊, 是 u u a r t 这个串串行口烧路啊,那我们是点击这个 serial y ser serial wire, 对吧?这里头就会占用了 p a 十四和 p a 十三这个引角, 那么这个就是用到 st link 了这个烧路烧路器了,这烧路器大概十几二十块钱一个,那么他要占总共这个,占了这两个音角,额外再加两个电源音角,那么是要四个音角了, 那么不是不是占篇机的这个创口啊,不是 p a 九 p a 十这样典型的创口啊,这叫区别开, 这是串行烧路,用 st link, 这个一定要点击好,如果你不点击烧路的话,你就必须要用串行口来烧路了,那么这时候就要做一个 p 布特菱形角的切换,对不对?首先切换成高电瓶,再切切换成低电瓶, 切换的高电瓶,那么做一个这个布特灵的切换,这个比较麻烦,你要手动去做一次,而且你要用另外一个软件,而你直接用这个 serial wire 就是两限制烧路的话,你在这个编译环境下就直接可以对芯片烧路,同时串口 也不占用啊,也就说你正在打印创口信息时候,你要更新芯片的程序,你直接点击就行了,而不用把这个原来那个软件的创口关闭掉再切到创口啊,这个相对来说比较麻烦,那么我们一般选选择这样,但切记你一旦选择的这样啊。呃,开机开启了以后, 如果你没有开启而强行的还要那样使用这个串形口在烧路的话,用 st link 烧路话,你是会发现连不上了,对吧?同时这个芯片相当于一个夹的锁死状态,你再用这个,哪怕你重新再 配置好了,用穿心口烧路也是烧不进去的,这我已经测试过了,那么解决的方法就是要用串口烧路一次,然后芯片才能解锁。那么如果你当初这个配置忘了,那么你一定要注意,这芯片属于假死的状态了,你一定要用串口, 就车型口烧路一次以后才能重新用我们这种四线直烧路啊,这个切记,所以千万不要丢这位,这不丢的话你会比较麻烦,当然芯片是不会坏,但是比较麻烦,你要额外做几部工作。 好,那么我们来把再配置 gpi 口,那么我们让 pc 十三这个口,你点击左键,那么它有各种的功能,对吧?一般这个 pc 十三除了是这个输入输出的话,它本身还做了 rtc 的这个 侵占引脚,侵入叫 tamper 引脚,对吧?那么我们一般把它做,我们做输出,如果我们让显示 led, 那么在这里头我们把它做一个标识作为 led, 然后这个作为标识,这个是非常重要的。这 user label, 这个一定要用啥? 这个就相当于我们在移植环境中的一个红定义,那么这个银角你当然如当以后银角进行变化,我不想用 pc 十三了,我想比如说用 pb 十二的银角做 led 的,那么你这个在配置里头,你只要把 pc pb 十二 给他点至 altpud, 同时你在这里头把它也改成 led, 那么原来这个引角你把它取消掉。在程序里头是你不用做任何的更改,因为程序里是一个红 定义,在这个点点 h 头文件里做了个红定义,他就是根据你设置这个,你设置的这个 user label 来进行定义的, 那么这样的话,你就不用手动去改每一个程序,你跟 p c 十三有关的这个引角都要去改,对吧?这样的话太麻烦了,那么这就是这个好处,所以这里头这个 user label, 你每一个 l 口 建议大家一定要做优色类包,这个也不费什么事啊,但是在红定义里头就会直接作为了红定义程序的移植或者 l 口的变换是非常方便的。 好,那么我们现在只是做最简单的让 p c 十三这个引脚进行翻转变化,对吧?别的功能我们暂时不用浏览一下,那么这边是 a d c 一和 a d c 二这个端口,对吧?计算器 配置还有实时适中,还包括我们四个定时器,那么 t m 一是这个高级定时器,二三四是普通定时器,然后关于这个连接 connectivity, 那么它有看总线,两个 iphone c, 两个 spi, 三个创口,还有个 usb 啊,那么我们把创口一要用上,因为创口一我们常用来打打印一些状态数据,那么这里选择翼步,翼步模式,它就占单片机的两个 l 口, 可以看出来 p a 九, p a 十,对吧? p a 九是 t x t p a 十是 r x, 然后底下的这些配置呢?我们就把它默认,我们用最高的拨头率幺幺五二零零,然后八位, 然后没有肌肉药健胃,呃,教研位,然后是移位停止位,对吧?然后中断我们不用打开,包括 dma 功能我们也不用,对吧? 中断我们不用去开,我们不进行中断,我们直接输入输出,然后其他的银角他会自动的配置,对吧?你这里头不用去动,这个是非常方便的,可以看出来,你想改成九二零零,这里直接点九二零零九,他会自动帮你配置。好。 好,就这么简单。那么窗口配置好了,一个引角配置好了,我们再看下面的这个计算功能呢?是,这里是 crccrc, 就相当于一个,呃,传输的教验啊。 那么中间键呢?中间层可以看出是两个操作系统,一个文件系统和操作系统的,那么 freertoy rtos 也是支持的,对吧?好,我这个暂时功能我们用不到, 那么 clock 我们配置好了,那么千万还要注意这里头一个 program manager, 项目管理管理,嗯,项目管理器这里啊, 一定要注意什么呢?我们注意看一下啊,这个 code generator 这里我们要点击一下它,我们要把这里头要点击个声被外设的初始化,单独生成配套的点 c 个点 h 文件,如果这里不点的话, 那么所有的点 c 文件,点 h 文件都会堆到命函数里头,会导致你的命函数比较臃肿, 那么你点击的话,他就会单独生成的,比如说 gpio 会有个 gpio 点 c, gpio 点 h, 比如你又开出了看总线有看点 c 看点 h, 他会单独生成的,所以这个一定要勾选啊,那么其他的你保持默认好了,有兴趣可以仔细看一下。 那么这里头一个 copy only necessary library files 就是指 copy 必要的 这个库函数文件,因为你这些外设啊,他都要库函数,对不对?操作库函数,你原来的话,如果你没用到的话,这些库函数他就不靠,靠过来了,那么在你编写程序的时候,你的程序就不会那么大,对吧?那么你就占个 flash 空间就会比较小, 只把你需要的部分,比如说我现在只用了 gpl, 它就是把 gpl 这部分的库函数要一靠过来,我们进行使用。好,其他这部分是个低功耗, 这个能号公号计算软件啊,这个我们不用去管他,那么这我们基本功能完了,那么你可以点击这边的这个齿轮,或者这边这个点 c 五都可以啊,他就会帮你生成基础的这个代码,我们点击一下 c 五就可以了。好,他在生成啊, 这个是我原来打开的,我都把它关掉。 好,可以看一下了啊,那么啊,这个不是啊,这就是刚才我们生成的,我们来看一下时间,对的啊,包括我们的 它加载了哪些呢?头文件,它生成了命点 h, 那么这里头就是包括时钟啊,可以打开看一下。 那么加载了时钟啊,加载了这个 hell 库啊,它本身的库文件,那可以看出来这里头刚才我们定义了什么 led, 那个 我们设置了一个 gpl 引角的这个这个标识对不对?你可以看出来,在这里在命函数里头,它就会自动 动的把 led 的屏,对吧?做了个红定义,作为 gpl 屏十三,然后 led 的 gpl port 就是 gplc, 那么是不是很方便啊?就这样相当于红定义,你以后改成 gpl, 比如说 gplb 的十二引脚,那么这个你可以看出来红定义这个引脚是不变的, 那么软件会自动会帮你把后面的这个数据变掉,这样的话在主程序中你直接使用这个定义,是不是主程序你不用做任何的更改啊? 不用,你主程序就再去把这个每一个音角,比如从 g p i o 十三改到十二,然后音这个端口从 b 改到 c, 从 c 改到 b, 是吧?这个很方便,这个一定要用上,然后大概浏览一下。那么还有注意的时候,你可以大家看一下,这里的 有很多的这个 user code, begin user code and 这种啊,这个一定要大家看一下,这个其实很好理解,那么在这里头的东西啊,你自己添加代码一定要写在这里中这个中间,因为你有可能 回去再重新修改个配置试试。你要重新再生成这个,这个点击保存,他会自动重新生成这个代码,对不对?初始化的代码如果你不写在这里的语句,他是会被覆盖掉的,就是没有了就丢失了。我们可以做个实验给大家看一下。 那么我比如说我在这里我定一个变量, you eat 啊, 比如说 flag 疫苗,我们定义这个边列啊,然后我们在,我们不在这个 框架中,比如说我们在这外头,对吧?定一个变量不是两秒一个变量,好,我们先保存一下,这时候由于我们配置外头要增加新的功能,比如说我们要在这个按键,我们增加一个输入,对不对?我们这里添一个 g p i o input, 好,那么在 g p i o 这里头 p b 十三就多了,对吧?我们这是做个标识,我们设置为 k, 那么我们给这作为一个上拉,这样的话我们按键按一下的时候变成低电瓶,这样会检测按键变化。好了,这个配置完了,我们重新点一下,我们这里点了个保存, 他会把我们这个配置又重新加载进来。 好,大家看一下啊,我刚才写在 这个 user code, begin and 中间的语句是保留的,而我们刚才写在外头这些语句丢失了, 对吧?这个不针对于变量,你自己写的函数也是这样的啊,你看出他有很多空余的这些地方,你变量啊,函数啊,同定义啊,加载头文件啊,你一定要写在他规定的范围之内,比如你看这里头 我们的死循环, well, 函数看到吗? user code, begin, wire, user code and wire 一定要写在这当中啊,如果你写在空白的地方,不是写在这个 begin 按到当中,你只要改变了外头的配置,那么势必会丢掉,对吧? 这是比较痛苦的,你就不得不重新再写一遍,千万要注意啊。好,那么这些视频先 到这里吧,因为比较长,后面我们再继续把这 led 灯让它闪烁起来,同时我们用逻辑分析仪抓一下,这这节就到这里那么几个基本的配置,包括重点给大家讲清楚,大家可以动手实验一下,非常简单。好,欢迎大家对我的视频评论转发点赞,谢谢大家。

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 三十二工程?我这里使用的是 stm 三十二 qbm x, 这是一个可视化 stm 三十二代码生成软件。下面由我演示下如何创建工程。 首先选择好自己需要的芯片型号,不同的芯片会有不同配置下, 为了方便调试,我这里开启 swd 调试功能,并且启用了外部始终。接着是设置单片机工作频率, 这里只需要输入想要的频率,然后点击回车就可以自动计算出分频参数,这个功能太方便了。最后一步是给工程取一个高端霸气的名字,我是使用 carry 开发,所以开发环境选择 m d k。 最后点击右上角的生成 按钮,生成工程代码,编译并运行下代码,测试下是否正常。对了,如果想看生成代码的大小,还需要指定一下 map 文件的存储位置,然后再重新编译一下项目,双击工程名字就可以看到了。 为了跟踪代码变化,我会用 d 来管理代码,不过项目中每次编译都会生成很多临时文件,需要把这些文件忽视名单中,这样即使这些文件变化也不会被跟踪。然后对代码进行第一次提交。 然后我们重新打开 q b m x, 添加一些新配置,重新生成一下代码试试效果。可以看到给已经把被修改过的代码标记 出来,但是 visco 无法显示中文,因为 carry 是使用 g b k 编码,而 visco 的是 u t f 八,所以这里要强制指定 g b k, 所以可以像我这样创建配置文件。 visco 的打开就会默认使用 g b k 编码,打开 中文就不会再乱码了, bt 也把对应的修改内容高亮显示,可以放心大胆的修改代码了。好了,就说到这里,要是觉得本视频对你有用,记得给我点个关注。

大家好,这里是一起学单边机,在这个 stm 三二 q ide 这个编语环境下,有人说这个未带的操作无法实现啊,其实是可以实现的,但是有几个要注意的, 那么我们要理解味道的操作其实还是基于这个呃姬存器的操作,对不对? 那么对这个 stm 三二,比如说 f 幺零三系列,他的寄存器地址并不用发生改变,你只是用了不同的边缘环境,那么肯定是微带操作是可以执行的啊。然后我们来看一下,呃,微带操作是这个他的这些定义啊, 那个比如说他的映射,呃映射地址啊, io 输出寄存器的映射输入寄存器映射啊这些 这些地址,他本身的地址没有发生任何变化,你变异器只是用原来的 q 五,现在变成了 s t m 三二 q 八 a d e 自带的这个变异环境啊, 所以什么未带操作肯定是不受影响的,那么你操作不成功是因为你可能把它加载了别的地方。我现在实验发现,你只要单独生成的点 h 和点 c 文件,对于未带操作单独生成这么两个文件, 那么微带操作是可以正常使用的啊。比如说我现在就是做了一个点 h 文件,那么就 private 的点 h 对应的点 c 文件,我们打打开 来找一下对应的点 c 文件放在背带里。 好,这是点 c 文件,这点 c 文件里头,我把这个长的微秒及延迟啊, 和我们的微带操作放在一起了,这个点 c 文件里的只是两个微秒及延时的这个函数啊, 如何实现的?那么点一次文件里头呢?就是对于微贷的操作,主要是一个计存机地址的映射,对不对?这个跟我们平常的网上这些成视力程序是一模一样,你把它复制粘贴过来就可以了, 然后注意的时候你点一次文件里一定要加载 stm, 三二 f 幺五就是你指定的,还有酷文件,还有酷的头文件,把这个加载进来就可以了,别的不需要任何更改,完全一模一样,那么来实验做一下,那么就让 tc 十三刚才我们上的那个银角进行一个翻转,对不对?前一个视频我们做过了。好,那我们把它加载到我们的原来我们的店,这个我们做的泰斯特这个文件夹里,对吧? 你可以自己重新生成,或者是你把你有现有的进行复制都可以啊,重新生成也很简单,我,我们找到你的,嗯,扣函数对不对?这个文件夹这里头就是一个 sous, 一个引酷路的,引酷路的就是生成你的点一次文件夹,你在这边文件夹右键 你可以看出新建这一头,你选择新建一个头文,建 high fire 对吧?那么你可以比如取取名 beat bench, 对吧?然后点一次点击完成。 好,同样的,你要在对应的在这个 sus 这里头要添加一个 sus 发呀,那么就是点 c 了, 点 c 文件。好,我们把刚才我们的这边的点一次文件里的内容给他复制过来啊, ctrl c, 然后放到你的点移池文件中,一定要在这个 红定义,这个衣服拿着底放,底放和安的底放在中间对吧?你不要放在别的地方,然后我们把微秒即延时这部分,我们不需要再把它删掉。好,这就可以了, 点 c 文件里头可以没有任何东西,因为我们这里没有实体的,具体的函数全部是用红定义来完成的,对吧? 那么就可以加载了。 b 半点 h 就可以了。好,我们在我们的刚才这个头文键里头,我们加载,那么加载头文键也注意啊,要加载到刚才说了要按的和 bing 当中的啊,就是 bing 和按的当中的这部分,是吧?引酷路的 hider, you the and hider, 看到吗? 就会 uzi 比更嗨一点,你要加在你这个呃 当中,我们要加载到这里, 其实加载到任何这个比定和暗的之间,他都是不会被删除的。 好,那么刚才是这个,我们把这个我们的标志位应该定义到变样里头,是吧?合理一点, private define micros, private vibra virubos 定义是吧?变量定义,我们加载到这里,我们保存一下。 好,这时候我们就可以进行微带操作了。我们原来这是用的库函数银角进行翻转,是不是啊?那我们现在试一下,我们这个银角是 pc 十三是吧? pc out 十三,我们让他做一个翻转,翻转是曲飞,是不是 pc out 十三?我们原理是一样的啊,这个是中文的飞号了,我们要把它切换到英文的感叹号。 好,这就完成了,我们来编一一下。 好,正在变异, 零错误,零警告,对吧? 然后就剩下他在连接烧录器,然后进行烧录了。 嗯, 好,烧炉完成了啊,我们用逻辑分析抓一下,其实效果是一模一样的。 好,可以看一下啊,刚才是五百零一点一,是不是这边一样的, 所以未带操作,在这个 stm 三二 q 八 ad 环境下也是可以使用的,但是唯一的去注意的就是你要单独生成点 h 或者点 c 文件,把它加载进去就行了,不能在现有的这个函数底下。我试过,呃,在比如说我们在 点命,点命点 h 这个文件中,我把这个微带的操作加进去,这个红灯一加进去就不行啊,我试过的 加进去就不行,我想利用的点一次文件不行的,你要单独生成一个啊,就没有问题,大家可以试一下。那么这样的话,在个你用六未带操作对一些 l 端口进行读或者写单独的操作是不是很方便? 尤其对于一个 io 口的制操作啊?那么比如说举个例子给大家看一下,我用一个 io 口作为输入音教,那么我们在定时器中段中,比如说我用的定时器中段,这是定时器中段的回调函数,他所有的回调函数啊,一个类别的可能都放在一起了。这个地方 就是如果你用的定时器一二三四用的比较多,这里就比较乱,对吧?比较臃肿,你可以把它再封装成一个小函数,这样的话看起来简简洁一点啊。比如说这里头是,呃,就是定时器回掉函数,你先判别你这个回掉函数是哪个定时器产生的,我这是定时器四 产生了,那我这里就用了个微带操作,看到吗?读 pb 十三眼角的状态,那么连着读,如果连着读八次都为了 低电瓶,就是八毫秒,这个银角都被低电瓶,我们认为这个银角是可靠的,接了低电瓶,那么就相当于一个祛痘按键被按下了,然后长时间按的话,我一个技术值在家, 那么就相当于可以判断按键的长按,是吧?这是一个按键操作,就是用了未带,看到吗?这样的话,不是,是不是 程序比较简单?当然你用库函数读一个 gpl 端。呃,银角的这个状态也是可以的。有个 red 拼函数对不对?那么写起来比较长而已。他们基本的操作都是对计算器的读取嘛,原理是没有,是相通的。好,那么这就是未来操作, 切记,未带操作你要单独生成一个点 a 一或者一个点 c 文件,然后单独来完成啊。 好,这节视频就到这里,欢迎大家对我的视频评论、转发、点赞,谢谢大家。