hardware_proc.h

来自「SOS操作系统用于无线传感器网络节点的源代码」· C头文件 代码 · 共 49 行

H
49
字号
#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 + =
减小字号Ctrl + -
显示快捷键?