火龙果MM32F3273G8P-MindSDK开发教程1-点亮LED
1、登录官网下载对应的MindSDK固件
https://mindsdk.mindmotion.com.cn/,然后注册下载mm32F3270的固件即可。
下载完的文件为 plus-f3270_mdk.zip
解压后的文件路径如图:
2、新建LED工程
将下载的plus-f3270_mdk/device目录全部copy到我们的工程中,这里面包含中mm32的hal库函数以及启动文件。
并从demo_apps里basic\blinky_led中clock_init.c clock_init.h拷贝到我们的工程。这两个文件为时钟初始化函数。
整个工程的目录结构以及文件如下图:
3、替换mdk的链接文件
4、main.c代码
#include <stdint.h>
#include <stdio.h>
#include "clock_init.h"
#include "hal_rcc.h"
#include "hal_gpio.h"
#include "hal_uart.h"
/**
* @brief Èí¼þÑÓʱº¯Êý
*
* @param x ÑÓʱʱ¼ä
*/
void APP_Delay(uint32_t t)
{
for (uint32_t i = 0u; i < t; i++)
{
for (uint32_t j = 0u; j < 10000u; j++)
{
__NOP();
}
}
}
void LED_Init(void)
{
/* gpio. */
GPIO_Init_Type gpio_init;
gpio_init.Pins = GPIO_PIN_1;
gpio_init.PinMode = GPIO_PinMode_Out_PushPull;
gpio_init.Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &gpio_init);
GPIO_WriteBit(GPIOA, gpio_init.Pins, 1u);
GPIO_PinAFConf(GPIOA, gpio_init.Pins, GPIO_AF_15); /* disable the alternative functions. */
}
void LED_On(void)
{
GPIO_WriteBit(GPIOA, GPIO_PIN_1, 0u);
}
void LED_Off(void)
{
GPIO_WriteBit(GPIOA, GPIO_PIN_1, 1u);
}
int main(void)
{
BOARD_InitBootClocks(); // ³õʼ»¯Ê±ÖÓ
LED_Init();
while(1)
{
LED_On();
APP_Delay(500);
LED_Off();
APP_Delay(500);
}
}
烧录后,发现开发板闪烁,至此,点灯程序完成。
5、代码路径:
https://gitee.com/xiaoguo-tec_0/mm32-f3273.git