查看网上设置延时函数的方法不外乎三种,统一总结一下:
第一种:通过设置循环设置延时函数
通过时钟周期,机器周期,指令周期,来具体计算单片机执行一条指令的时间,来进行延时(这种延时不太精确)详细可以看看这篇文章https://blog.csdn.net/jasper_JA/article/details/115481868
第二种:通过设置定时器记数产生中断来进行延时(但这种不适合写成延时函数)
根据当前定时器的频率来配置定时器的分频系数以及重装值
tout=reload/(时钟频率/分频系数),单位s ex:当时钟频率为72MHZ时,分频系数设置71+1,reload设置为10,即是10/(72MHz/72)为10us
还可通过配置定时器(不开启中断)我这里配置的是数一个数为1us
第三种:通过配置滴答定时器 来进行延时操作
本质上也可以如上面的定时器的两种方法进行延时
总结:总的来说延时的方法不外乎两种,一个是循环,一个是中断