39 lines
1.5 KiB
C
39 lines
1.5 KiB
C
/***
|
|
* @Author:
|
|
* @Date: 2023-04-11 18:46:58
|
|
* @LastEditors: xxx
|
|
* @LastEditTime: 2023-04-11 22:16:47
|
|
* @Description:
|
|
* @email:
|
|
* @Copyright (c) 2023 by xxx, All Rights Reserved.
|
|
*/
|
|
|
|
#ifndef _SYS_H
|
|
#define _SYS_H
|
|
|
|
#include "main.h"
|
|
#include "lib.h"
|
|
|
|
#define LOCK() __disable_irq() ///< 系统关全局中断
|
|
#define UNLOCK() __enable_irq() ///< 系统开全局中断
|
|
|
|
void sys_nvic_set_vector_table(uint32_t baseaddr, uint32_t offset); /* 设置中断偏移量 */
|
|
void sys_standby(void); /* 进入待机模式 */
|
|
void sys_soft_reset(void); /* 系统软复位 */
|
|
void LL_IncTick(void); /* 系统滴答时钟 */
|
|
void sys_millis_reset(void); /* 系统计时器重新开始 */
|
|
uint32_t sys_get_tick(void); /* 获取系统滴答时钟 */
|
|
uint32_t sys_millis(void); /* 获取系统时间 */
|
|
uint32_t sys_to_seconds(uint32_t start_time); /* 将系统时间转换为秒 */
|
|
|
|
// 以下为汇编函数
|
|
void sys_wfi_set(void); /* 执行WFI指令 */
|
|
void sys_intx_disable(void); /* 关闭所有中断 */
|
|
void sys_intx_enable(void); /* 开启所有中断 */
|
|
void sys_msr_msp(uint32_t addr); /* 设置栈顶地址 */
|
|
|
|
void scheduler_time_start(void);
|
|
uint32_t scheduler_time_stop(void);
|
|
uint32_t scheduler_time_occupancy_get(uint32_t run_time);
|
|
#endif
|