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

📄 poseidon.h

📁 WinCE 3.0 BSP, 包含Inter SA1110, Intel_815E, Advantech_PCM9574 等
💻 H
📖 第 1 页 / 共 5 页
字号:
#define kIntMfio5NegMask			0x00000020	/* 5 */
#define kIntMfio4NegMask			0x00000010	/* 4 */
#define kIntMfio3NegMask			0x00000008	/* 3 */
#define kIntMfio2NegMask			0x00000004	/* 2 */
#define kIntMfio1NegMask			0x00000002	/* 1 */
#define kIntMfio0NegMask			0x00000001	/* 0 */

/***** Interrupt Status, Enable & Clear Register 5 Equates (PoseidonModule.interrupt5) *****/
#define kIntRTCRolloverMask			0x80000000	/* 31 */
#define kIntRTCAlarmMask			0x40000000	/* 30 */
#define kIntPeriodicTimerMask		0x20000000	/* 29 */
#define kIntStopTimerMask			0x10000000	/* 28 */
#define kIntPwrIntPosMask			0x08000000	/* 27 */
#define kIntPwrIntNegMask			0x04000000	/* 26 */
#define kIntPwrOKPosMask			0x02000000	/* 25 */
#define kIntPwrOKNegMask			0x01000000	/* 24 */
#define kIntOnButPosMask			0x00800000	/* 23 */
#define kIntOnButNegMask			0x00400000	/* 22 */
#define kIntSpiTransmitMask			0x00200000	/* 21 */
#define kIntSpiErrMask				0x00100000	/* 20 */
#define kIntSpiReceiveMask			0x00080000	/* 19 */
#define kIntSpiEmptyMask			0x00040000	/* 18 */
#define kIntIrConsumerMask			0x00020000	/* 17 */
#define kIntCarDetPinMask			0x00010000	/* 16 */
#define kIntCarDetPosMask			0x00008000	/* 15 */
#define kIntCarDetNegMask			0x00004000	/* 14 */
#define kIntIOInt6PosMask			0x00002000	/* 13 */
#define kIntIOInt5PosMask			0x00001000	/* 12 */
#define kIntIOInt4PosMask			0x00000800	/* 11 */
#define kIntIOInt3PosMask			0x00000400	/* 10 */
#define kIntIOInt2PosMask			0x00000200	/* 9 */
#define kIntIOInt1PosMask			0x00000100	/* 8 */
#define kIntIOInt0PosMask			0x00000080	/* 7 */
#define kIntIOInt6NegMask			0x00000040	/* 6 */
#define kIntIOInt5NegMask			0x00000020	/* 5 */
#define kIntIOInt4NegMask			0x00000010	/* 4 */
#define kIntIOInt3NegMask			0x00000008	/* 3 */
#define kIntIOInt2NegMask			0x00000004	/* 2 */
#define kIntIOInt1NegMask			0x00000002	/* 1 */
#define kIntIOInt0NegMask			0x00000001	/* 0 */

#define kIntClearAllMask			0xffffffff


/***** Interrupt Status, Enable & Clear Register 6 Equates (PoseidonModule.interrupt6) *****/
#define kIntIrqHighPrioMask			0x80000000	/* 31 */
#define kIntIrqLowPrioMask			0x40000000	/* 30 */
#define kIntHighPrioVectMask		0x0000003c	/* 5:2 */

#define kIntHighPrioVectShift		2

#define HIGH_INT_MASK_TO_VECT(mask)	(((mask) >> kIntHighPrioVectShift) & 0xf)

/***** Interrupt Enable Register 6 Equates (PoseidonModule.interrupt6Enable) *****/
#define kIntGlobalEnMask			0x00040000	/* 18 */
#define kIntPriorityMask			0x0000ffff	/* 15:0 */

