debug灯(微星ezdebug灯)

————以点灯为例,学会自己配置功能、DEBUGdebug灯

????????本文以点灯配置为例,手把手教学单片机标准库和HAL库功能配置。学会本文配置的思考逻辑,可以举一反三,将GPIO替换成所需要的引脚模式即可。(具体的点灯代码实现在点灯一,请去主页找合集)

? ? ? ? STM32保姆级教程合集会一直更新,更新频率在一周或两周更一次,大家可以先收藏。

????????从前面我们了解到:为了点亮STM32C8T6板载LED,我们需要配置PC13的GPIO(具体请看认识嵌入式板子)。从板子原理图我们可以知道,在画板子的时候,就给板载LED灯预留了一个引脚与灯连接,我们通过看板子原理图就可以知道具体的引脚是哪个从而进行配置。

????????那么,如果我们外接一个LED灯泡到板子上,我们应该怎么去配置呢?

????????首先,要从点亮一个灯的原理去考虑:LED需要接入引脚的高低电平,从而实现灯的亮灭。(具体看点灯一)同理,外接LED也需要接入一个控制输出高低电平的引脚,所以我们要配置GPIO。其次,具体配置哪个引脚的GPIO,需要对照你所用的芯片的数据手册来找;

????????或者看CubeMx的图:只要这个引脚有GPIO相关功能且没被别的功能占用,就可以配置。

图1 官方数据手册引脚部分截图

图2 引脚功能查看示意图

????????点灯一提到:初始化有三个固定成分,下面讲解如何配置三个固定成分。

????????PIN(引脚):本文第一部分引脚配置讲过:看自己芯片引脚功能介绍去配置。

????????SPEED(频率):就是所用引脚的电平检测频率,频率越高越精确,所以一般情况下就是你手中板子能配置的最高频率,STM32C8T6就是50MHZ。

????????MODE(引脚模式):这里点灯为输出。引脚模式常用的有上拉输入、下拉输入、浮空输入;推挽输出、开漏输出。根据你要实现的功能选择适合的引脚模式,下面具体介绍这几种模式:

图3 输入模式电路图

????????图3所表明的粉色线路为输入模式线路:CPU读入从IO口输入的数据。输入模式有三种电路情况分别是上拉输入(①导通②断开)、下拉输入(②导通①断开)、浮空输入(①②都断开)。

????????三种模式的物理意义是给IO口一个输入电平的高低:上拉输入就是输入高电平,下拉输入就是输入低电平(注意,此时的高低电平是一个模拟量,不稳定)TTL触发器就是一个阈值的作用:高于上限输出为高,低于下线输出为低(也就是把不稳定的模拟量转化为稳定的数字量)。IO口的高低电平被写入到输入数据寄存器中,CPU从寄存器中读取数据即可知道IO口的状态。

图4 输出模式

????????输出模式就是CPU控制IO口输出的高低电平。输出模式大体分为两种:推挽模式、开漏模式。

? ? ?推挽模式时①②都有效,数据寄存器为1 时①导通②断开,输出为高电平;数据寄存器为0 时②导通①断开,输出为低电平。(高低电平都有驱动能力)

????????开漏模式时只有②有效,如果输出数据寄存器为1,上拉电阻连接5V,输出高电平;如果输出数据寄存器为0,②直接连接VSS,输出低电平。(只有低电平有驱动能力,一般应用在IIC,避免各个设备互相干扰)

debug灯

????????相信写过C语言的同学都知道,在你第一次编译写完的程序时大概率是有报错的,这个时候就要对着它提供的报错信息去修改。嵌入式也是一样 debug灯,keil在编译之后也会有报错提示,但是当编写一个比较大的工程文件时,很多情况即使编译0警告0错误的代码下载到板子里还是不能完成预期效果,因为keil的编译提示的是语法错误,语法没错不能代表配置和书写的逻辑没错。所以有一个新工具--DEBUG:他是根据单片机工作的逻辑步进的带你去检查你s代码在配置方面逻辑是否有问题,它是以后进行项目调试很重要的工具。

注意:要先排除硬件连接、通讯协议是否一致的问题之后再进行软件调试!

图5 进入DEBUG方式

如图5所示就是DEBUG的进入方式,先点红色的”d”,再点左上角框起来的“运行”,让你的工程跑起来。

????????首先,按照时钟、中断、初始化的顺序来检查你工程的基础配置有没有问题。然后,如果基础配置没有问题再看语句之间的运行逻辑:可以步进的跟着DEBUG去检查工程语句的逻辑关系是否和你想象中的运行顺序一样。或者,你写的代码没错误,实物也确实有效果,但是不是你的目标效果,那你可以DEBUG看它具体的值:在”Watch”窗口看所需参数的值是否合法(比如int这种确定类型的值是否超出范围;应该是非负数的值运算时出出现了错误导致数值跑飞;函数传递或者通讯时类型是否一致等等,大家慢慢积累经验)。

????????如果你所需要看的变量值在DEBUG的窗口中没有那需要你自行选中变量,右击选择添加到”Watch”窗口中,如图6所示:

图6 添加变量方式

转载请说明出处 内容投诉内容投诉
九幽软件 » debug灯(微星ezdebug灯)