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

📄 sposce061a.h

📁 51单片机上可以使用的操作系统
💻 H
字号:
/************************************************
** Mini OS 1.5.0 head file for body SPCE061A   **
** Author :Taylor Wang                         **
** Date   :2003/1/22                           **
************************************************/
#ifndef 	__SPOSCE061A_H__
#define 	__SPOSC3061A_H__
#define		BREAK    			0
#define		FIQ_PWM_VEC			1
#define		FIQ_TMA_VEC			2
#define		FIQ_TMB_VEC 		3
#define		IRQ0_PWM_VEC		4
#define		IRQ1_TMA_VEC		5
#define		IRQ2_TMB_VEC		6
#define		IRQ3_EXT2_VEC		7
#define		IRQ3_EXT1_VEC		8
#define		IRQ3_KEY_VEC		9
#define		IRQ4_4KHZ_VEC		10
#define		IRQ4_2KHZ_VEC		11
#define		IRQ4_1KHZ_VEC		12
#define		IRQ5_4HZ_VEC		13
#define		IRQ5_2HZ_VEC		14
#define		IRQ6_TMB1_VEC		15
#define		IRQ6_TMB2_VEC		16
#define		UART_RX_VEC			17
#define		UART_TX_VEC			18

//-------------------------------------------------------
//Interrupt Source control
#define		UART_RX_EN			0x00800000l
#define		UART_TX_EN			0x00400000l
#define		IRQ6_TMB2_EN		0x0001l
#define		IRQ6_TMB1_EN		0x0002l
#define		IRQ5_2HZ_EN			0x0004l
#define		IRQ5_4HZ_EN			0x0008l
#define		IRQ4_1KHZ_EN		0x0010l
#define		IRQ4_2KHZ_EN		0x0020l
#define		IRQ4_4KHZ_EN		0x0040l
#define		IRQ3_KEY_EN			0x0080l
#define		IRQ3_EXT1_EN		0x0100l
#define		IRQ3_EXT2_EN		0x0200l
#define		IRQ2_TB_EN			0x0400l
#define		FIQ_TB_EN  			0x0800l
#define		IRQ1_TMA_EN			0x1000l
#define		FIQ_TMA_EN 			0x2000l
#define		IRQ0_PWM_EN			0x4000l
#define		FIQ_PWM_EN 			0x8000l

// Set Cput SPCE500A or SPCE 061A frequency
#define SpFSetCpuFreq(SysClk) ({	\
	__asm__ __volatile__ (		\
	        "[0x7013]=%0 \n\t"	\
			:					\
			:"r"(SysClk)		\
	);							\
	0;							\
})
// Set Timer A or B frequency
#define OS_SET_TIMEA	0x700A
#define OS_SET_TIMEB	0x700C			
#define SpFSetTimer(TimerNo,TimerControl,TimerData) ({	\
	__asm__ __volatile__ (			\
			"[%0] = %2 \n\t"		\
			"%0 += 1 \n\t"			\
			"[%0] = %1 \n\t"		\
			:						\
			:"r"(TimerNo),			\
			"r"(TimerControl),		\
			"r"(TimerData)			\
	);								\
	0;								\
})
extern void SpFAddINTVec(unsigned long ulVector);
extern void SPFDelINTVec(unsigned long ulVector);
extern void SpFSetINTMask(unsigned long ulVector);
extern unsigned long SpFGetINTMask(void);
extern unsigned long SpFGetINTVec(void);
#endif
      

⌨️ 快捷键说明

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