 Doc为项目说明文档,Driver为外设驱动程序,Lib为HAL库文件,MDK为工程编译输出的信息,Startup为启动文件,STM32L053R8T6为开发板的支持文件只针对开发板开发时使用具体项目可以不需要,User为用户文件编写的应用程序可以放在此处。接下来我们把从官网下载的HAL库里的文件移植到这个项目中,前两个文件夹里的文件是用户自己编写的,主要就是把库文件移植到Lib中。在Lib中我又新建了两个文件夹CMSIS和STM32L0xx_HAL_Driver,CMSIS是和MCU芯片内核相关的一些头文件等如下图所示
   Doc为项目说明文档,Driver为外设驱动程序,Lib为HAL库文件,MDK为工程编译输出的信息,Startup为启动文件,STM32L053R8T6为开发板的支持文件只针对开发板开发时使用具体项目可以不需要,User为用户文件编写的应用程序可以放在此处。接下来我们把从官网下载的HAL库里的文件移植到这个项目中,前两个文件夹里的文件是用户自己编写的,主要就是把库文件移植到Lib中。在Lib中我又新建了两个文件夹CMSIS和STM32L0xx_HAL_Driver,CMSIS是和MCU芯片内核相关的一些头文件等如下图所示#include "stm32l0xx_hal.h"
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
int main(void)
{
  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  while (1)
  {
if(HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13) == 1)
{	
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
HAL_Delay(500);
}
else
{
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
}
}
}
void SystemClock_Config(void)
{
  RCC_OscInitTypeDef RCC_OscInitStruct;
  RCC_ClkInitTypeDef RCC_ClkInitStruct;
  __PWR_CLK_ENABLE();
  __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  RCC_OscInitStruct.HSICalibrationValue = 16;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
  RCC_OscInitStruct.PLL.PLLMUL = RCC_PLLMUL_4;
  RCC_OscInitStruct.PLL.PLLDIV = RCC_PLLDIV_2;
  HAL_RCC_OscConfig(&RCC_OscInitStruct);
  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK;
  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  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_1);
  HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
  HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
  HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
}
void MX_GPIO_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStruct;
  __GPIOC_CLK_ENABLE();
  __GPIOA_CLK_ENABLE();
  GPIO_InitStruct.Pin = GPIO_PIN_13;
  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
  GPIO_InitStruct.Pin = GPIO_PIN_5;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}
下载到开发板中能看到小灯一闪一闪,按下按键小灯则不闪一直点亮。
下面是HAL库使用参考文档,回复可见哦 ,写了这么多好累!   ——回复可见内容——
,写了这么多好累!   ——回复可见内容——  										
 
					
				
 
			
			
			
						
			 
					
				 
					
				 
					
				 
					
				 
										 
					
				 
					
				 
					
				 
					
				 
					
				 我要赚赏金
 我要赚赏金 STM32
STM32 MCU
MCU 通讯及无线技术
通讯及无线技术 物联网技术
物联网技术 电子DIY
电子DIY 板卡试用
板卡试用 基础知识
基础知识 软件与操作系统
软件与操作系统 我爱生活
我爱生活 小e食堂
小e食堂

