From b39a40b0191e0a8b155db74e885ff66e17b91896 Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Thu, 06 Jun 2024 19:25:15 +0800
Subject: [PATCH] 继续完善

---
 HARDWARE/DELAY/Delay.c |   89 ++++++++++++++------------------------------
 1 files changed, 28 insertions(+), 61 deletions(-)

diff --git a/HARDWARE/DELAY/Delay.c b/HARDWARE/DELAY/Delay.c
index 4c3d3de..9fe5f2f 100644
--- a/HARDWARE/DELAY/Delay.c
+++ b/HARDWARE/DELAY/Delay.c
@@ -1,44 +1,38 @@
-
-/******************************************************************************
- * Copyright (C) 2014-2015 HangZhou SiZhu Co.,LTD.
- *
- *-----------------------------------------------------------------------------
- * File: 			    Delay.c
- * Description:		time delay: delay_us & delay_ms
- * Author:			  Lishoujian (867693272@qq.com)
- * Date:			    Jan 8, 2015
- *****************************************************************************/
-
-/* ----------------------- Platform includes --------------------------------*/
-
 #include "delay.h"
-#include "sys.h"
-////////////////////////////////////////////////////////////////////////////////// 	 
- 	 
-static u8  fac_us=0;//us��ʱ������
-static u16 fac_ms=0;//ms��ʱ������
 
+static uint8_t  fac_us=0;//us��ʱ������
+static uint16_t fac_ms=0;//ms��ʱ������
 
-
-//��ʼ���ӳٺ���
-//SYSTICK��ʱ�ӹ̶�ΪHCLKʱ�ӵ�1/8
-//SYSCLK:ϵͳʱ��
-void Delay_init()	 
+void delay_init(uint32_t sysclkfre)
 {
-//	SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);	//ѡ���ⲿʱ��  HCLK/8
-	SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);	//ѡ���ⲿʱ��  HCLK/8
-	fac_us=12*SystemCoreClock/HSE_VALUE;	//Ϊϵͳʱ�ӵ�1/8  
-	fac_ms=(u16)fac_us*1000;//ÿ��ms��Ҫ��systickʱ����   
-}								    
+//	CMU->SYSCLKCR &= SYSTICK_CLOCK_SOURCE_SYSCLK;//systick����ʱ��ѡ��sysclk 
+//	CMU_SYSCLKCR_STCLKSEL_Set(0x00000003);//�⺯��
+	CMU->SYSCLKCR &= ~SYSTICK_CLOCK_SOURCE_U_SYSCLK;
+	CMU->SYSCLKCR |= SYSTICK_CLOCK_SOURCE_U_SYSCLK;
+	fac_us=sysclkfre/1000000;;	//Ϊϵͳʱ�ӵ�1/12  
+	fac_ms=(uint16_t)fac_us*1000;//ÿ��ms��Ҫ��systickʱ���� 	
+}
 
+void delay_ms(uint32_t ms)
+{
+	uint32_t temp;		   
 
+	SysTick->LOAD=(uint32_t)ms*fac_ms;//ʱ�����(SysTick->LOADΪ24bit)
+	SysTick->VAL =0x00;           //��ռ�����
+	SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ;          //��ʼ����  
+	do
+	{
+		temp=SysTick->CTRL;
+	}
+	while(temp&0x01&&!(temp&(1<<16)));//�ȴ�ʱ�䵽��   
+	SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;       //�رռ�����
+	SysTick->VAL =0X00;       //��ռ�����	 
+}
 
-//��ʱnus
-//nusΪҪ��ʱ��us��.		    								   
-void delay_us(u32 nus)
-{		
-	u32 temp;	    	 
-	SysTick->LOAD=nus*fac_us; //ʱ�����	  		 
+void delay_us(uint32_t us)
+{
+	uint32_t temp;	    	 
+	SysTick->LOAD=us*fac_us; //ʱ�����	  		 
 	SysTick->VAL=0x00;        //��ռ�����
 	SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ;          //��ʼ����	 
 	do
@@ -49,30 +43,3 @@
 	SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;       //�رռ�����
 	SysTick->VAL =0X00;       //��ռ�����	 
 }
-
-
-
-//��ʱnms
-//ע��nms�ķ�Χ
-//SysTick->LOADΪ24λ�Ĵ���,����,�����ʱΪ:
-//nms<=0xffffff*8*1000/SYSCLK
-//SYSCLK��λΪHz,nms��λΪms
-//��72M������,nms<=1864 
-
-void delay_ms(u16 nms)
-{	 		  	  
-	u32 temp;		   
-	SysTick->LOAD=(u32)nms*fac_ms;//ʱ�����(SysTick->LOADΪ24bit)
-	SysTick->VAL =0x00;           //��ռ�����
-	SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ;          //��ʼ����  
-	do
-	{
-		temp=SysTick->CTRL;
-	}
-	while(temp&0x01&&!(temp&(1<<16)));//�ȴ�ʱ�䵽��   
-	SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;       //�رռ�����
-	SysTick->VAL =0X00;       //��ռ�����	  	    
-} 
-
-
-

--
Gitblit v1.9.3