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

📄 visbycpu.h

📁 一个多任务实时操作系统
💻 H
字号:
#ifndef __VISBY_CPU_H__
#define __VISBY_CPU_H__

//定义所以用的CPU
#define _S3C44B0_ARM7TDMI_
#ifdef _S3C44B0_ARM7TDMI_

/*///////////////////CPU资源描述/////////////////////////
********************************************************/

/////////////////定时器/////////////////////
#define VB_TIMER0		0x01
#define VB_TIMER1		0x02
#define VB_TIMER2		0x03
#define VB_TIMER3		0x04
#define VB_TIMER4		0x05
#define VB_TIMER5		0x06

#define VB_RES_NUM		6

#define TIMER_1_2		0x00
#define TIMER_1_4		0x01
#define TIMER_1_8		0x02
#define TIMER_1_16		0x03
#define TIMER_1_32		0x04
#define TIMER_EXTTICK	0x05
#define TIMER_TICK		0x06


//////////////////操作//////////////////////
#define VB_Timer45Prescale(x)	(rTCFG0 = ((rTCFG0&0xFF00FFFF)|(((x)&0x000000FF)<<16)))
#define VB_Timer23Prescale(x)	(rTCFG0 = ((rTCFG0&0xFFFF00FF)|(((x)&0x000000FF)<<8)))
#define VB_Timer01Prescale(x)	(rTCFG0 = ((rTCFG0&0xFFFFFF00)|((x)&0x000000FF)))

#define VB_DMAmode(x)		(rTCFG1 = ((rTCFG1&0xF0FFFFFF)|(((x)&0x0000000F)<<24)))
#define VB_MUX_Timer5(x)	(rTCFG1 = ((rTCFG1&0xFF0FFFFF)|(((x)&0x0000000F)<<20)))
#define VB_MUX_Timer4(x)	(rTCFG1 = ((rTCFG1&0xFFF0FFFF)|(((x)&0x0000000F)<<16)))
#define VB_MUX_Timer3(x)	(rTCFG1 = ((rTCFG1&0xFFFF0FFF)|(((x)&0x0000000F)<<12)))
#define VB_MUX_Timer2(x)	(rTCFG1 = ((rTCFG1&0xFFFFF0FF)|(((x)&0x0000000F)<<8)))
#define VB_MUX_Timer1(x)	(rTCFG1 = ((rTCFG1&0xFFFFFF0F)|(((x)&0x0000000F)<<4)))
#define VB_MUX_Timer0(x)	(rTCFG1 = ((rTCFG1&0xFFFFFFF0)|((x)&0x0000000F)))

#define VB_Timer5Update()	do{ SET(rTCON, BIT(25)); CLR(rTCON, BIT(25)); }while(0)
#define VB_Timer4Update()	do{ SET(rTCON, BIT(21)); CLR(rTCON, BIT(21)); }while(0)
#define VB_Timer3Update()	do{ SET(rTCON, BIT(17)); CLR(rTCON, BIT(17)); }while(0)
#define VB_Timer2Update()	do{ SET(rTCON, BIT(13)); CLR(rTCON, BIT(13)); }while(0)
#define VB_Timer1Update()	do{ SET(rTCON, BIT(9)); CLR(rTCON, BIT(9)); }while(0)
#define VB_Timer0Update()	do{ SET(rTCON, BIT(2)); CLR(rTCON, BIT(2)); }while(0)

#define VB_Timer5Auto()	SET(rTCON,BIT(26))
#define VB_Timer4Auto()	SET(rTCON,BIT(23))
#define VB_Timer3Auto()	SET(rTCON,BIT(19))
#define VB_Timer2Auto()	SET(rTCON,BIT(15))
#define VB_Timer1Auto()	SET(rTCON,BIT(11))
#define VB_Timer0Auto()	SET(rTCON,BIT(4))

#define VB_Timer5Start()	SET(rTCON,BIT(24))
#define VB_Timer5Stop()		CLR(rTCON,BIT(24))
#define VB_Timer4Start()	SET(rTCON,BIT(20))
#define VB_Timer4Stop()		CLR(rTCON,BIT(20))
#define VB_Timer3Start()	SET(rTCON,BIT(16))
#define VB_Timer3Stop()		CLR(rTCON,BIT(16))
#define VB_Timer2Start()	SET(rTCON,BIT(12))
#define VB_Timer2Stop()		CLR(rTCON,BIT(12))
#define VB_Timer1Start()	SET(rTCON,BIT(8))
#define VB_Timer1Stop()		CLR(rTCON,BIT(8))
#define VB_Timer0Start()	SET(rTCON,BIT(1))
#define VB_Timer0Stop()		CLR(rTCON,BIT(1))

#define VB_DEADZONE_ON()	SET(rTCON,BIT(4))
#define VB_DEADZONE_OFF()	CLR(rTCON,BIT(4))

#define VB_TimerCount(x,y)		do{ rTCNTB##x = y; rTCMPB##x = 0; }while(0)
#define VB_TimerReg(x)			(rTCNTO##x)
#define VB_MUX_Timer(x,y)		VB_MUX_Timer##x(y)
#define VB_TimerPrescale(x,y)	VB_Timer##x##Prescale(y)
#define VB_TimerUpdate(x)		VB_Timer##x##Update()
#define VB_TimerAuto(x)			VB_Timer##x##Auto()
#define VB_TimerStart(x)		VB_Timer##x##Start()
#define VB_TimerStop(x)			VB_Timer##x##Stop()

#endif
#endif

⌨️ 快捷键说明

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