[bsp][nxp][mcxa153] add interrupt process in IRQ Handler functions
This commit is contained in:
parent
46b2850f12
commit
07999dc84a
|
@ -15,7 +15,6 @@
|
||||||
#define LOG_TAG "drv.hwtimer"
|
#define LOG_TAG "drv.hwtimer"
|
||||||
#include <drv_log.h>
|
#include <drv_log.h>
|
||||||
#include <rtdevice.h>
|
#include <rtdevice.h>
|
||||||
#include "drv_hwtimer.h"
|
|
||||||
#include "fsl_ctimer.h"
|
#include "fsl_ctimer.h"
|
||||||
|
|
||||||
enum
|
enum
|
||||||
|
@ -244,39 +243,42 @@ INIT_DEVICE_EXPORT(rt_hw_hwtimer_init);
|
||||||
#ifdef BSP_USING_CTIMER0
|
#ifdef BSP_USING_CTIMER0
|
||||||
void CTIMER0_IRQHandler(void)
|
void CTIMER0_IRQHandler(void)
|
||||||
{
|
{
|
||||||
|
rt_interrupt_enter();
|
||||||
uint32_t int_stat;
|
uint32_t int_stat;
|
||||||
/* Get Interrupt status flags */
|
/* Get Interrupt status flags */
|
||||||
int_stat = CTIMER_GetStatusFlags(CTIMER0);
|
int_stat = CTIMER_GetStatusFlags(CTIMER0);
|
||||||
/* Clear the status flags that were set */
|
/* Clear the status flags that were set */
|
||||||
CTIMER_ClearStatusFlags(CTIMER0, int_stat);
|
CTIMER_ClearStatusFlags(CTIMER0, int_stat);
|
||||||
rt_device_hwtimer_isr(&mcxa_hwtimer_obj[TIM0_INDEX].time_device);
|
rt_device_hwtimer_isr(&mcxa_hwtimer_obj[TIM0_INDEX].time_device);
|
||||||
|
rt_interrupt_leave();
|
||||||
}
|
}
|
||||||
#endif /* BSP_USING_HWTIMER0 */
|
#endif /* BSP_USING_HWTIMER0 */
|
||||||
|
|
||||||
#ifdef BSP_USING_CTIMER1
|
#ifdef BSP_USING_CTIMER1
|
||||||
void CTIMER1_IRQHandler(void)
|
void CTIMER1_IRQHandler(void)
|
||||||
{
|
{
|
||||||
|
rt_interrupt_enter();
|
||||||
uint32_t int_stat;
|
uint32_t int_stat;
|
||||||
/* Get Interrupt status flags */
|
/* Get Interrupt status flags */
|
||||||
int_stat = CTIMER_GetStatusFlags(CTIMER1);
|
int_stat = CTIMER_GetStatusFlags(CTIMER1);
|
||||||
/* Clear the status flags that were set */
|
/* Clear the status flags that were set */
|
||||||
CTIMER_ClearStatusFlags(CTIMER1, int_stat);
|
CTIMER_ClearStatusFlags(CTIMER1, int_stat);
|
||||||
rt_device_hwtimer_isr(&mcxa_hwtimer_obj[TIM1_INDEX].time_device);
|
rt_device_hwtimer_isr(&mcxa_hwtimer_obj[TIM1_INDEX].time_device);
|
||||||
|
rt_interrupt_leave();
|
||||||
}
|
}
|
||||||
#endif /* BSP_USING_HWTIMER1 */
|
#endif /* BSP_USING_HWTIMER1 */
|
||||||
|
|
||||||
#ifdef BSP_USING_CTIMER2
|
#ifdef BSP_USING_CTIMER2
|
||||||
void CTIMER2_IRQHandler(void)
|
void CTIMER2_IRQHandler(void)
|
||||||
{
|
{
|
||||||
|
rt_interrupt_enter();
|
||||||
uint32_t int_stat;
|
uint32_t int_stat;
|
||||||
/* Get Interrupt status flags */
|
/* Get Interrupt status flags */
|
||||||
int_stat = CTIMER_GetStatusFlags(CTIMER2);
|
int_stat = CTIMER_GetStatusFlags(CTIMER2);
|
||||||
/* Clear the status flags that were set */
|
/* Clear the status flags that were set */
|
||||||
CTIMER_ClearStatusFlags(CTIMER2, int_stat);
|
CTIMER_ClearStatusFlags(CTIMER2, int_stat);
|
||||||
rt_device_hwtimer_isr(&mcxa_hwtimer_obj[TIM2_INDEX].time_device);
|
rt_device_hwtimer_isr(&mcxa_hwtimer_obj[TIM2_INDEX].time_device);
|
||||||
|
rt_interrupt_leave();
|
||||||
}
|
}
|
||||||
#endif /* BSP_USING_HWTIMER2 */
|
#endif /* BSP_USING_HWTIMER2 */
|
||||||
|
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2006-2024 RT-Thread Development Team
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Change Logs:
|
|
||||||
* Date Author Notes
|
|
||||||
* 2024-11-26 hywing the first version.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef DRV_HWTIMER_H__
|
|
||||||
#define DRV_HWTIMER_H__
|
|
||||||
|
|
||||||
int rt_hw_hwtimer_init(void);
|
|
||||||
|
|
||||||
#endif /* __DRV_HWTIMER_H__ */
|
|
||||||
|
|
Loading…
Reference in New Issue