本帖最后由 强仔00001 于 2014-11-14 11:50 编辑
拿到STM32L053R8-Nucleo后,一直跑着例程,今天新建了个GPIO的模板,来点亮板子上的LED灯。使用的是最新的库函数(HAL库),现在我分享我在keil 5的新建模板的心得吧。
第一次使用keil 5的朋友们要注意啦,芯片的支持包要在软件里自己进行下载。
如下图用红色圈住的地方:
下载完stm32L系列的支持包后,就可以建我们的第一个工程了,就从经典的点亮开发板的led开始吧。
首先要新建工程,如下图;
点击完后会弹出要求你选择什么芯片。
我们用的是stm32L053R8 Nucleo,芯片当然选择stm32L053R8 。
选好芯片之后,进入工程的前期配置了。
CMSIS的CORE和DSP分别是cortex-m和dsp的支持库。Startup是启动文件,Startup的选项一定要勾上,否则你写的程序运行不了的,其他的选项的功能大家可以自行进行研究,我这里就不多说了,勾选上下图红色圈的选项。
当这好这几个文件后,点击OK,编译器就会自动帮我们添加了启动文件和系统初始化的文件。如下图:
接着往我们的工程就添加了几个文件夹,如下图:
然后在工程的目录下创建于编译器一样的文件夹组。建议最好跟编译器工程目录下的文件夹一样,这样方便日后管理。
然后在新建的USER文件夹中新建main.c文件,然后把main.c文件添加编译器USER分组中,如下图:
接着把ST公司新一代的HAL库的外设驱动库添加到自己的工程目录中,如下图:
接着把HAL库中的所有驱动库的c文件添加到工程目录中,注意c文件是放在src文件夹中的,操作如下图:
接着就要来配置编译器找头文件的路径和仿真器的设置,步骤如下:
上图填入的参数是代表要编译器使用ST公司的HAL库。接着要配置头文件的路径:
还有一点要注意的是,要在项目的添加另外的头文件和其他一些文件,这些文件都是我从例程中提取出来的。如下图:
最后配置仿真器的设置和flash文件的选择,方法如下:
这里要注意的是,因为板上集成的仿真器是SW的,所以要选择SW这个选项,选上后,如果用usb接上开发套件,这里会显示出一些信息,内容是画着红色框的信息,这样大家也可以凭借这个条件判断仿真器是否有接上或者是否能正常工作。
最后选择flash文件,方法如下:
做完上述工作,就可以开始写程序了,这里我写了个点灯的程序,代码如下:
- #include "stm32l0xx.h"
- int main()
- {
- RCC_OscInitTypeDef RCC_OscInitStruct;
- RCC_ClkInitTypeDef RCC_ClkInitStruct;
- GPIO_InitTypeDef GPIO_InitStruct;
-
- RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
- HAL_RCC_OscConfig(&RCC_OscInitStruct);
-
- RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
- RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_MSI;
- RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
- RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
- RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
- HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0);
-
- HAL_InitTick(TICK_INT_PRIORITY);
-
- __GPIOA_CLK_ENABLE();
-
- GPIO_InitStruct.Pin = (GPIO_PIN_5);
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- GPIO_InitStruct.Pull = GPIO_PULLUP;
- GPIO_InitStruct.Speed = GPIO_SPEED_FAST;
-
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
- while (1)
- {
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5,1);
- }
- }
复制代码然后编译工程,当编译成功后,编译器会出现以下信息,有些警告可以不用管。
接着下载程序进单片机,复位一下,板上的小LED点亮了
我把模板放上来,供大家下载。