#define kIntEnHighPwrOkMask			0x00008000	/* 15 */
#define kIntEnHighAlarmMask			0x00004000	/* 14 */
#define kIntEnHighPerTimerMask		0x00002000	/* 13 */
#define kIntEnHighMbusMask			0x00001000	/* 12 */
#define kIntEnHighUartARxMask		0x00000800	/* 11 */
#define kIntEnHighUartBRxMask		0x00000400	/* 10 */
#define kIntEnHighMccsPosMask		0x00000200	/* 9 */
#define kIntEnHighMcdetPosMask		0x00000100	/* 8 */
#define kIntEnHighMccsNegMask		0x00000080	/* 7 */
#define kIntEnHighMcdetNegMask		0x00000040	/* 6 */
#define kIntEnHighMbusDmaFullMask	0x00000020	/* 5 */
#define kIntEnHighSndDmaCountMask	0x00000010	/* 4 */
#define kIntEnHighTelDmaCountMask	0x00000008	/* 3 */
#define kIntEnHighChiDmaCountMask	0x00000004	/* 2 */
#define kIntEnHighIo0Mask			0x00000002	/* 1 */


/***** Timer Module Equates *****/
/***** Register Equates (PoseidonModule.rtcHigh) *****/
#define kTimerRTCHighBitsMask		0x000000ff

/***** Register Equates (PoseidonModule.alarmHigh) *****/
#define kTimerAlarmHighBitsMask		0x000000ff

/***** Register Equates (PoseidonModule.alarmLow) *****/
#define kTimerAlarmLowBitsMask		0xffffffff

/***** Register Equates (PoseidonModule.timerControl) *****/
#define kTimerFreezePre				0x00000080	/* 7 */
#define kTimerFreezeRtc				0x00000040	/* 6 */
#define kTimerFreezePerTimer		0x00000020	/* 5 */
#define kTimerEnPerTimer			0x00000010	/* 4 */
#define kTimerClearRtc				0x00000008	/* 3 */
#define kTimerTestC8Ms				0x00000004	/* 2 */
#define kTimerRtcEnTestClk			0x00000002	/* 1 */
#define kTimerEnRtcTest				0x00000001	/* 0 */

#define kTimerControlReadMask		0x000000ff

/***** Register Equates (PoseidonModule.perTimer) *****/
#define kTimerPerCntMask			0xffff0000  /* 31:16 */
#define kTimerPerLoadMask			0x0000ffff  /* 15:0 */

#define kTimerPerCntShift			16
#define kTimerPerLoadShift			0


/***** SPI Module Equates *****/
/***** SPI Control Register Equates (PoseidonModule.spiControl) *****/
#define kSpiOnStatusMask				0x00020000	/* 17 */
#define kSpiEmptyStatusMask				0x00010000	/* 16 */
#define kSpiInterCharacterDelayMask		0x0000f000  /* 15:12 */
#define kSpiBaudRateMask				0x00000f00  /* 11:8 */
#define kSpiTransmitOnRisingEdgeMask	0x00000020	/* 5 */
#define kSpiClockIdleHighMask			0x00000010	/* 4 */
#define kSpi16BitDataMask				0x00000004	/* 2 */
#define kSpiShiftDataLsbFirstMask		0x00000002	/* 1 */
#define kSpiEnableMask					0x00000001	/* 0 */

#define kSpiInterCharacterDelayShift	12
#define kSpiBaudRateShift				8

#define kSpiDefaultBaud					3

#define kSpiControlWriteMask	( \
	kSpiInterCharacterDelayMask | \
	kSpiBaudRateMask | \
	kSpiTransmitOnRisingEdgeMask | \
	kSpiClockIdleHighMask | \
	kSpi16BitDataMask | \
	kSpiShiftDataLsbFirstMask | \
	kSpiEnableMask)


/***** SPI Data Register Equates (PoseidonModule.spi) *****/
#define kSpiTxDataHoldMask			0x0000ffff	/* 15:0 */
#define kSpiRxDataHoldMask			0x0000ffff	/* 15:0 */


