其实很早之前就会点灯了,但是这次编程主要是为了学习SysTick(系统滴答定时器)中断,在测试通过SysTick中断编写的Delay函数时想只观察LED灯1的亮灭情况,然后直接把LED2的点灯程序(包括置位和复位的函数)全部注释了,然后程序一烧进去发现LED2常亮,一下子给我整懵了,后来查了相关资料才想起来LED是低电平有效,而配置函数中初始化是默认置0的,所以初始化后如果不执行任何函数,LED就应该是常亮的。
道理说的很明白了,初始化时默认置0(清0),而LED碰巧又是低电平有效,这时如果不给LED的端口位置1,那么LED就默认会点亮,如果想关闭就很简单,直接在初始化后给LED端口位置1就好了。
特此记录一下,防止忘了。还得多学学数电模电,看得懂原理图才行啊~~~
程序如下(硬件:野火STM32F103Mini):