1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- /* Copyright Statement:
- *
- * This software/firmware and related documentation ("AutoChips Software") are
- * protected under relevant copyright laws. The information contained herein is
- * confidential and proprietary to AutoChips Inc. and/or its licensors. Without
- * the prior written permission of AutoChips inc. and/or its licensors, any
- * reproduction, modification, use or disclosure of AutoChips Software, and
- * information contained herein, in whole or in part, shall be strictly
- * prohibited.
- *
- * AutoChips Inc. (C) 2022. All rights reserved.
- *
- * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
- * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("AUTOCHIPS SOFTWARE")
- * RECEIVED FROM AUTOCHIPS AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER
- * ON AN "AS-IS" BASIS ONLY. AUTOCHIPS EXPRESSLY DISCLAIMS ANY AND ALL
- * WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
- * NONINFRINGEMENT. NEITHER DOES AUTOCHIPS PROVIDE ANY WARRANTY WHATSOEVER WITH
- * RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
- * INCORPORATED IN, OR SUPPLIED WITH THE AUTOCHIPS SOFTWARE, AND RECEIVER AGREES
- * TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
- * RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
- * OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN AUTOCHIPS
- * SOFTWARE. AUTOCHIPS SHALL ALSO NOT BE RESPONSIBLE FOR ANY AUTOCHIPS SOFTWARE
- * RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
- * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND AUTOCHIPS'S
- * ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE AUTOCHIPS SOFTWARE
- * RELEASED HEREUNDER WILL BE, AT AUTOCHIPS'S OPTION, TO REVISE OR REPLACE THE
- * AUTOCHIPS SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE
- * CHARGE PAID BY RECEIVER TO AUTOCHIPS FOR SUCH AUTOCHIPS SOFTWARE AT ISSUE.
- */
- /******************************************************************************
- * @version: V2.0.1 AC7840x Demo
- ******************************************************************************/
- /*!
- * @file timer.c
- *
- * @brief This file contains the user function.
- *
- */
- /* =========================================== Includes =========================================== */
- #include "timer.h"
- #include "string.h"
- #include "timer_drv.h"
- #include "timer_hw.h"
- #include "process.h"
- /*!* @brief TIMER0中断回调函数
- *
- * @param[in] none
- * @return none
- */
- void TIMER0_Callback(void *device, uint32_t wpara, uint32_t lpara)
- {
- timer_callback();
-
- }
- /*!
- * @brief TIMER初始化函数
- *
- * @param[in] none
- * @return none
- *注意:timer时钟源在clock_config.c文件的peripheralClockConfig0结构体中第二个元素配置
- */
- void Timer_Init(void)
- {
- timer_user_channel_config_t timerConfig;
- memset(&timerConfig, 0U, sizeof(timerConfig));
- /*TIMER参数配置*/
- timerConfig.timerMode = TIMER_PERIODIC_COUNTER; /* 32bit计数 */
- timerConfig.periodUnits = TIMER_PERIOD_UNITS_MICROSECONDS; /* 以us为单位计数 */
- timerConfig.period = 10000U; /* 10ms为周期 */
- timerConfig.triggerSource = TIMER_TRIGGER_SOURCE_INTERNAL; /* 选择内部触发 */
- timerConfig.triggerSelect = 0x00U; /* 选择通道0作为触发源,触发是否奏效由TSOT决定,1:触发源上升沿来时开始计数;0:使能后就开始计数,触发源无效 */
- timerConfig.enableReloadOnTrigger = false; /* 触发源来时不重新加载计数值 */
- timerConfig.enableStopOnInterrupt = false; /* 发生一次中断后不停止Timer的计数 */
- timerConfig.enableStartOnTrigger = false; /* 配置ENRx=1即会使Timer开始计数,该位决定触发源是否奏效 */
- timerConfig.chainChannel = false; /* 禁能链接 */
- timerConfig.isInterruptEnabled = true; /* 使能中断 */
- timerConfig.callback = TIMER0_Callback; /* 回调函数配置 */
- /*TIMER调用底层接口*/
- TIMER_DRV_Init(0, true);
- TIMER_DRV_InitChannel(0, TIMER_CHANNEL_0, &timerConfig);
- NVIC_SetPriority(TIMER_CHANNEL0_IRQn, 3); /*! 设置SPI中断优先级 */
- TIMER_DRV_StartChannels(0, 1 << TIMER_CHANNEL_0);
- }
|