diff --git a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/us_ticker.c b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/us_ticker.c index d3ac80b26c9..7341fcee108 100644 --- a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/us_ticker.c +++ b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/us_ticker.c @@ -15,6 +15,7 @@ */ #include #include "us_ticker_api.h" +#include "us_ticker_defines.h" #include "fsl_pit.h" #include "fsl_clock_config.h" @@ -85,9 +86,9 @@ void us_ticker_init(void) * * @return The current timer's counter value in ticks */ -uint32_t us_ticker_read() +uint32_t (us_ticker_read)() { - return ~(PIT_GetCurrentTimerCount(PIT, kPIT_Chnl_1)); + return us_ticker_read(); } /** Disable us ticker interrupt diff --git a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/us_ticker_defines.h b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/us_ticker_defines.h new file mode 100644 index 00000000000..46c07de18c0 --- /dev/null +++ b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/us_ticker_defines.h @@ -0,0 +1,30 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2019 ARM Limited + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef _NXP_US_TICKER_DEFINES_H_ +#define _NXP_US_TICKER_DEFINES_H_ + +#include "fsl_pit.h" + +#define US_TICKER_PERIOD_NUM 1 +#define US_TICKER_PERIOD_DEN 1 + +#define US_TICKER_MASK 0xFFFFFFFF + +/* Macro-optimised form of us_ticker_read */ +#define us_ticker_read() (~(PIT_GetCurrentTimerCount(PIT, kPIT_Chnl_1))) + +#endif /* _NXP_US_TICKER_DEFINES_H_ */ diff --git a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_LPC/us_ticker.c b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_LPC/us_ticker.c index 6a802653a4d..26dbc8ac409 100644 --- a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_LPC/us_ticker.c +++ b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_LPC/us_ticker.c @@ -15,6 +15,7 @@ */ #include #include "us_ticker_api.h" +#include "us_ticker_defines.h" #include "fsl_ctimer.h" #include "PeripheralNames.h" @@ -72,8 +73,9 @@ void us_ticker_init(void) { * * @return The current timer's counter value in ticks */ -uint32_t us_ticker_read(void) { - return CTIMER->TC; +uint32_t (us_ticker_read)() +{ + return us_ticker_read(); } /** Set interrupt for specified timestamp diff --git a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_LPC/us_ticker_defines.h b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_LPC/us_ticker_defines.h new file mode 100644 index 00000000000..324e47d68dc --- /dev/null +++ b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_LPC/us_ticker_defines.h @@ -0,0 +1,30 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2019 ARM Limited + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef _NXP_US_TICKER_DEFINES_H_ +#define _NXP_US_TICKER_DEFINES_H_ + +#include "fsl_ctimer.h" + +#define US_TICKER_PERIOD_NUM 1 +#define US_TICKER_PERIOD_DEN 1 + +#define US_TICKER_MASK 0xFFFFFFFF + +/* Macro-optimised form of us_ticker_read */ +#define us_ticker_read() (CTIMER->TC) + +#endif /* _NXP_US_TICKER_DEFINES_H_ */