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

📄 44b.h

📁 自己写的单片机串并口通讯程序
💻 H
📖 第 1 页 / 共 2 页
字号:
#define rLCDCON2	(*(volatile unsigned *)0x1f00004)
#define rLCDCON3	(*(volatile unsigned *)0x1f00040)
#define rLCDSADDR1	(*(volatile unsigned *)0x1f00008)
#define rLCDSADDR2	(*(volatile unsigned *)0x1f0000c)
#define rLCDSADDR3	(*(volatile unsigned *)0x1f00010)
#define rREDLUT		(*(volatile unsigned *)0x1f00014)
#define rGREENLUT	(*(volatile unsigned *)0x1f00018)
#define rBLUELUT	(*(volatile unsigned *)0x1f0001c)
#define rDP1_2		(*(volatile unsigned *)0x1f00020)
#define rDP4_7		(*(volatile unsigned *)0x1f00024)
#define rDP3_5		(*(volatile unsigned *)0x1f00028)
#define rDP2_3		(*(volatile unsigned *)0x1f0002c)
#define rDP5_7		(*(volatile unsigned *)0x1f00030)
#define rDP3_4		(*(volatile unsigned *)0x1f00034)
#define rDP4_5		(*(volatile unsigned *)0x1f00038)
#define rDP6_7		(*(volatile unsigned *)0x1f0003c)
#define rDITHMODE	(*(volatile unsigned *)0x1f00044)

/* ZDMA0 */
#define rZDCON0		(*(volatile unsigned *)0x1e80000)
#define rZDISRC0	(*(volatile unsigned *)0x1e80004)
#define rZDIDES0	(*(volatile unsigned *)0x1e80008)
#define rZDICNT0	(*(volatile unsigned *)0x1e8000c)
#define rZDCSRC0	(*(volatile unsigned *)0x1e80010)
#define rZDCDES0	(*(volatile unsigned *)0x1e80014)
#define rZDCCNT0	(*(volatile unsigned *)0x1e80018)

/* ZDMA1 */
#define rZDCON1		(*(volatile unsigned *)0x1e80020)
#define rZDISRC1	(*(volatile unsigned *)0x1e80024)
#define rZDIDES1	(*(volatile unsigned *)0x1e80028)
#define rZDICNT1	(*(volatile unsigned *)0x1e8002c)
#define rZDCSRC1	(*(volatile unsigned *)0x1e80030)
#define rZDCDES1	(*(volatile unsigned *)0x1e80034)
#define rZDCCNT1	(*(volatile unsigned *)0x1e80038)

/* BDMA0 */
#define rBDCON0		(*(volatile unsigned *)0x1f80000)
#define rBDISRC0	(*(volatile unsigned *)0x1f80004)
#define rBDIDES0	(*(volatile unsigned *)0x1f80008)
#define rBDICNT0	(*(volatile unsigned *)0x1f8000c)
#define rBDCSRC0	(*(volatile unsigned *)0x1f80010)
#define rBDCDES0	(*(volatile unsigned *)0x1f80014)
#define rBDCCNT0	(*(volatile unsigned *)0x1f80018)

/* BDMA1 */
#define rBDCON1		(*(volatile unsigned *)0x1f80020)
#define rBDISRC1	(*(volatile unsigned *)0x1f80024)
#define rBDIDES1	(*(volatile unsigned *)0x1f80028)
#define rBDICNT1	(*(volatile unsigned *)0x1f8002c)
#define rBDCSRC1	(*(volatile unsigned *)0x1f80030)
#define rBDCDES1	(*(volatile unsigned *)0x1f80034)
#define rBDCCNT1	(*(volatile unsigned *)0x1f80038)

/* ISR */
#define pISR_RESET	(*(unsigned *)(_ISR_STARTADDRESS+0x0))
#define pISR_UNDEF	(*(unsigned *)(_ISR_STARTADDRESS+0x4))
#define pISR_SWI	(*(unsigned *)(_ISR_STARTADDRESS+0x8))
#define pISR_PABORT	(*(unsigned *)(_ISR_STARTADDRESS+0xc))
#define pISR_DABORT	(*(unsigned *)(_ISR_STARTADDRESS+0x10))
#define pISR_RESERVED	(*(unsigned *)(_ISR_STARTADDRESS+0x14))
#define pISR_IRQ	(*(unsigned *)(_ISR_STARTADDRESS+0x18))
#define pISR_FIQ	(*(unsigned *)(_ISR_STARTADDRESS+0x1c))

