From 678cda82efa03c875db392b738943f30812f0d55 Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Tue, 23 Apr 2024 19:45:13 +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