打印
[APM32F4]

【APM32F411V Tiny Board测评】-01 编程环境的搭建

[复制链接]
120|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
开发板早已拿到,但是由于工作太忙,现在才写测评。APM32单片机早有耳闻,但是一直没有进行测试,这次21IC网站开展测试互动,本人有幸入选,能够对该单片机进行测试。
1、单片机档次理解
APM32的产品线中,APM32F411系列的单片机应该是一个中高档次,该型号上方有APM32F465APM32F407,下方有APM32F3XXAPM32F0XX。如果该系列单片机的定价合理,在国产MCU中应该会占有比较大的份额。
2、硬件的搭建
该开发板的做工比较扎实,讲单片机的引脚全部引出,还板载了仿真器,有一点值得夸奖,该开发板安装的USB口是TYPE-C,好找数据线。使用的时候,直接将USB口连接至计算机,就可以下载程序和在线调试。
3、软件环境的搭建
本人使用过多种单片机,各单片机厂商都有一个共同的问题,就是开发板中的库文件单独放在一个文件夹中,与程序的projet文件夹不在一起,当改变程序的位置时,需要重新配置,为今后的程序开发带来一定的麻烦。为了改变此情况,本人对编程环境重新进行了搭建。
(1)建立文件夹。建立项目文件夹,在项目文件夹中建立如下子文件夹。
其中APP文件夹用来放应用程序,BSP用来存在电路板的驱动,Libraries用来存放该单片机的固件,MDK用来存放Keil相关文件,USER用来存在用户程序。各文件夹存放内容如下所示。
2Keil的设置
然后在Keilprojet里面建立如下目录。
同时在keil中设置头文件的目录,设置内容如下所示

3)程序设计
该开发板单独建立了一个开发板的驱动c文件,里面用了大量的宏定义,但是如果需要自己对程序进行开发,设计的电路板IO口与开发板未必能够对应,因此本人对上述程序均进行了修改。
LED驱动程序如下:

/* Includes */
#include "main.h"

void Led_Init(void)
{
    GPIO_Config_T  configStruct;

    /* Enable the GPIO_LED Clock */
    RCM_EnableAHB1PeriphClock(RCM_AHB1_PERIPH_GPIOE);

    /* Configure the GPIO_LED pin */
    GPIO_ConfigStructInit(&configStruct);
    configStruct.pin = GPIO_PIN_5 | GPIO_PIN_6;
    configStruct.mode = GPIO_MODE_OUT;
    configStruct.speed = GPIO_SPEED_50MHz;

    GPIO_Config(GPIOE, &configStruct);
    GPIOE->BSCL = GPIO_PIN_5;
        GPIOE->BSCL = GPIO_PIN_6;
        
}

void Led2_On(void)
{
        GPIOE->BSCH |= GPIO_PIN_6;
}

void Led2_Off(void)
{
        GPIOE->BSCL |= GPIO_PIN_6;
}

void Led3_On(void)
{
        GPIOE->BSCH |= GPIO_PIN_5;
}

void Led3_Off(void)
{
        GPIOE->BSCL |= GPIO_PIN_5;
}

主程序如下:
int main(void)
{
    Led_Init();
        Delay_Init();
       
        while (1)
    {
                Delay_ms(200);
        Led2_On();
                Delay_ms(300);
                Led3_Off();
                Delay_ms(300);
        Led2_Off();
                Delay_ms(100);
                Led3_On();
    }
}

4、程序测试
按照上传步骤完成搭建后,将程序下载至开发板,可以看到两个LED按照编程内容愉快的闪烁了。



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

54

帖子

1

粉丝