#define pISR_ADC	(*(unsigned *)(_ISR_STARTADDRESS+0x20))
#define pISR_RTC	(*(unsigned *)(_ISR_STARTADDRESS+0x24))
#define pISR_UTXD1	(*(unsigned *)(_ISR_STARTADDRESS+0x28))
#define pISR_UTXD0	(*(unsigned *)(_ISR_STARTADDRESS+0x2c))
#define pISR_SIO	(*(unsigned *)(_ISR_STARTADDRESS+0x30))
#define pISR_IIC	(*(unsigned *)(_ISR_STARTADDRESS+0x34))
#define pISR_URXD1	(*(unsigned *)(_ISR_STARTADDRESS+0x38))
#define pISR_URXD0	(*(unsigned *)(_ISR_STARTADDRESS+0x3c))
#define pISR_TIMER5	(*(unsigned *)(_ISR_STARTADDRESS+0x40))
#define pISR_TIMER4	(*(unsigned *)(_ISR_STARTADDRESS+0x44))
#define pISR_TIMER3	(*(unsigned *)(_ISR_STARTADDRESS+0x48))
#define pISR_TIMER2	(*(unsigned *)(_ISR_STARTADDRESS+0x4c))
#define pISR_TIMER1	(*(unsigned *)(_ISR_STARTADDRESS+0x50))
#define pISR_TIMER0	(*(unsigned *)(_ISR_STARTADDRESS+0x54))
#define pISR_UERR01	(*(unsigned *)(_ISR_STARTADDRESS+0x58))
#define pISR_WDT	(*(unsigned *)(_ISR_STARTADDRESS+0x5c))
#define pISR_BDMA1	(*(unsigned *)(_ISR_STARTADDRESS+0x60))
#define pISR_BDMA0	(*(unsigned *)(_ISR_STARTADDRESS+0x64))
#define pISR_ZDMA1	(*(unsigned *)(_ISR_STARTADDRESS+0x68))
#define pISR_ZDMA0	(*(unsigned *)(_ISR_STARTADDRESS+0x6c))
#define pISR_TICK	(*(unsigned *)(_ISR_STARTADDRESS+0x70))
#define pISR_EINT4567	(*(unsigned *)(_ISR_STARTADDRESS+0x74))
#define pISR_EINT3	(*(unsigned *)(_ISR_STARTADDRESS+0x78))
#define pISR_EINT2	(*(unsigned *)(_ISR_STARTADDRESS+0x7c))
#define pISR_EINT1	(*(unsigned *)(_ISR_STARTADDRESS+0x80))
#define pISR_EINT0	(*(unsigned *)(_ISR_STARTADDRESS+0x84))

/* PENDING BIT */
//CAUTION:You must clear the pending bit as general special register.
//        it's different way with KS32C6x00 
#define BIT_ADC		(0x1)
#define BIT_RTC		(0x1<<1)
#define BIT_UTXD1	(0x1<<2)
#define BIT_UTXD0	(0x1<<3)
#define BIT_SIO		(0x1<<4)
#define BIT_IIC		(0x1<<5)
#define BIT_URXD1	(0x1<<6)
#define BIT_URXD0	(0x1<<7)
#define BIT_TIMER5	(0x1<<8)
#define BIT_TIMER4	(0x1<<9)
#define BIT_TIMER3	(0x1<<10)
#define BIT_TIMER2	(0x1<<11)
#define BIT_TIMER1	(0x1<<12)
#define BIT_TIMER0	(0x1<<13)
#define BIT_UERR01	(0x1<<14)
#define BIT_WDT		(0x1<<15)
#define BIT_BDMA1	(0x1<<16)
#define BIT_BDMA0	(0x1<<17)
#define BIT_ZDMA1	(0x1<<18)
#define BIT_ZDMA0	(0x1<<19)
#define BIT_TICK	(0x1<<20)
#define BIT_EINT4567	(0x1<<21)
#define BIT_EINT3	(0x1<<22)
#define BIT_EINT2	(0x1<<23)
#define BIT_EINT1	(0x1<<24)
#define BIT_EINT0	(0x1<<25)
#define BIT_GLOBAL	(0x1<<26)


