基于官方驱动新建自己的工程:
1,新建一个文件夹,例如MyProject,然后将官方历程里面的Core_Drivers文件夹整体拷贝到自己的工程目录下,然后再根据需要建立一些自己的文件夹,如App、Driver、Project等。
2,keil MDK新建工程,工程保存路径为MyProject文件夹下的Project文件夹
3,新建工程后选择芯片ACM32F403RET6,然后新建工程分组,如App、Driver、CMSIS、StdPeriphDriver等文件夹,并将Core_Drivers\CMSIS文件夹下的arm_ARMv8MMLldfsp_math.lib,Core_Drivers\Device文件夹下的Startup_ACM32F4.s、System_Accelerate.lib添加到工程分组CMSIS中,将Core_Drivers\HAL_Driver\Src文件夹下的所有文件添加到工程分组StdPeriphDriver中,
4.在工程窗口App文件夹上右击新建Main.c文件,然后添加如下图所示代码;
/*
******************************************************************************
* [url=home.php?mod=space&uid=1455510]@file[/url] main.c
* [url=home.php?mod=space&uid=2666770]@Brief[/url] main source File.
******************************************************************************
*/
#include "ACM32Fxx_HAL.h"
#include "HAL_GPIO.h"
#include "HAL_UART.h"
#define UART_BAUD_RATE 115200
UART_HandleTypeDef UART2_Handle;
/************************************************************************
* function : Uart_Init
* Description: Uart Initiation.
************************************************************************/
void Uart_Init(void)
{
UART2_Handle.Instance = UART2;
UART2_Handle.Init.BaudRate = UART_BAUD_RATE;
UART2_Handle.Init.WordLength = UART_WORDLENGTH_8B;
UART2_Handle.Init.StopBits = UART_STOPBITS_1;
UART2_Handle.Init.Parity = UART_PARITY_NONE;
UART2_Handle.Init.Mode = UART_MODE_TX_RX_DEBUG;
UART2_Handle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
HAL_UART_Init(&UART2_Handle);
/* UART_DEBUG_ENABLE control printfS */
printfS("MCU is running, HCLK=%dHz, PCLK=%dHz\n", System_Get_SystemClock(), System_Get_APBClock());
}
/*********************************************************************************
* Function : main
* Description :
* Input :
* Outpu :
* Author : Chris_Kyle Data : 2020?
**********************************************************************************/
int main(void)
{
System_Init();
Uart_Init();
printfS("\nMyProject test Done!\n");
while(1)
{
}
}
5,添加工程目录下头文件索引文件夹
6,添加完后的工程目录如下图所示
7,编译无错误,连上串口助手,波特率115200,开发板点击复位,输出如下,工程正常运行。
总结:
该工程下已添加了官方所有的驱动文件和库文件,官方文件只在CMSIS和StdPeriphDriver文件夹下,后续开发自己的功能软件时可以不再关注官方文件,只需在其他文件夹下添加自己的工程代码就行
更多回帖