微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 简略试验五:F412ZG流水灯程序测试

简略试验五:F412ZG流水灯程序测试

时间:10-02 整理:3721RD 点击:
    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这款板卡的一些很炫酷的新玩法,希望大家继续关注我呦。

   

这个不错  期待小编更多资料分享

什么新玩法,期待你的飞翔。

只要有时间就会更新的,欢迎继续关注

会尽快公布的,现在还在实验阶段,欢迎继续关注

小编有没有数据手册

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top