⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hardware_proc.h

📁 SOS操作系统用于无线传感器网络节点的源代码
💻 H
字号:
#ifndef _HARDWARE_PROC_H_
#define _HARDWARE_PROC_H_

#include <intrinsics.h>
#include "sos_types.h"
#include "iocc2431.h"

typedef uint16_t mod_header_ptr;

typedef uint16_t func_cb_ptr;


#define NOINIT_VAR __no_init

#define SOS_MODULE_HEADER  __code const

//typedef   void(*PGM_VOID)(void);
#define PGM_VOID uint16_t

#define HAS_CRITICAL_SECTION      __istate_t oldState
#define ENTER_CRITICAL_SECTION() \
  oldState = __get_interrupt_state();\
  __disable_interrupt()

#define LEAVE_CRITICAL_SECTION() __set_interrupt_state(oldState)

#define sos_get_header_address(x) ((uint16_t)&x)

#define sos_read_header_ptr(base_addr,offset)  sos_read_header_word(base_addr,offset)
#define pgm_read_word(address_short)    sos_read_header_word((uint16_t)address_short,0)

uint16_t sos_read_header_word(uint16_t base_addr,uint16_t offset);
uint8_t sos_read_header_byte(uint16_t base_addr,uint16_t offset);




// Global interrupt enables
#define INT_GLOBAL_ENABLE(on) EA=(!!on)
#define DISABLE_ALL_INTERRUPTS() (IEN0 = IEN1 = IEN2 = 0x00)
//SOS
#define ENABLE_GLOBAL_INTERRUPTS() INT_GLOBAL_ENABLE(TRUE)
#define DISABLE_GLOBAL_INTERRUPTS() INT_GLOBAL_ENABLE(FALSE)



#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -