在线时间101 小时
UID3617445
注册时间2020-2-7
NXP金币213

TA的每日心情 | 开心 2025-7-10 13:07 |
---|
签到天数: 43 天 连续签到: 1 天 [LV.5]常住居民I
版主
  
- 积分
- 1524

- 最后登录
- 2025-7-10
|
LPC55S69之时钟滴嗒
LPC55S69的时钟滴嗒要和睡眠模式一起使用,不能单独作为一个定时器来使用,否则不能进入中断。
也就是不能进入utick_callback_t cb。
void UTICK_SetTick(UTICK_Type *base, utick_mode_t mode, uint32_t count, utick_callback_t cb)
一、引脚。
随便设置一个输出的引脚。
二、代码。
- <font size="3" face="微软雅黑">#include "fsl_debug_console.h"
- #include "board.h"
- #include "fsl_common.h"
- #include "fsl_utick.h"
- #include "fsl_gpio.h"
- #include "fsl_power.h"
- #include "pin_mux.h"
- #include <stdbool.h>
-
- void DelayInit(void) { // UTICK CLOCK=1MHz
- SYSCON->CLOCK_CTRL |= SYSCON_CLOCK_CTRL_FRO1MHZ_CLK_ENA_MASK | SYSCON_CLOCK_CTRL_FRO1MHZ_UTICK_ENA_MASK;
- UTICK_Init(UTICK0);
- }
-
- void DelayMs(uint32_t time) {
- UTICK_SetTick(UTICK0, kUTICK_Onetime, time*1000, NULL);
- POWER_EnterSleep();
- }
-
- void DelayUs(uint32_t time) {
- UTICK_SetTick(UTICK0, kUTICK_Onetime, time, NULL);
- POWER_EnterSleep();
- }
-
- int main(void) {
- CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
- BOARD_InitPins();
- BOARD_BootClockPLL150M();
- BOARD_InitDebugConsole();
- DelayInit();
- while (1) {
- GPIO_PinWrite(BOARD_LED1_GPIO,BOARD_LED1_PORT,BOARD_LED1_PIN,0);
- DelayMs(100);
- GPIO_PinWrite(BOARD_LED1_GPIO,BOARD_LED1_PORT,BOARD_LED1_PIN,1);
- DelayMs(160);
- }
- }</font>
复制代码 三、说明。
utick时钟设置为1MHz。
通过示波器能观察到高电平延时了160ms,低电平延时了100ms。
文章出处:点击
|
|