/***** IO Module Equates *****/
/***** Register Equates (PoseidonModule.ioControl) *****/
#define kIODebounceSelect6Mask		0x40000000	/* 30 */
#define kIODebounceSelect5Mask		0x20000000	/* 29 */
#define kIODebounceSelect4Mask		0x10000000	/* 28 */
#define kIODebounceSelect3Mask		0x08000000	/* 27 */
#define kIODebounceSelect2Mask		0x04000000	/* 26 */
#define kIODebounceSelect1Mask		0x02000000	/* 25 */
#define kIODebounceSelect0Mask		0x01000000	/* 24 */
#define kIOOutputSelect6Mask		0x00400000	/* 22 */
#define kIOOutputSelect5Mask		0x00200000	/* 21 */
#define kIOOutputSelect4Mask		0x00100000	/* 20 */
#define kIOOutputSelect3Mask		0x00080000	/* 19 */
#define kIOOutputSelect2Mask		0x00040000	/* 18 */
#define kIOOutputSelect1Mask		0x00020000	/* 17 */
#define kIOOutputSelect0Mask		0x00010000	/* 16 */
#define kIODataOut6Mask				0x00004000	/* 14 */
#define kIODataOut5Mask				0x00002000	/* 13 */
#define kIODataOut4Mask				0x00001000	/* 12 */
#define kIODataOut3Mask				0x00000800	/* 11 */
#define kIODataOut2Mask				0x00000400	/* 10 */
#define kIODataOut1Mask				0x00000200	/* 9 */
#define kIODataOut0Mask				0x00000100	/* 8 */
#define kIODataIn6Mask				0x00000040	/* 6 */
#define kIODataIn5Mask				0x00000020	/* 5 */
#define kIODataIn4Mask				0x00000010	/* 4 */
#define kIODataIn3Mask				0x00000008	/* 3 */
#define kIODataIn2Mask				0x00000004	/* 2 */
#define kIODataIn1Mask				0x00000002	/* 1 */
#define kIODataIn0Mask				0x00000001	/* 0 */

#define kIOBit6Mask					0x00000040	/* 6 */
#define kIOBit5Mask					0x00000020	/* 5 */
#define kIOBit4Mask					0x00000010	/* 4 */
#define kIOBit3Mask					0x00000008	/* 3 */
#define kIOBit2Mask					0x00000004	/* 2 */
#define kIOBit1Mask					0x00000002	/* 1 */
#define kIOBit0Mask					0x00000001	/* 0 */

#define kIODebounceSelectShift		24
#define kIOOutputSelectShift		16
#define kIODataOutShift				8
#define kIODataInShift				0

#define IO_DATA_OUT_PIN_TO_MASK(pin)	(1 << (kIODataOutShift + (pin)))
#define IO_DATA_IN_PIN_TO_MASK(pin)		(1 << (kIODataInShift + (pin)))


