forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-05-23 e5ec6ffc2fa0c07785c9d797c3fd74fd3031059f
HARDWARE/DELAY/delay.h
@@ -1,57 +1,32 @@
#ifndef __DELAY_H
#define __DELAY_H
#include "sys.h"
//////////////////////////////////////////////////////////////////////////////////
#ifndef _DELAY_H_
#define _DELAY_H_
#include "fm33a0xxev_cmu.h"
//********************************************************************************
//V1.2ÐÞ¸Ä˵Ã÷
//ÐÞÕýÁËÖжÏÖе÷ÓóöÏÖËÀÑ­»·µÄ´íÎó
//·ÀÖ¹ÑÓʱ²»×¼È·,²ÉÓÃdo while½á¹¹!
//µÎ´ð¶¨Ê±Æ÷ʱÖÓÔ´¶¨Òå
#define SYSTICK_CLOCK_SOURCE_SCLK    0xFFFFFF3F
#define SYSTICK_CLOCK_SOURCE_LSCLK   0xFFFFFF7F
#define SYSTICK_CLOCK_SOURCE_RFU     0xFFFFFFBF
#define SYSTICK_CLOCK_SOURCE_SYSCLK  0xFFFFFFFF
//V1.3ÐÞ¸Ä˵Ã÷
//Ôö¼ÓÁ˶ÔUCOSIIÑÓʱµÄÖ§³Ö.
//Èç¹ûʹÓÃucosII,delay_init»á×Ô¶¯ÉèÖÃSYSTICKµÄÖµ,ʹ֮ÓëucosµÄTICKS_PER_SEC¶ÔÓ¦.
//delay_msºÍdelay_usÒ²½øÐÐÁËÕë¶ÔucosµÄ¸ÄÔì.
//delay_us¿ÉÒÔÔÚucosÏÂʹÓÃ,¶øÇÒ׼ȷ¶ÈºÜ¸ß,¸üÖØÒªµÄÊÇûÓÐÕ¼ÓöîÍâµÄ¶¨Ê±Æ÷.
//delay_msÔÚucosÏÂ,¿ÉÒÔµ±³ÉOSTimeDlyÀ´ÓÃ,ÔÚδÆô¶¯ucosʱ,Ëü²ÉÓÃdelay_usʵÏÖ,´Ó¶ø×¼È·ÑÓʱ
//¿ÉÒÔÓÃÀ´³õʼ»¯ÍâÉè,ÔÚÆô¶¯ÁËucosÖ®ºódelay_ms¸ù¾ÝÑÓʱµÄ³¤¶Ì,Ñ¡ÔñOSTimeDlyʵÏÖ»òÕßdelay_usʵÏÖ.
#define SYSTICK_CLOCK_SOURCE_U_SCLK   0x00000000
#define SYSTICK_CLOCK_SOURCE_U_LSCLK  0x00000040
#define SYSTICK_CLOCK_SOURCE_U_RFU    0x00000080
#define SYSTICK_CLOCK_SOURCE_U_SYSCLK 0x000000C0
//V1.4ÐÞ¸Ä˵Ã÷ 20110929
//ÐÞ¸ÄÁËʹÓÃucos,µ«ÊÇucosδÆô¶¯µÄʱºò,delay_msÖÐÖжÏÎÞ·¨ÏìÓ¦µÄbug.
//V1.5ÐÞ¸Ä˵Ã÷ 20120902
//ÔÚdelay_us¼ÓÈëucosÉÏËø£¬·ÀÖ¹ÓÉÓÚucos´ò¶Ïdelay_usµÄÖ´ÐУ¬¿ÉÄܵ¼ÖµÄÑÓʱ²»×¼¡£
//////////////////////////////////////////////////////////////////////////////////
void Delay_init(void);
void delay_ms(u16 nms);
void delay_us(u32 nus);
#define SYSCLOCK_U        __XTHF_CLOCK
typedef int (*ConditionHook)(void);
void delay_init(uint32_t sysclkfre);
void delay_ms(uint32_t ms);
void delay_us(uint32_t us);
#endif