HELLO大家好,上次的报告为大家讲解到了这款板卡的一个简单测试程序,在上一个试验中我们成功地点亮了三个LED,这次的试验非常简单,就是在原有程序的基础上修改,实现这款板卡的流水灯测试。
在看过了上一个测评报告后,有的小伙伴可能会问我为什么使用HAL库编写程序而不是使用STM32F4X标准库,这里特意地声明一下,STM32CUBEMX这款软件生成的工程文件就是针对HAL库的,我认为它是不具备生成标准库工程文件的能力,这是ARM工程开发的大势所趋,尽管有的小伙伴觉得HAL库用起来并不是那么地习惯。如果你需要使用STM32F4X的标准库,你可以自行创建一个工程模板来编写这个程序。
好了,我们来切入正题,我们这次的程序仍旧用HAL库写。我们来回顾一下上次的程序段,我们在main函数的while循环体中填入了如下三行代码:
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0,GPIO_PIN_SET);
编译运行并且烧录进板卡芯片后,我们发现三个LED正常点亮,现在我们来对这个程序稍加修改,首先,我们来编写第一个状态,红灯亮,这个不难理解,只是把B14端口置高,其余置低就好了,代码如下: HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14,GPIO_PIN_SET); //状态1
另外地我还设计了出了其余五个状态,大家可以根据下面的代码来推断一下三个LED对应的状态,代码如下: HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7,GPIO_PIN_SET); //状态2
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0,GPIO_PIN_SET); //状态3
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14,GPIO_PIN_RESET); //状态4
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7,GPIO_PIN_RESET); //状态5
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0,GPIO_PIN_RESET); //状态6
程序到这里并没有写完,我们还需要在相邻的状态之间添加一个延时函数,代码如下: HAL_Delay(500);
我们一共需要添加6个这样的延时函数,添加完毕后,我们的流水灯程序就基本上编写完毕了,我们点击编译运行,稍等片刻,提示0 error,0 warning,我们将这个程序烧进板卡中,烧写完成后,同样复位操作,就可以观察到我们自己设计的流水灯试验现象了。
到这里我们的流水灯试验就完成了,在这个试验中我们成功地测试了流水灯程序,并成功观察到了现象,间接地测试了一下GPIO输出功能。下一期的简略试验是本人对F412ZG板卡简单测评的最后一期报告,那么下期的报告中我会详细地介绍一下GPIO地输入功能,最后会用一小段代码来复原前文介绍过的板卡自带的Demo演示程序。 在简略测试过后,本人将会更新一些稍有难度地测试方案,也会为大家介绍一下F412ZG这款板卡的一些很炫酷的新玩法,希望大家继续关注我呦。
|