-
準備hal庫
鏈接:https://pan.baidu.com/s/1qgfgcLL2yEb__dRb80nLdQ
提取碼:f1y6
-
新建一個文件夾命名爲hal_lib_study,並在其目錄下創建以下幾個文件夾
-
新建工程,取名爲hal_study,device選STM32F429IGTx
-
在工程組裏面創建以下文件分組
-
將下載好的hal庫中的driver下的src和inc文件全部複製到HALLIB下
-
將下載好的hal庫中的啓動文件等相關的文件複製到CORE目錄下
-
將下載好的hal庫例程中的相關的文件複製到USER目錄下
-
SYSTEM目錄下的文件爲正點原子提供的文件
-
將文件分別加入到工程
-
在C/C++加入USE_HAL_DRIVER,STM32F429xx宏定義
-
加入以下路徑
-
main文件中編寫簡單的LED燈閃爍代碼
#include "sys.h"
#include "delay.h"
#include "usart.h"
void Delay(__IO uint32_t nCount);
void Delay(__IO uint32_t nCount)
{
while(nCount--){}
}
int main(void)
{
GPIO_InitTypeDef GPIO_Initure;
HAL_Init(); //初始化HAL庫
Stm32_Clock_Init(360,25,2,8); //設置時鐘,180Mhz
__HAL_RCC_GPIOB_CLK_ENABLE(); //開啓GPIOB時鐘
GPIO_Initure.Pin=GPIO_PIN_0|GPIO_PIN_1; //PB1,0
GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP; //推輓輸出
GPIO_Initure.Pull=GPIO_PULLUP; //上拉
GPIO_Initure.Speed=GPIO_SPEED_HIGH; //高速
HAL_GPIO_Init(GPIOB,&GPIO_Initure);
while(1)
{
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET); //PB1置1
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET); //PB0置1
Delay(0x7FFFFF);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET); //PB1置0
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET); //PB0置0
Delay(0x7FFFFF);
}
}
DEMO下載地址https://download.csdn.net/download/mygod2008ok/12383602