#define BIT0	(0x1<<0)
#define BIT1	(0x1<<1)
#define BIT2	(0x1<<2)
#define BIT3	(0x1<<3)
#define BIT4	(0x1<<4)
#define BIT5	(0x1<<5)
#define BIT6	(0x1<<6)
#define BIT7	(0x1<<7)
#define BIT8	(0x1<<8)
#define BIT9	(0x1<<9)
#define BIT10	(0x1<<10)
#define BIT11	(0x1<<11)
#define BIT12	(0x1<<12)
#define BIT13	(0x1<<13)
#define BIT14	(0x1<<14)
#define BI115	(0x1<<15)
#define BIT16	(0x1<<16)
#define BIT17	(0x1<<17)
#define BIT18	(0x1<<18)
#define BIT19	(0x1<<19)
#define BIT20	(0x1<<20)
#define BIT21	(0x1<<21)
#define BIT22	(0x1<<22)
#define BIT23	(0x1<<23)
#define BIT24	(0x1<<24)
#define BIT25	(0x1<<25)
#define BIT26	(0x1<<26)
#define BIT27	(0x1<<27)
#define BIT28	(0x1<<28)
#define BIT29	(0x1<<29)
#define BIT30	(0x1<<30)
#define BIT31	(0x1<<31)

	/*

#define INT_EXTINT0	0
#define INT_EXTINT1	1
#define INT_EXTINT2	2
#define INT_EXTINT3	3
#define INT_EINT456 4
#define INT_TICK	5
#define INT_ZDMA0	6
#define INT_ZDMA1	7
#define INT_BDMA0	8
#define INT_BDMA1	9
#define INT_WDT		10
#define INT_UERR01	11
#define INT_TIMER0	12
#define INT_TIMER1	13
#define INT_TIMER2	14
#define INT_TIMER3	15
#define INT_TIMER4	16
#define INT_TIMER5	17
#define INT_URXD0	18
#define INT_URXD1	19
#define INT_IIC		20
#define INT_SIO		21
#define INT_UTXD0	22
#define INT_UTXD1	23
#define INT_RTC		24
#define INT_ADC		25  */

#define INT_EXTINT0	25
#define INT_EXTINT1	24
#define INT_EXTINT2	23
#define INT_EXTINT3	22
#define INT_EINT456 21
#define INT_TICK	20
#define INT_ZDMA0	19
#define INT_ZDMA1	18
#define INT_BDMA0	17
#define INT_BDMA1	16
#define INT_WDT		15
#define INT_UERR01	14
#define INT_TIMER0	13
#define INT_TIMER1	12
#define INT_TIMER2	11
#define INT_TIMER3	10
#define INT_TIMER4	9
#define INT_TIMER5	8
#define INT_URXD0	7
#define INT_URXD1	6
#define INT_IIC		5
#define INT_SIO		4
#define INT_UTXD0	3
#define INT_UTXD1	2
#define INT_RTC		1
#define INT_ADC		0 


#define VPint		*(volatile unsigned int *)
#define VPshort		*(volatile unsigned short *)
#define VPchar		*(volatile unsigned char *)

#define inl(addr)        (addr)
#define outl(data, addr) (addr = data)

#define ins(addr)        (addr)
#define outs(data, addr) (addr = data)

#define inc(addr)        (addr)
#define outc(data, addr) (addr = data)

#define hook(funcp, funca)	 (funca = (unsigned)(funcp))

#define di()  {rINTMSK |= BIT_GLOBAL;}
#define ei()  {rINTMSK &= ~BIT_GLOBAL;}
//#define DI() 	ARMDisableInt()
//#define EI() 	ARMDisableInt()

#define inr66335(regaddr)   *((unsigned char *)(0x4000000 + regaddr) )
#define outr66335(data,regaddr)   (*((unsigned char *)(0x4000000 + regaddr) ) = data)




#ifdef __cplusplus
}
#endif
#endif /*__41000_H___*/

⌨️ 快捷键说明

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