/***** Register Equates (PoseidonModule.mfioDataOutput) *****/
#define kIOMfioDataOut31Mask		0x80000000	/* 31 */
#define kIOMfioDataOut30Mask		0x40000000	/* 30 */
#define kIOMfioDataOut29Mask		0x20000000	/* 29 */
#define kIOMfioDataOut28Mask		0x10000000	/* 28 */
#define kIOMfioDataOut27Mask		0x08000000	/* 27 */
#define kIOMfioDataOut26Mask		0x04000000	/* 26 */
#define kIOMfioDataOut25Mask		0x02000000	/* 25 */
#define kIOMfioDataOut24Mask		0x01000000	/* 24 */
#define kIOMfioDataOut23Mask		0x00800000	/* 23 */
#define kIOMfioDataOut22Mask		0x00400000	/* 22 */
#define kIOMfioDataOut21Mask		0x00200000	/* 21 */
#define kIOMfioDataOut20Mask		0x00100000	/* 20 */
#define kIOMfioDataOut19Mask		0x00080000	/* 19 */
#define kIOMfioDataOut18Mask		0x00040000	/* 18 */
#define kIOMfioDataOut17Mask		0x00020000	/* 17 */
#define kIOMfioDataOut16Mask		0x00010000	/* 16 */
#define kIOMfioDataOut15Mask		0x00008000	/* 15 */
#define kIOMfioDataOut14Mask		0x00004000	/* 14 */
#define kIOMfioDataOut13Mask		0x00002000	/* 13 */
#define kIOMfioDataOut12Mask		0x00001000	/* 12 */
#define kIOMfioDataOut11Mask		0x00000800	/* 11 */
#define kIOMfioDataOut10Mask		0x00000400	/* 10 */
#define kIOMfioDataOut9Mask			0x00000200	/* 9 */
#define kIOMfioDataOut8Mask			0x00000100	/* 8 */
#define kIOMfioDataOut7Mask			0x00000080	/* 7 */
#define kIOMfioDataOut6Mask			0x00000040	/* 6 */
#define kIOMfioDataOut5Mask			0x00000020	/* 5 */
#define kIOMfioDataOut4Mask			0x00000010	/* 4 */
#define kIOMfioDataOut3Mask			0x00000008	/* 3 */
#define kIOMfioDataOut2Mask			0x00000004	/* 2 */
#define kIOMfioDataOut1Mask			0x00000002	/* 1 */
#define kIOMfioDataOut0Mask			0x00000001	/* 0 */

#define MFIO_DATA_OUT_PIN_TO_MASK(pin)	(1 << (pin))

/***** Register Equates (PoseidonModule.mfioDirection) *****/
#define kIOMfioOutputSelect31Mask	0x80000000	/* 31 */
#define kIOMfioOutputSelect30Mask	0x40000000	/* 30 */
#define kIOMfioOutputSelect29Mask	0x20000000	/* 29 */
#define kIOMfioOutputSelect28Mask	0x10000000	/* 28 */
#define kIOMfioOutputSelect27Mask	0x08000000	/* 27 */
#define kIOMfioOutputSelect26Mask	0x04000000	/* 26 */
#define kIOMfioOutputSelect25Mask	0x02000000	/* 25 */
#define kIOMfioOutputSelect24Mask	0x01000000	/* 24 */
#define kIOMfioOutputSelect23Mask	0x00800000	/* 23 */
#define kIOMfioOutputSelect22Mask	0x00400000	/* 22 */
#define kIOMfioOutputSelect21Mask	0x00200000	/* 21 */
#define kIOMfioOutputSelect20Mask	0x00100000	/* 20 */
#define kIOMfioOutputSelect19Mask	0x00080000	/* 19 */
#define kIOMfioOutputSelect18Mask	0x00040000	/* 18 */
#define kIOMfioOutputSelect17Mask	0x00020000	/* 17 */
#define kIOMfioOutputSelect16Mask	0x00010000	/* 16 */
#define kIOMfioOutputSelect15Mask	0x00008000	/* 15 */
#define kIOMfioOutputSelect14Mask	0x00004000	/* 14 */
#define kIOMfioOutputSelect13Mask	0x00002000	/* 13 */
#define kIOMfioOutputSelect12Mask	0x00001000	/* 12 */
#define kIOMfioOutputSelect11Mask	0x00000800	/* 11 */
#define kIOMfioOutputSelect10Mask	0x00000400	/* 10 */
#define kIOMfioOutputSelect9Mask	0x00000200	/* 9 */
#define kIOMfioOutputSelect8Mask	0x00000100	/* 8 */
#define kIOMfioOutputSelect7Mask	0x00000080	/* 7 */
#define kIOMfioOutputSelect6Mask	0x00000040	/* 6 */
#define kIOMfioOutputSelect5Mask	0x00000020	/* 5 */
#define kIOMfioOutputSelect4Mask	0x00000010	/* 4 */
#define kIOMfioOutputSelect3Mask	0x00000008	/* 3 */
#define kIOMfioOutputSelect2Mask	0x00000004	/* 2 */
#define kIOMfioOutputSelect1Mask	0x00000002	/* 1 */
#define kIOMfioOutputSelect0Mask	0x00000001	/* 0 */

