不管是精确延时函数还是粗延时函数,对于单片机有序执行指令都是非常重要的。这里我引用了之前的Nucleo-F412例程中的以SYSTICK(系统滴答时钟)为基础的精确延时函数,SYSTICK是以SYSCLOCK(系统时钟)作为时钟源经过分频进行计数的,以F412的100MHz主频为例,100MHz100分频后为1MHz,1s/1M=1us,即计数1000次后溢出,用时1us,这样,以此为计时单位来延时,就可以得到基于SYSCLK的精确延时函数,该延时函数的精度要比用while循环死等的粗延时函数要高得多(while循环死等粗延时函数的基础其实是MCU执行一条指令的时间,但是学过汇编的人们都知道,执行指令是要经过寄存器和运算器的,并且极易受环境温湿度影响,而SYSTICK虽然也会受温度影响,但是是直接用MCU的时钟源分频后计时的)。 延时函数弄好了之后,就是即为简单的配置GPIO引脚,需要配置PE0到PE3。注意,这四盏灯都是接在VCC上面的,因此是灌电流法点亮,即低电平点亮。 |
学习学习 |
SPC5Studio入门手册1----SPC5STudio5.0安装应用向导
图形化玩转Nucleo-STM32F413手机APP远程控制应用开发
【HAL库每天一例】第066例:以太网-基于W5500的11个应用例程
STM32超低功耗平台上的RTOS应用--PDF课件
STM32F769I-DISCO评测之(六)使用STM32CubeMX快速开发应用 ...
【STM32F030开发日志】STM32F0红外发射功能的应用(附代码)
STM32L476基础内部资源应用,串口收发,定时器中断,外部...
【HAL库每天一例】第064例:WIFI-ESP8266两个应用实例
转发:ARM®mbed OS入门开发(六 A)mbedGPIO中断应用
AN2557_STM32F10xxx使用USART的应用中编程