NUCLEO-F411RE开发板有3个LED,其中F411RE可以控制的是LD2,而LD3在PCB上可以通过设置不同的电阻连接配置到不同的端口,这里以默认的SB42电阻为例,即用PA5控制。
工具/原料
1
STM32CubeMX
2
Keil
方法/步骤
1
从官网下载NUCLEO-F411RE,找到MB1136.pdf。
2
MB1136就是NUCLEO-F411RE的原理图总图,在第三页可以看到开发板芯片的原理图。找到LD2,可以看到它有好几个端口连接了,但是每一个端口都通过电阻隔开了,我的开发板连接了SB42,而SB29是断开的,所以可以通过PA5控制它。
3
使用STM32CubeMX生成一个STM32F411RE的工程,同时记得使能定时器TIM1。接着打开工程,定义一个GPIO_PinState变量,用于保存PA5的端口状态。
4
在void TIM1_UP_TIM10_IRQHandler(void)中断函数中增加一段小代码,用于操作pc8_flag,即pc8_flag的状态会按设定的定时周期翻转。
5
添加GPIO_Init函数,对PA5端口进行初始化,配置为输出模式,记得开启时钟。
6
添加static void MX_TIM1_Init(void)初始化TIM1,不要忘记开启更新中断,这个函数需要在while(1)循环前调用。
7
在main函数进入主循环前调用配置函数,然后再while(1)循环的用户代码区域添加对PA5端口的写操作,即将pc8_flag写到PA5,而pc8_flag的状态是在TIM1更新中断中操作的。
8
在贴一个时钟初始化的函数,这个其实是STM32CubeMX自动生成的,这里使用了16M的内部时钟,不适用PLL也不分频。
注意事项
1
1、实例中使用的是内部16M时钟,而且没有分频,如果采用的不是这个配置那么需要更改下TIM1的配置参数。
2
2、使用任何一个外设都要保证相应的时钟已经开启了。
3
3、注意LD2端口在PCB上实际的控制端口,最简单就是看相应的电阻怎么焊接的。
上一篇:正确的眼部按摩手法 还你闪亮明眸
下一篇:闪亮娃娃鞋的做法