1 /****************************************************************************** 2 * Copyright (c) 2022 Telink Semiconductor (Shanghai) Co., Ltd. ("TELINK") 3 * All rights reserved. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 *****************************************************************************/ 18 19 /******************************************************************************************************** 20 * @file stimer.c 21 * 22 * @brief This is the source file for B91 23 * 24 * @author Driver Group 25 * 26 *******************************************************************************************************/ 27 #include "stimer.h" 28 /** 29 * @brief This function performs to set delay time by us. 30 * @param[in] microsec - need to delay. 31 * @return none 32 */ 33 _attribute_ram_code_sec_noinline_ delay_us(unsigned int microsec)34 void delay_us(unsigned int microsec) 35 { 36 unsigned long t = stimer_get_tick(); 37 while(!clock_time_exceed(t, microsec)){ 38 } 39 } 40 41 /* 42 * @brief This function performs to set delay time by ms. 43 * @param[in] millisec - need to delay. 44 * @return none 45 */ 46 _attribute_ram_code_sec_noinline_ delay_ms(unsigned int millisec)47 void delay_ms(unsigned int millisec) 48 { 49 unsigned long t = stimer_get_tick(); 50 while(!clock_time_exceed(t, millisec*1000)){ 51 } 52 } 53