历史上的今天
今天是:2025年06月26日(星期四)
2019年06月26日 | STM32的精确延时
2019-06-26 来源:eefocus
/*----------------------------------------------------------
文件名称:systick.c
文件描述:sysTick 系统滴答时钟1us中断函数库,中断时间可自由配置
备注:程序默认使用72M时钟,无分频
-----------------------------------------------------------------*/
#include "delay.h"
static __IO u32 TimingDelay;
/*-----------------------------------------------------------------------
程序名称:systick Init
程序描述:启动系统滴答定时器 systick
输入参数:无
返回参数:无
备注: 使用此功能之前需要调用此函数,初始化寄存器等参数
----------------------------------------------------------*/
void SysTick_Init(void)
{
//SystemFrequency /1000 1ms中断一次
//SystemFrequency /100000 10us中断一次
//SystemFrequency /1000000 1us中断一次
if(SysTick_Config(SystemCoreClock /1000000)) //1us
{
/*Caputure error*/
while(1);
}
}
/*---------------------------------------------
程序名称:Delay_us
程序描述:延时nTime us
输入参数:nTime
返回参数:无
备注: 无
-----------------------------------------------*/
void Delay_us(__IO u32 nTime)
{
TimingDelay = nTime;
while(TimingDelay != 0);
}
/*--------------------------------------------------
程序名称:TimingDelay_Decrement
程序描述:数字递减到0
输入参数:无
返回参数:无
备注: 需要中断函数SysTick_Handle()中调用
---------------------------------------------------------*/
void TimingDelay_Decrement(void)
{
if(TimingDelay != 0x00)
{
TimingDelay--;
}
}
在学习的时候发现,延时是错误的,因为这里的要是要依赖于系统的时钟所以在中断函数中要加入
SysTick_Handle()
/**
* @brief This function handles SysTick Handler.
* @param None
* @retval None
*/
void SysTick_Handler(void)
{
TimingDelay_Decrement();
}
上一篇:STM32按键控制灯
下一篇:STM32入门之中断
史海拾趣
|
[googleman帮我看看]定时器产生的中断请求,无法进入中断帮忙看看! static HANDLE TimerEvent; static HANDLE TimerThread; static UINT32 g_TIMER2Irq = IRQ_TIMER2; static UINT32 g_TIMER2SysIntr = SYSINTR_UNDEFINED; /************** ...… 查看全部问答> |
|
通过裁减内核,NK.NB0的大小缩小为19M,更改CONFIG。BIB文件后部分如下: MEMORY ;;; Tarzan Debug mode NK 8C200000 ...… 查看全部问答> |
|
开发Display驱动的大致步骤如下: (1) 继承GPE类并定义一个该类的实例。 (2) 实现GetGPE()函数,把该类的实例返回给上层的DDI接口。 (3) 实现DrvEnabLEDriver(..)和DisplayI ...… 查看全部问答> |
|
(一) 保养项目: 清洁及检查PCB进出感应器 (二) 保养工具: 擦拭纸 (三)保养方法:清洁进出口感应器并检查状态是否正常 (四) 检查方法: 检查感应器上是否有灰尘, 并确认感应器状态是否正常 (五) 检查判定基准: 感应器上无灰尘, 且状态正常 ...… 查看全部问答> |
|
虚拟电子实验室NI_Circuit_Design_Suite_12_0(Multisim 12)发布&下载 Multisim 12下载 虚拟电子实验室NI_Circuit_Design_Suite_12_0(Multisim 12)发布 下载 http://yunfile.com/file/zhengoogle/c88ca1ef/ http://hi.baidu.com/zhenmcu/blog/item/b941932b6a54df3bb8998f85.html… 查看全部问答> |
|
说到分立元件,大家立马想到的应该是电阻、电容、电感。不错,我见天要和大家分享的也就是些电阻、电容、二极管、三极管以及场效应管中会出现的一些奇葩现象,这只有在设备维修的工程师才会发现的现象哦!   ...… 查看全部问答> |
|
随着嵌入式行业的迅猛发展,嵌入式Linux凭借其系统发展的成熟度、市场应用的高份额也受到更多工程师朋友的青睐,越来越多的企业和研发机构都转向嵌入式Linux的开发和研究,这使得嵌入式Linux在新兴的嵌入式操作系统领域内也获得了飞速发展和广泛应 ...… 查看全部问答> |
|
什么是功率因数校正(PFC)? 功率因数指的是有效功率与总耗电量(视在功率)之间的关系,也就是有效功率除以总耗电量(视在功率)的比值。 基本上功率因数可以衡量电力被有效利用的程度, 当功率因数值越大,代表其电力利用率越高。开关电源供应器上的 ...… 查看全部问答> |
|
在制作一块汽车控制板,使用的是TI公司的F28335芯片。在硬件部分,遇到了不少问题,现将其中的几个问题总结如下:1.ccs连接芯片的时候,提示Error connecting to the target: Error 0x00000220/-1156 Error during: Execution, OCS, Lost proce ...… 查看全部问答> |




