[Nucleo-F411RE] 第2篇--用stm32CubeMx创建工程配置GPIO的流程

也是很多年没用过stm32,原来还有这么方便的东西,根本不用手动拷贝库,图形化配置直接搞定。

1.下载stm32f4的库

[Nucleo-F411RE] 第2篇--用stm32CubeMx创建工程配置GPIO的流程_第1张图片

 [Nucleo-F411RE] 第2篇--用stm32CubeMx创建工程配置GPIO的流程_第2张图片

2. file-new project, 选择stm32F411RE,然后双击nucleo-f411re, 然后点击Start Project

 

[Nucleo-F411RE] 第2篇--用stm32CubeMx创建工程配置GPIO的流程_第3张图片

[Nucleo-F411RE] 第2篇--用stm32CubeMx创建工程配置GPIO的流程_第4张图片

3.配置时钟(这个太方便了),直接写然后确定就行了。

[Nucleo-F411RE] 第2篇--用stm32CubeMx创建工程配置GPIO的流程_第5张图片 

 4.配置gpio点一个灯LD2, PA5 ---> GPIOA , 配置输出,默认为高,下载程序复位后灯就亮。 

[Nucleo-F411RE] 第2篇--用stm32CubeMx创建工程配置GPIO的流程_第6张图片

[Nucleo-F411RE] 第2篇--用stm32CubeMx创建工程配置GPIO的流程_第7张图片

 5.生成工程

[Nucleo-F411RE] 第2篇--用stm32CubeMx创建工程配置GPIO的流程_第8张图片

 [Nucleo-F411RE] 第2篇--用stm32CubeMx创建工程配置GPIO的流程_第9张图片

 -------------------------------------

还是记录一下,熟悉了就忽略这些,然后看下代码

  main()
    |
    |------- HAL_Init()
    |
    |------- SystemClock_Config()
    |
    |------- MX_GPIO_Init()
    |
    |------- MX_USART2_UART_Init();


 记录一下时钟相关知识:
    
    1.不同的外设需要不同的时钟频率,所以stm32有多个不同的时钟源。
    2.stm32F4有5个时钟源,内部2个+ 外部2个 + PLL(主PLL和 PLLI2S)
    3. HSE: 8MHz 
       LSE: 32.768kHz
       LSI: 32kHz
       HSI: 16MHz
   系统时钟可以有3个来源,HSI,HSE, 主PLL。
    
 

 

GPIO的时钟配置路线:

[Nucleo-F411RE] 第2篇--用stm32CubeMx创建工程配置GPIO的流程_第10张图片

[Nucleo-F411RE] 第2篇--用stm32CubeMx创建工程配置GPIO的流程_第11张图片 

 APB2时钟频率计算方法:

[Nucleo-F411RE] 第2篇--用stm32CubeMx创建工程配置GPIO的流程_第12张图片

 F = FpLL * N/PM = 16 * 100 /8 /2 = 100兆 

--------------------------------------------------------------------

总结,这个使用好方便,简化了gpio初始化的配置工作,也就是while(1)之前的gpio初始化工作。

你可能感兴趣的:(stm32,stm32CubeMx,stm32F411,单片机)