#define MFIO_OUTPUT_SELECT_PIN_TO_MASK(pin)	(1 << (pin))

/***** Register Equates (PoseidonModule.mfioDataInput) *****/
#define kIOMfioDataIn31Mask			0x80000000	/* 31 */
#define kIOMfioDataIn30Mask			0x40000000	/* 30 */
#define kIOMfioDataIn29Mask			0x20000000	/* 29 */
#define kIOMfioDataIn28Mask			0x10000000	/* 28 */
#define kIOMfioDataIn27Mask			0x08000000	/* 27 */
#define kIOMfioDataIn26Mask			0x04000000	/* 26 */
#define kIOMfioDataIn25Mask			0x02000000	/* 25 */
#define kIOMfioDataIn24Mask			0x01000000	/* 24 */
#define kIOMfioDataIn23Mask			0x00800000	/* 23 */
#define kIOMfioDataIn22Mask			0x00400000	/* 22 */
#define kIOMfioDataIn21Mask			0x00200000	/* 21 */
#define kIOMfioDataIn20Mask			0x00100000	/* 20 */
#define kIOMfioDataIn19Mask			0x00080000	/* 19 */
#define kIOMfioDataIn18Mask			0x00040000	/* 18 */
#define kIOMfioDataIn17Mask			0x00020000	/* 17 */
#define kIOMfioDataIn16Mask			0x00010000	/* 16 */
#define kIOMfioDataIn15Mask			0x00008000	/* 15 */
#define kIOMfioDataIn14Mask			0x00004000	/* 14 */
#define kIOMfioDataIn13Mask			0x00002000	/* 13 */
#define kIOMfioDataIn12Mask			0x00001000	/* 12 */
#define kIOMfioDataIn11Mask			0x00000800	/* 11 */
#define kIOMfioDataIn10Mask			0x00000400	/* 10 */
#define kIOMfioDataIn9Mask			0x00000200	/* 9 */
#define kIOMfioDataIn8Mask			0x00000100	/* 8 */
#define kIOMfioDataIn7Mask			0x00000080	/* 7 */
#define kIOMfioDataIn6Mask			0x00000040	/* 6 */
#define kIOMfioDataIn5Mask			0x00000020	/* 5 */
#define kIOMfioDataIn4Mask			0x00000010	/* 4 */
#define kIOMfioDataIn3Mask			0x00000008	/* 3 */
#define kIOMfioDataIn2Mask			0x00000004	/* 2 */
#define kIOMfioDataIn1Mask			0x00000002	/* 1 */
#define kIOMfioDataIn0Mask			0x00000001	/* 0 */

#define MFIO_DATA_IN_PIN_TO_MASK(pin)	(1 << (pin))

/***** Register Equates (PoseidonModule.mfioSelect) *****/
#define kIOMfioSelect31Mask			0x80000000	/* 31 */
#define kIOMfioSelect30Mask			0x40000000	/* 30 */
#define kIOMfioSelect29Mask			0x20000000	/* 29 */
#define kIOMfioSelect28Mask			0x10000000	/* 28 */
#define kIOMfioSelect27Mask			0x08000000	/* 27 */
#define kIOMfioSelect26Mask			0x04000000	/* 26 */
#define kIOMfioSelect25Mask			0x02000000	/* 25 */
#define kIOMfioSelect24Mask			0x01000000	/* 24 */
#define kIOMfioSelect23Mask			0x00800000	/* 23 */
#define kIOMfioSelect22Mask			0x00400000	/* 22 */
#define kIOMfioSelect21Mask			0x00200000	/* 21 */

⌨️ 快捷键说明

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