This repository has been archived on 2025-02-28. You can view files and clone it, but cannot push or open issues or pull requests.
controller-hd/User/system/inc/sys.h

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