Keil5新建HAL库工程

一.资料下载

<1>芯片驱动下载

打开Keil官网,选择驱动;

选择芯片厂家和内核型号; 

找到对应的pack点击下载即可,下载完成后双击下载即可。

温馨提示:下载速度可能比较慢,建议科学上网。 

<2>HAL固件库下载

打开ST官网

先选择产品选择器,再搜索对应的系列; 

 将鼠标悬停在对应系列上就可找到该页面;

 进入这个页面后往下翻;

 选择对应的版本进行下载即可。

二.创建工程文件夹 

                                                                创建工程文件夹,并且新建相应文件夹;

文件夹名称作用
Drivers

存放与硬件相关的驱动层文件

Middlewares存放中间层文件组件文件和第三方中间层文件
Output存放工程编译输出文件
Projects存放MDK工程文件
User存放HAL库用户配置文件、main.c、中断处理文件,以及分散加载文件

<1>Drivers文件夹

文件夹名称作用
BSP存放开发板板级支持包驱动代码,如各种外设驱动(暂为空)
CMSIS存放CMSIS底层代码,如启动文件(.S文件)等
SYSTEM存放系统级核心驱动代码,如sys.c、delay.c和usart.c等(暂为空)
STM32F1xx_HAL_Driver存放ST提供的F1系列HAL库驱动源码

<2>Middlewares文件夹(暂为空)

该文件用于存放中间层代码(组件/Lib)等,如:USMART、MALLOC、TEXT、FATFS、USB、LWIP、各种OS、各种GUI等。

<3>Output文件夹 (暂为空)

该文件用于存放编译器编译工程输出的中间文件,比如:.hex、.bin、.o文件等。

<4>Projects文件夹

该文件用于存放编译器(MDK、IAR等)工程文件,我们主要用到MAK,为了方便区分,我们在该文件下新建:MDK-ARM文件夹,用于存放MDK的工程文件。

<5>User文件夹

该文件用于存放用户编写的代码,如:HAL库用户配置文件、main.c文件、中断处理文件,以及分散加载文件等。

三.Keil5新建工程 

新建工程,保存到创建的Projects文件夹;

选择对应的型号;

点击取消;

删除Projects里的这两个文件夹;

 

添加分组;

添加启动文件,启动文件看自己MCU的型号选择对应的启动文件,路径为:Template\Drivers\CMSIS_F103\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\arm;

添加这两个文件,路径分别为:Template\User 和 Template\Drivers\CMSIS_F103\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates;

  

添加HAL库驱动文件,可裁剪添加:Template\Drivers\STM32F1xx_HAL_Driver\Src;

                                                                                        设置保存位置为Output文件夹; 

设置保存位置为Output文件夹;

添加头文件路径;

设置完这些就差不多了,然后写一个系统时钟初始化函数,别忘了在main.c里写一个主函数,要不然可能会报错。

#include "stm32f1xx_hal.h"


void sys_stm32_clock_init(uint32_t plln);



int main()
{
	 HAL_Init();                              /* 初始化HAL库 */
	 sys_stm32_clock_init(RCC_PLL_MUL9);     /* 设置时钟, 72Mhz */

	while(1)
	{

	}
}
	

void sys_stm32_clock_init(uint32_t plln)
{
    HAL_StatusTypeDef ret = HAL_ERROR;
    RCC_OscInitTypeDef rcc_osc_init = {0};
    RCC_ClkInitTypeDef rcc_clk_init = {0};

    rcc_osc_init.OscillatorType = RCC_OSCILLATORTYPE_HSE;       /* 选择要配置HSE */
    rcc_osc_init.HSEState = RCC_HSE_ON;                         /* 打开HSE */
    rcc_osc_init.HSEPredivValue = RCC_HSE_PREDIV_DIV1;          /* HSE预分频系数 */
    rcc_osc_init.PLL.PLLState = RCC_PLL_ON;                     /* 打开PLL */
    rcc_osc_init.PLL.PLLSource = RCC_PLLSOURCE_HSE;             /* PLL时钟源选择HSE */
    rcc_osc_init.PLL.PLLMUL = plln;                             /* PLL倍频系数 */
    ret = HAL_RCC_OscConfig(&rcc_osc_init);                     /* 初始化 */

    if (ret != HAL_OK)
    {
        while (1);                                              /* 时钟初始化失败,之后的程序将可能无法正常执行,可以在这里加入自己的处理 */
    }

    /* 选中PLL作为系统时钟源并且配置HCLK,PCLK1和PCLK2*/
    rcc_clk_init.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
    rcc_clk_init.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;        /* 设置系统时钟来自PLL */
    rcc_clk_init.AHBCLKDivider = RCC_SYSCLK_DIV1;               /* AHB分频系数为1 */
    rcc_clk_init.APB1CLKDivider = RCC_HCLK_DIV2;                /* APB1分频系数为2 */
    rcc_clk_init.APB2CLKDivider = RCC_HCLK_DIV1;                /* APB2分频系数为1 */
    ret = HAL_RCC_ClockConfig(&rcc_clk_init, FLASH_LATENCY_2);  /* 同时设置FLASH延时周期为2WS,也就是3个CPU周期。 */

    if (ret != HAL_OK)
    {
        while (1);                                              /* 时钟初始化失败,之后的程序将可能无法正常执行,可以在这里加入自己的处理 */
    }
}


  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好!要在Keil uVision5中创建一个使用HAL库的新工程,您可以按照以下步骤进行操作: 1. 打开Keil uVision5。如果您尚未安装Keil软件,请先下载并安装它。 2. 在菜单栏中,选择 "Project"(项目) -> "New µVision Project"(新建µVision项目)。 3. 在弹出的对话框中,选择一个适当的文件夹来保存您的工程,并为工程指定一个名称。然后点击 "Save"(保存)。 4. 在新建工程中,右键单击 "Target 1"(目标1)并选择 "Options for Target 'Target 1'"(目标1的选项)。 5. 在 "Target Options"(目标选项)对话框中,选择 "C/C++" 选项卡。 6. 在 "Include Paths"(包含路径)下,添加HAL库的路径。这取决于您所使用的具体HAL库版本和位置,但通常包含在一个名为 "STM32Cube_FW_XXX" 的文件夹中。点击右侧的 "..." 按钮,并选择正确的路径。 7. 在 "Define"(定义)选项卡下,您可以添加适当的宏定义(如果有需要)。 8. 点击 "OK"(确定)保存设置并关闭对话框。 9. 在 "Project"(项目)窗口中,右键单击 "Source Group 1"(源组1),选择 "Add New Item to Group 'Source Group 1'"(向组 'Source Group 1' 添加新项目)。 10. 在弹出的对话框中,选择 "C Source File"(C源文件),并为文件指定一个名称,然后点击 "Add"(添加)。 11. 在新创建的源文件中,您可以编写您的代码,并使用HAL库的功能。 以上是在Keil uVision5中创建使用HAL库的新工程的基本步骤。请注意,具体步骤可能会因您使用的HAL库版本和STM32系列芯片而有所不同。在实际操作中,请参考相关的HAL库文档和Keil软件的用户手册,以获取更详细的指导。 希望对您有帮助!如有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值