粉丝6获赞58
如何使用 stm 三二的窗口看门狗?之前的视频中我们讲了独立看门狗,这一期我们再来讲讲窗口看门狗,这两条狗有什么区别呢?区别是喂狗方式不一样。 独立看门狗本质是一个递减技术器,这个递减技术器递减到零就会引发单片机的复位操作。我们在代码里面将技术器的直重置,这个操作就叫喂狗操作。 窗口看门狗由它本身的硬件电路决定,我们必须在一定时间范围内执行喂狗操作,不能早喂也不能晚喂, 太早或太晚喂狗都会引发单电机的复位操作。窗口看门狗主要由看门狗配置寄存器、控制寄存器、一分频器和比较电路组成。配置寄存器用来设置比较直 控制计存器由递减技术器和看门狗工作开关组成。喂狗操作就是不断的在重置看门狗控制寄存器的递减技术器的值。当看门狗控制寄存器的递减技术器的值递减到 t 六位由一变成零的时候, 我们没有执行喂狗操作,那么就会引发单片鸡复位,这种情况就是喂狗喂晚了。 当我们在递减技术器的 t 六位变成零之前执行喂狗操作的时候,就会引发看门狗配置寄存器里面的值与看门狗控制寄存器的值进行比较。 如果看门狗控制寄存器的直大于看门狗配置寄存器的值时,那么比较气,就会输出一个信号,直接通过门店路去触发单片机的复位操作。这种情况就属于喂狗过早的情况,只有在避开以上两种情况的时候 后去执行喂狗操作,窗口看门狗才不会引发复位操作。因此,窗口看门狗多用于监测时需错误引发的一些软件故障。以 stm 三二 f 四零七为例,窗口看门狗开中断功能初始化,参考代码如下。
如何使用 stm 三二的独立看门狗?软件的可靠性在嵌入式产品中一直是一个关键问题。任何使用软件的人都可能会经历计算机死机或程序跑飞的情况,这种情况在嵌入式系统中也同样存在。 由于单片机的抗干扰能力有限,在工业现场的仪器仪表中常会由于电压不稳、电壶干扰等因素导致系统遭受干扰而无法重启。 为了保证系统在干扰后能自动恢复正常,就需要用到看门狗电路来解决此类问题。在 stm 三二单电机架构体系中,它自身包含两个看门狗外设电路,分别是独立看门狗和窗口看门狗。 独立看门狗尤其专用低速时钟驱动,即便在主食中发生故障时仍然保持工作状态。而窗口看门狗时 中由 apb 一时中间一分频后提供,在主食中发生故障时不一定能保持正常的工作状态。因此,我们常用独立看门狗来复位单片机系统。那么我们想要正常的使用独立看门狗,就得从它的硬件框架入手。 通过参考手册的框架图得知,独立看门狗本质就是一个十二位的递减技术器,这个技术器只要技术到零,就会引发复位操作。利用这个人里就有了大家平时常说的喂狗操作的概念, 只要单片机正常工作,就每隔一段时间去重置技术器的纸,不让他数到零复位。如果单片机故障了,没有重置技术器的纸,那么技术器就会数到零,进而引起单片机复位,使其恢复正常。 那么我们可以按照以下步骤去配置独立看门狗,一、对关键字计存器写入零乘以五千五百五十五, 解除育分频计存器和在职计存器的写保护。二、配置育分频计存器,用来设置看门狗递减技术气数一次数的时间。三、配置重载值计存器,用来设置看门口递减技术气数的技术次数。 四、由第一步和第二步可以计算出看门狗引发复位的时间,那么我们就在小于该时间的周期内去复位看门狗技术器的值,以完成喂狗操作,防止单片机在正常工作状态下执行错误复位操作。以 stm 三二 f 四零七为例,独立看门狗初始化视力代码如下。
stm 三二看门狗使用的五大避坑指南一不要在定时器中断处理函数中喂狗。 二关闭看门狗时需要注意不能被复位中断的操作。三切换 app 和 boot load 时要合理处理看门狗。四避免看门狗在系统调试中触发复位。五避免看门狗导致系统进入无线复位状态。
stm 三二独立开门狗和窗口开门狗的区别是什么?一独立开门狗使用的是内部专门的四十 k 赫兹低速失踪,窗口开门狗使用的是 pclke 的时钟,使用前需要先使能失踪。 二独立开门狗没有中断超时直接复位,窗口开门狗可以在中断中做复位前的函数操作。三独立开门狗一般用于避免程序跑飞或者死循环。窗口开门狗避免程序不安预定逻辑执行。
stm 三二看门狗使用的五大避坑指南一不要在定时器中断处理函数中喂狗。 二关闭看门狗时需要注意不能被复位中断的操作。三切换爱和 bootlow 时要合理处理看门狗。四避免看门狗在系统调试中触发复位。五避免看门狗导致系统进入无限复位状态。
s t n 三二学习方法本课只要讲解如何学习 s t n 三二,最关键的要有硬件,软件相结合,硬件要有 h l 杠一学习版, 他包括了非常多的外宿设备,有水灯,发光管,名气 软件,包括实验代码,食品教程,特别是数字手册,形片手册, 一定要把这些软硬件了解好,再进入下一步的学习。 s 天生爱学习方法,可以在星期刚课堂网络在线 配套未经电子 stsr 学习版,先把开发版智能小车学习,需要硬件可以到未经电子官网网站去查找。有了硬件,软件就要要学中做,做成雪,多写多练。 推荐学习网三 w 点 a j m c 点 com, 或者是 a j d i o 点 com, 也可以加微 a j d i o 拿到 stsr 学习版开始如何做,先看配套资料目录,了解提供的学习资料有什么, 特别是输入手册在哪里,视频教程在哪里,软件在哪里,找到要学习的资料,了解学习,把硬件支援 硬件机缘基本上是芯片,有一些外部设备 跟着视频教程安装开发环境整臂开启学习先学简单的基础,要多学多练,多动手做实验, 特别是对 s 天杀,他有几个要学的地方,一个是计算器,一个是不函数,另外一个是潜入式。三种学习方法, 各位新手呢?建议大家用计算器的方法来学习 s 填啥,学习过程中不懂的先看视频教程,再查找资料,高级难学的知识 可以后面慢慢来学,先打好基础, 需要什么参考资料?最基本的 cm 三权威指南,或者是 cm 四权威指南,看你购买的是哪一种镜片呢?它是由按摩提供的 s t s i 芯片参考手册,芯片功能啊,计算器描述特性的比较强势。 s t s r 幺零叉中文参考手册,或是或者是 f 四中文手册,它是由 s t。 公司提供的 芯片数据手册,还有 s 填三二幺零三叉芯片,电器参数 银角。说明在做项目的时候一定要选择好,因为不同的项目他需要的管角不一样,在选型的时候大家一定要看 官方其他的资源和教程都可以参考的。有一个固件库包啊,包含参考圆码。什么叫固件库,是 at 公司啊,已经写好的一些底层函数,大家懂得去调用 一些官方 st 培训资料, st 学习视频教程,包括手册视频, 特别是针对开发版的原码教程视频等等,不要各位学习 stsr 的长, 如何开始学习,需要掌握哪方面的基本技能?资料不在多,而在于精, 掌握计算机语言。逐思四亿元编程,四亿元是单片机开发编程需要用到的 cen 学不好,为限制单片机学习进度以及嵌入式学习深度,单片机无人高手都是 ceon 高手,推荐大家学习谭浩强的 ceon 腾讯设计最新版本。 如果你没有学过单片记,零基础入门,也可以直接在 mdk 环境下测试学习。四语言讲解视频 教程为一步步的指导你如何去学习 mdk 开发玩具, 掌握 mdk 开发环境,掌握吉他调试工具,也就是仿真器。仿真器有很多种啊,有几十块的一个,有 两千块一个的,作为初学者,建议大家直接啊就烧程序,用串口烧程序就可以了,如果你要扎身学习呢啊,需要用到缓震器,根据自己的能力选择 多使用脚踏调试代码,深入理解代码进行流程。在刚开始学习的时候,不要走马观发看,要做到理解代码 含义,掌握 s 前十二 mdk 开发环境啊。掌握函数库的基本配置方法, 了解姬存器底层配置过程,以便新入了解 stsr 芯片本质。学过五幺单片机啊,大家对姬存器比较舒适。 库函数和计程器对比学习,计程器呢,需要自己去配置,如何配置成输入输出,配置成 高电瓶,低电瓶等等。护函数呢,已经写好,这些调用实验中啊,大多调用护函数啊,特别是智能小车, 而且平行车 一些代码,大型的一个代码,如果用计算器来写呢, 就很难看懂比较多。如果调用控函数呢,就简单很多了,对于新手呢,也可以很快上手入门, 真正的学习啊,几位看几个函数的话,根本没有学懂, 遇到问题很难自己解决,所以必须了解一下姬存器配置原理,加深理解。 一直在项目比较紧的时候,先调用款数,把项目做出来,做出来产品设设备呢,他需要一个过程,一个稳定的过程,在 你后续你就要深入了解计算器了。前面的课程实验呢,是学习了解计算器配置,加深带 s t s r 的本质的重要课程,所以建议大家先把前面最简单的课程学好, 你学过五幺单片机,建议大家也能认真听,认真看 基本外设学习好再选择学习高级功能最简单 做都做不起来,你是不会走路的,站起来才能走路。 安片机基本外部设备主要包括 gpio 输入输出,输入可以输出 检测输入了高低电瓶输出可以输出高低电瓶零幺,外部中断,内部中断定时器。 了解了这四个外设,基本就入门了,单片机 s t s r 单片机基本外部接口有 s p i i 方 c w d g f s m c a d c d a c s d i o 等, 这是外设接口功能原理,对每个芯片几乎都是一样的, 不知要执着啊,每一个都要学, 当你的项目需要用到 adc 的时候,你再去 手册,再学 idc 也不晚,或者你用到 iphone c 通讯的时候来学习。所以这是外部接口呢,基本上是选择啊,一个几个代表来学习啊,不需要全部去学的。 所以每个芯片呢,刚才说了它原理,芯片都是一样,就说对芯片而言就是加法而已, 速度不一样,接口不一样,大面积 s 天杀高级功能, 一些系统 u c l s 等等,以及一些应用,一些多媒体的应用。 在手机里面的 cpu 呢,它也是一个阿姆芯片,有多媒体 应用啊,程序的应用,互联网的应用等等。先学好基础再选择学习高级功能 啊,学习资料不在多,而在精 st 十二视频加开发版配套教程加开发版配套圆码加芯片官方手册搭配学习。 我还是要重点说的一句话,芯片手册,特别是官方的啊, 有些个人公司啊,做的手册呢,可能还没有那么完美, 因为芯片是官方工程师做出来的,他最了解一些芯片的底层啊,当然有些外部模块他没有开发, 可能找一些第三方的公司可能会好一点。不懂的先找资料再提问。找资料过程中看看别人的理解思路啊, 最简单,点亮一个发光管或者是流水灯啊,闪烁一般有很多种方法,一种用远见延时方法,一种用外部中断,一种用定时器,非常多。看看别人的思路, 不经过思考的提问对自己没有提升。最简单啊,有些同学一拿到哎,灯点不亮,坏的都没有思考为什么点不亮,是不是输出低电瓶了,或者输出高电瓶了,或者没有 通电,或者程序没有烧水成功,或者变异不成功?先要思考自己,找找问题所在。 有了以上硬件软件资料可以进入学习,当你有了一个优秀的开发平台,就可以进入 s 天杀学习了。优秀的 s 天杀开发版,未经电子的系列开发版,有学习版,实验版 开发版等等,还有平行小车,智能小车 有优秀的稳定的平台,对入门可以省去硬件错误的烦恼,事半功倍。为什么要用开发板的啊,如果既做开发板啊,倒是 一些硬件上会烦到你啊,你很容易会放弃他,不想再学了。有了硬件开发板或者智能小车或者平行小车之后,你就可以跟着教程进行学习,减少很多烦恼。 未经电子 s t s 二开发版吉利数万用户,特别是智能小车、平行小车,互联网方面 多加高效和培训机构作为教程开发平台,配套资料要全面丰富,配套 s 天三二十名教程,零基础配套相关资料, 芯片手册,官方的手册上面比较重要啊,建议多看看 s t s r 中文手册, 你所说的中文手册指的是你购买芯片的型号的手册,他有很多系列的,所以我这里就不调出来看了。 每个学校,每个培训机构或者每个技术员,他需要用到的芯片是不一样的,但是他的核心都是一样的。在教程里面主要是跟大家讲的一个通用的一个教程,一个核心 全面,系统介绍 s 前三二,各种气势,非常全面,所以还是强烈建议大家一定多看中文手册。 还有学习啊,芯片数据手册,数据手册一般是英文啊,他一般包含了银角功能 定义,各种电器参数功能描述。意思说你需要的答案基本上在成篇手册或者数字手册上可以找到。 看到的是 hr 高音 stn 三二学习版,还有一开芯片所说的外设,包括低速外设,流水灯,有名气数码管, 高速外设 iphone c 里面的数字时钟串稿通讯里面的一些模块,数码管呢,它也是属于一些艺术的外设, h l 杠一水板就可以进入带节课程的学习。
大家好,这里是一起学单片机这节视频呢,给大家一起研究一下 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 灯让它闪烁起来,同时我们用逻辑分析仪抓一下,这这节就到这里那么几个基本的配置,包括重点给大家讲清楚,大家可以动手实验一下,非常简单。好,欢迎大家对我的视频评论转发点赞,谢谢大家。