donatello1996 发表于 2017-5-18 17:41:33

F412Disco SYSTICK应用

       不管是精确延时函数还是粗延时函数,对于单片机有序执行指令都是非常重要的。这里我引用了之前的Nucleo-F412例程中的以SYSTICK(系统滴答时钟)为基础的精确延时函数,SYSTICK是以SYSCLOCK(系统时钟)作为时钟源经过分频进行计数的,以F412的100MHz主频为例,100MHz100分频后为1MHz,1s/1M=1us,即计数1000次后溢出,用时1us,这样,以此为计时单位来延时,就可以得到基于SYSCLK的精确延时函数,该延时函数的精度要比用while循环死等的粗延时函数要高得多(while循环死等粗延时函数的基础其实是MCU执行一条指令的时间,但是学过汇编的人们都知道,执行指令是要经过寄存器和运算器的,并且极易受环境温湿度影响,而SYSTICK虽然也会受温度影响,但是是直接用MCU的时钟源分频后计时的)。

    延时函数弄好了之后,就是即为简单的配置GPIO引脚,需要配置PE0到PE3。注意,这四盏灯都是接在VCC上面的,因此是灌电流法点亮,即低电平点亮。


cldym 发表于 2017-5-18 20:02:51

学习学习
页: [1]
查看完整版本: F412Disco SYSTICK应用