1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029 |
- /*---------------------------------------------------------------------------------------------------------*/
- /* */
- /* Copyright (c) Nuvoton Technology Corp. All rights reserved. */
- /* */
- /*---------------------------------------------------------------------------------------------------------*/
- #ifndef __NUC1xx_H__
- #define __NUC1xx_H__
- /*
- * ==========================================================================
- * ---------- Interrupt Number Definition -----------------------------------
- * ==========================================================================
- */
-
- typedef enum IRQn
- {
- /****** Cortex-M0 Processor Exceptions Numbers ***************************************************/
- NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */
- HardFault_IRQn = -13, /*!< 3 Cortex-M0 Hard Fault Interrupt */
- SVCall_IRQn = -5, /*!< 11 Cortex-M0 SV Call Interrupt */
- PendSV_IRQn = -2, /*!< 14 Cortex-M0 Pend SV Interrupt */
- SysTick_IRQn = -1, /*!< 15 Cortex-M0 System Tick Interrupt */
- /****** ARMIKMCU Swift specific Interrupt Numbers ************************************************/
- BOD_IRQn = 0,
- WDT_IRQn = 1,
- EINT0_IRQn = 2,
- EINT1_IRQn = 3,
- GPAB_IRQn = 4,
- GPCDE_IRQn = 5,
- PWMA_IRQn = 6,
- PWMB_IRQn = 7,
- TMR0_IRQn = 8,
- TMR1_IRQn = 9,
- TMR2_IRQn = 10,
- TMR3_IRQn = 11,
- UART0_IRQn = 12,
- UART1_IRQn = 13,
- SPI0_IRQn = 14,
- SPI1_IRQn = 15,
- SPI2_IRQn = 16,
- SPI3_IRQn = 17,
- I2C0_IRQn = 18,
- I2C1_IRQn = 19,
- CAN0_IRQn = 20,
- CAN1_IRQn = 21,
- SD_IRQn = 22,
- USBD_IRQn = 23,
- PS2_IRQn = 24,
- ACMP_IRQn = 25,
- PDMA_IRQn = 26,
- I2S_IRQn = 27,
- PWRWU_IRQn = 28,
- ADC_IRQn = 29,
- DAC_IRQn = 30,
- RTC_IRQn = 31
-
- /*!< maximum of 32 Interrupts are possible */
- } IRQn_Type;
- /*
- * ==========================================================================
- * ----------- Processor and Core Peripheral Section ------------------------
- * ==========================================================================
- */
- /* Configuration of the Cortex-M0 Processor and Core Peripherals */
- #define __MPU_PRESENT 0 /*!< armikcmu does not provide a MPU present or not */
- #define __NVIC_PRIO_BITS 2 /*!< armikcmu Supports 2 Bits for the Priority Levels */
- #define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */
- #include "core_cm0.h" /* Cortex-M0 processor and core peripherals */
- #include "system_NUC1xx.h" /* NUC1xx System */
- // #include "System\SysInfra.h"
- /**
- * Initialize the system clock
- *
- * @param none
- * @return none
- *
- * @brief Setup the microcontroller system
- * Initialize the PLL and update the SystemFrequency variable
- */
- extern void SystemInit (void);
- /******************************************************************************/
- /* Device Specific Peripheral registers structures */
- /******************************************************************************/
- /*--------------------- General Purpose Input and Ouptut ---------------------*/
- typedef struct
- {
- __IO uint32_t PMD0:2;
- __IO uint32_t PMD1:2;
- __IO uint32_t PMD2:2;
- __IO uint32_t PMD3:2;
- __IO uint32_t PMD4:2;
- __IO uint32_t PMD5:2;
- __IO uint32_t PMD6:2;
- __IO uint32_t PMD7:2;
- __IO uint32_t PMD8:2;
- __IO uint32_t PMD9:2;
- __IO uint32_t PMD10:2;
- __IO uint32_t PMD11:2;
- __IO uint32_t PMD12:2;
- __IO uint32_t PMD13:2;
- __IO uint32_t PMD14:2;
- __IO uint32_t PMD15:2;
- } GPIO_PMD_T;
- typedef __IO uint32_t GPIO_SCH_T;
- typedef __IO uint32_t GPIO_DOUT_T;
- typedef __IO uint32_t GPIO_DMASK_T;
- typedef __IO uint32_t GPIO_PIN_T;
- typedef __IO uint32_t GPIO_DBEN_T;
- typedef __IO uint32_t GPIO_IMD_T;
- typedef __IO uint32_t GPIO_IEN_T;
- typedef __IO uint32_t GPIO_ISRC_T;
- typedef struct
- {
- __IO uint32_t DBCLKSEL:4;
- __IO uint32_t DBCLKSRC:1;
- __IO uint32_t ICLK_ON:1;
- __I uint32_t RESERVE:26;
- } GPIO_DBNCECON_T;
- typedef struct
- {
- GPIO_PMD_T PMD;
- GPIO_SCH_T SCH;
- GPIO_DOUT_T DOUT;
- GPIO_DMASK_T DMASK;
- GPIO_PIN_T PIN;
- GPIO_DBEN_T DBEN;
- GPIO_IMD_T IMD;
- GPIO_IEN_T IEN;
- GPIO_ISRC_T ISRC;
-
- } GPIO_T;
- /*------------------------- UART Interface Controller ------------------------*/
- typedef __IO uint32_t UART_DATA_T;
- typedef struct
- {
- __IO uint32_t RDA_IEN:1;
- __IO uint32_t THRE_IEN:1;
- __IO uint32_t RLS_IEN:1;
- __IO uint32_t MS_IEN:1;
- __IO uint32_t RTO_IEN:1;
- __IO uint32_t BUF_ERR_IEN:1;
- __IO uint32_t WAKE_IEN:1;
- __I uint32_t RESERVE0:4;
- __IO uint32_t TOC_EN:1; /* Time-out counter enable */
- __IO uint32_t AUTO_RTS_EN:1;
- __IO uint32_t AUTO_CTS_EN:1;
- __IO uint32_t DMA_TX_EN:1;
- __IO uint32_t DMA_RX_EN:1;
- __I uint32_t RESERVE1:15;
- __IO uint32_t nDEBUGACK_EN:1;
- } UART_IER_T;
- typedef struct
- {
- __I uint32_t RESERVE0:1;
- __IO uint32_t RFR:1;
- __IO uint32_t TFR:1;
- __I uint32_t RESERVE1:1;
- __IO uint32_t RFITL:4; /* Rx FIFO Interrupt Trigger Level */
- __I uint32_t RESERVE2:8;
- __IO uint32_t RTS_TRIG_LEVEL:4;
- __I uint32_t RESERVE3:12;
- } UART_FCR_T;
- typedef struct
- {
- __IO uint32_t WLS:2; /* Word length select */
- __IO uint32_t NSB:1; /* Number of STOP bit */
- __IO uint32_t PBE:1; /* Parity bit enable */
- __IO uint32_t EPE:1; /* Even parity enable */
- __IO uint32_t SPE:1; /* Stick parity enable*/
- __IO uint32_t BCB:1; /* Break control bit */
- __I uint32_t RESERVE:25;
- } UART_LCR_T;
- typedef struct
- {
- __I uint32_t RESERVE0:1;
- __IO uint32_t RTS_INV:1;
- __I uint32_t RESERVE1:2;
- __IO uint32_t LBME:1;
- __I uint32_t RESERVE2:4;
- __IO uint32_t RTS_ACT_LEVEL:1;
- __I uint32_t RESERVE3:3;
- __I uint32_t RTS:1; /* RTS status */
- __I uint32_t RESERVE4:18;
- } UART_MCR_T;
- typedef struct
- {
- __IO uint32_t DCTS:1;
- __I uint32_t RESERVE0:3;
- __I uint32_t CTS:1; /* CTS status */
- __I uint32_t RESERVE1:3;
- __IO uint32_t CTS_ACT_LEVEL:1;
- __I uint32_t RESERVE2:23;
- } UART_MSR_T;
- typedef struct
- {
- __IO uint32_t RX_OVERFLOW:1;
- __I uint32_t RESERVE0:3;
- __IO uint32_t PEI:1;
- __IO uint32_t FEI:1;
- __IO uint32_t BII:1;
- __I uint32_t RESERVE1:1;
- __I uint32_t RX_POINTER:6;
- __I uint32_t RX_EMPTY:1;
- __I uint32_t RX_FULL:1;
- __I uint32_t TX_POINTER:6;
- __I uint32_t TX_EMPTY:1;
- __I uint32_t TX_FULL:1;
- __IO uint32_t TX_OVERFLOW:1;
- __I uint32_t RESERVE2:3;
- __I uint32_t TE:1; /* Transmitter empty flag */
- __I uint32_t RESERVE3:3;
- } UART_FSR_T;
- typedef struct
- {
- __IO uint32_t RDA_IF:1;
- __IO uint32_t THRE_IF:1;
- __IO uint32_t RLS_IF:1;
- __IO uint32_t MODEM_IF:1;
- __IO uint32_t TOUT_IF:1;
- __IO uint32_t BUF_ERR_IF:1;
- __IO uint32_t WAKE_IF:1;
- __IO uint32_t SW_TX:1;
- __IO uint32_t RDA_INT:1;
- __IO uint32_t THRE_INT:1;
- __IO uint32_t RLS_INT:1;
- __IO uint32_t MODEM_INT:1;
- __IO uint32_t TOUT_INT:1;
- __IO uint32_t BUF_ERR_INT:1;
- __IO uint32_t WAKE_INT:1;
- __IO uint32_t SW_RX:1;
- __I uint32_t RESERVE0:2;
- __IO uint32_t HW_RLS_IF:1;
- __IO uint32_t HW_MODEM_IF:1;
- __IO uint32_t HW_TOUT_IF:1;
- __IO uint32_t HW_BUF_ERR_IF:1;
- __IO uint32_t HW_WAKE_IF:1;
- __IO uint32_t EDMA_TX:1;
- __I uint32_t RESERVE1:2;
- __IO uint32_t HW_RLS_INT:1;
- __IO uint32_t HW_MODEM_INT:1;
- __IO uint32_t HW_TOUT_INT:1;
- __IO uint32_t HW_BUF_ERR_INT:1;
- __IO uint32_t HW_WAKE_INT:1;
- __IO uint32_t EDMA_RX:1;
- } UART_ISR_T;
- typedef __IO uint32_t UART_TOR_T;
- typedef struct
- {
- __IO uint32_t DIV:16;
- __I uint32_t RESERVE0:8;
- __IO uint32_t DIVX:4;
- __IO uint32_t DIVX1:1;
- __IO uint32_t DIVX_EN:1;
- __I uint32_t RESERVE1:2;
- } UART_BAUD_T;
- typedef struct
- {
- __IO uint32_t IrDA_EN:1;
- __I uint32_t RESERVE0:2;
- __IO uint32_t RX_EN:1;
- __IO uint32_t TX_EN:1;
- __IO uint32_t TX_INV_EN:1;
- __IO uint32_t RX_INV_EN:1;
- __I uint32_t RESERVE1:25;
- } UART_IRCR_T;
- typedef struct
- {
- __IO uint32_t LINBCNT:4;
- __I uint32_t RESERVE0:2;
- __IO uint32_t LINRX_EN:1;
- __IO uint32_t LINTX_EN:1;
- __I uint32_t RESERVE1:24;
- } UART_LINCON_T;
- typedef struct
- {
- __IO uint32_t LIN_EN:2;
- __IO uint32_t IrDA_EN:2;
- __I uint32_t RESERVE0:32;
- } UART_FUNSEL_T;
- typedef struct
- {
- UART_DATA_T DATA;
- UART_IER_T IER;
- UART_FCR_T FCR;
- UART_LCR_T LCR;
- UART_MCR_T MCR;
- UART_MSR_T MSR;
- UART_FSR_T FSR;
- UART_ISR_T ISR;
- UART_TOR_T TOR;
- UART_BAUD_T BAUD;
- UART_IRCR_T IRCR;
- UART_LINCON_T LINCON;
- UART_FUNSEL_T FUNSEL;
- } UART_T;
- /*----------------------------- Timer Controller -----------------------------*/
- typedef struct
- {
- __IO uint32_t PRESCALE:8;
- __I uint32_t RESERVE0:8;
- __IO uint32_t TDR_EN:1;
- __I uint32_t RESERVE1:8;
- __IO uint32_t CACT:1;
- __IO uint32_t CRST:1;
- __IO uint32_t MODE:2;
- __IO uint32_t IE:1;
- __IO uint32_t CEN:1;
- __IO uint32_t nDBGACK_EN:1;
- } TIMER_TCSR_T;
- typedef __IO uint32_t TIMER_TICR_T;
- typedef __IO uint32_t TIMER_TDR_T;
- typedef struct
- {
- __IO uint32_t TIF:1;
- __I uint32_t RESERVE:31;
- } TIMER_TISR_T;
- typedef struct
- {
- TIMER_TCSR_T TCSR;
- TIMER_TICR_T TICR;
- TIMER_TISR_T TISR;
- TIMER_TDR_T TDR;
- } TIMER_T;
- /*----------------------------- WDT Controller -----------------------------*/
- typedef struct
- {
- __IO uint32_t WTR:1;
- __IO uint32_t WTRE:1;
- __IO uint32_t WTRF:1;
- __IO uint32_t WTIF:1;
- __I uint32_t RESERVE:2;
- __IO uint32_t WTIE:1;
- __IO uint32_t WTE:1;
- __IO uint32_t WTIS:3;
- __I uint32_t RESERVE1:21;
- } WDT_WTCR_T;
- typedef struct
- {
- WDT_WTCR_T WTCR;
-
- } WDT_T;
- /*------------------------- SPI Interface Controller -------------------------*/
- typedef struct
- {
- __IO uint32_t GO_BUSY:1;
- __IO uint32_t RX_NEG:1;
- __IO uint32_t TX_NEG:1;
- __IO uint32_t TX_BIT_LEN:5;
- __IO uint32_t TX_NUM:2;
- __IO uint32_t LSB:1;
- __IO uint32_t CLKP:1;
- __IO uint32_t SLEEP:4;
- __IO uint32_t IF:1;
- __IO uint32_t IE:1;
- __IO uint32_t SLAVE:1;
- __IO uint32_t BYTE_SLEEP:1;
- __IO uint32_t BYTE_ENDIAN:1;
- __IO uint32_t FOURB:1;
- __IO uint32_t TWOB:1;
- __IO uint32_t VARCLK_EN:1;
- __I uint32_t RESERVE:8;
- } SPI_CNTRL_T;
- typedef struct
- {
- __IO uint32_t DIVIDER:16;
- __IO uint32_t DIVIDER2:16;
- } SPI_DIVIDER_T;
- typedef struct
- {
- __IO uint32_t SSR:2;
- __IO uint32_t SS_LVL:1;
- __IO uint32_t ASS:1;
- __IO uint32_t SS_LTRIG:1;
- __IO uint32_t LTRIG_FLAG:1;
- __I uint32_t RESERVE:26;
- } SPI_SSR_T;
- typedef __I uint32_t SPI_RX_T;
- typedef __O uint32_t SPI_TX_T;
- typedef struct
- {
- __IO uint32_t JS:1;
- __I uint32_t RESERVE0:3;
- __IO uint32_t JS_RW:1;
- __IO uint32_t CS_ACT:1;
- __IO uint32_t DATA_RDY:1;
- __IO uint32_t CS_DEACT:1;
- __IO uint32_t READYB:1;
- __I uint32_t RESERVE1:23;
- } SPI_JS_T;
- typedef __IO uint32_t SPI_VARCLK_T;
- typedef struct
- {
- __IO uint32_t TX_DMA_GO:1;
- __IO uint32_t RX_DMA_GO:1;
- __I uint32_t RESERVE:30;
- } SPI_DMA_T;
- typedef struct
- {
- SPI_CNTRL_T CNTRL;
- SPI_DIVIDER_T DIVIDER;
- SPI_SSR_T SSR;
- uint32_t RESERVE0;
- SPI_RX_T RX[2];
- uint32_t RESERVE1;
- uint32_t RESERVE2;
- SPI_TX_T TX[2];
- uint32_t RESERVE3;
- uint32_t RESERVE4;
- SPI_JS_T JS;
- SPI_VARCLK_T VARCLK;
- SPI_DMA_T DMA;
- } SPI_T;
- /*------------------------------ I2C Controller ------------------------------*/
- typedef struct
- {
- __I uint32_t RESERVE0:2;
- __IO uint32_t AA:1;
- __IO uint32_t SI:1;
- __IO uint32_t STO:1;
- __IO uint32_t STA:1;
- __IO uint32_t ENSI:1;
- __IO uint32_t EI:1;
- __I uint32_t RESERVE1:24;
- } I2C_CON_T;
- typedef struct
- {
- __IO uint32_t GC:1;
- __IO uint32_t ADDR:7;
- __I uint32_t RESERVE:24;
- } I2C_ADDR_T;
- typedef __IO uint32_t I2C_DATA_T;
- typedef __I uint32_t I2C_STATUS_T;
- typedef __IO uint32_t I2C_CLK_T;
- typedef struct
- {
- __IO uint32_t TIF:1;
- __IO uint32_t DIV4:1;
- __IO uint32_t ENTI:1;
- __I uint32_t RESERVE:29;
- } I2C_TOC_T;
- typedef struct
- {
- __I uint32_t RESERVE0:1;
- __IO uint32_t ADM:7;
- __I uint32_t RESERVE1:24;
- } I2C_ADRM_T;
- typedef struct
- {
- I2C_CON_T CON;
- I2C_ADDR_T ADDR0;
- I2C_DATA_T DATA;
- I2C_STATUS_T STATUS;
- I2C_CLK_T CLK;
- I2C_TOC_T TOC;
- I2C_ADDR_T ADDR1;
- I2C_ADDR_T ADDR2;
- I2C_ADDR_T ADDR3;
- I2C_ADRM_T ADRM0;
- I2C_ADRM_T ADRM1;
- I2C_ADRM_T ADRM2;
- I2C_ADRM_T ADRM3;
- } I2C_T;
- /*----------------------------- RTC Controller -------------------------------*/
- typedef __IO uint32_t RTC_INIR_T;
- typedef struct
- {
- __IO uint32_t AER:16;
- __I uint32_t ENF:1;
- __I uint32_t RESERVE1:15;
- } RTC_AER_T;
- typedef struct
- {
- __IO uint32_t FRACTION:6;
- __I uint32_t RESERVE0:2;
- __IO uint32_t INTEGER:4;
- __I uint32_t RESERVE1:20;
- } RTC_FCR_T;
- typedef struct
- {
- __IO uint32_t SEC1:4;
- __IO uint32_t SEC10:3;
- __I uint32_t RESERVE0:1;
- __IO uint32_t MIN1:4;
- __IO uint32_t MIN10:3;
- __I uint32_t RESERVE1:1;
- __IO uint32_t HR1:4;
- __IO uint32_t HR10:2;
- __I uint32_t RESERVE2:10;
- } RTC_TLR_T;
- typedef struct
- {
- __IO uint32_t DAY1:4;
- __IO uint32_t DAY10:2;
- __I uint32_t RESERVE0:2;
- __IO uint32_t MON1:4;
- __IO uint32_t MON10:1;
- __I uint32_t RESERVE1:3;
- __IO uint32_t YEAR1:4;
- __IO uint32_t YEAR10:4;
- __I uint32_t RESERVE2:8;
- } RTC_CLR_T;
- typedef struct
- {
- __IO uint32_t HR24:1;
- __I uint32_t RESERVE:31;
- } RTC_TSSR_T;
- typedef struct
- {
- __IO uint32_t DWR:3;
- __I uint32_t RESERVE:29;
- } RTC_DWR_T;
- typedef RTC_TLR_T RTC_TAR_T;
- typedef RTC_CLR_T RTC_CAR_T;
- typedef struct
- {
- __IO uint32_t LIR:1;
- __I uint32_t RESERVE:31;
- } RTC_LIR_T;
- typedef struct
- {
- __IO uint32_t AIER:1;
- __IO uint32_t TIER:1;
- __I uint32_t RESERVE:30;
- } RTC_RIER_T;
- //typedef __IO uint32_t RTC_RIIR_T;
- typedef struct
- {
- __IO uint32_t AI:1;
- __IO uint32_t TI:1;
- __I uint32_t RESERVE:30;
- } RTC_RIIR_T;
- typedef struct
- {
- __IO uint32_t TTR:3;
- __I uint32_t RESERVE:30;
- } RTC_TTR_T;
- typedef struct
- {
- __IO uint32_t PTOUT:16;
- __I uint32_t RESERVE0:7;
- __IO uint32_t PWROFF:1;
- __I uint32_t RESERVE1:8;
- } RTC_PWRCON_T;
- typedef struct
- {
- RTC_INIR_T INIR;
- RTC_AER_T AER;
- RTC_FCR_T FCR;
- RTC_TLR_T TLR;
- RTC_CLR_T CLR;
- RTC_TSSR_T TSSR;
- RTC_DWR_T DWR;
- RTC_TAR_T TAR;
- RTC_CAR_T CAR;
- RTC_LIR_T LIR;
- RTC_RIER_T RIER;
- RTC_RIIR_T RIIR;
- RTC_TTR_T TTR;
- RTC_PWRCON_T PWRCON;
- } RTC_T;
- /*----------------------------- ADC Controller -------------------------------*/
- typedef struct
- {
- __IO uint32_t RSLT:16;
- __IO uint32_t OVERRUN:1;
- __IO uint32_t VALID:1;
- __I uint32_t RESERVE1:14;
- } ADC_ADDR_T;
- typedef struct
- {
- __IO uint32_t ADEN:1;
- __IO uint32_t ADIE:1;
- __IO uint32_t ADMD:2;
- __IO uint32_t TRGS:2;
- __IO uint32_t TRGCOND:2;
- __IO uint32_t TRGEN:1;
- __IO uint32_t PTEN:1;
- __IO uint32_t DIFF:1;
- __IO uint32_t ADST:1;
- __I uint32_t RESERVE0:4;
- __IO uint32_t ADCLKDIV:7;
- __I uint32_t RESERVE1:9;
- } ADC_ADCR_T;
- typedef struct
- {
- __IO uint32_t CHEN:8;
- __IO uint32_t PRESEL:2;
- __I uint32_t RESERVE:22;
- } ADC_ADCHER_T;
- typedef struct
- {
- __IO uint32_t CMPEN:1;
- __IO uint32_t CMPIE:1;
- __IO uint32_t CMPCOND:1;
- __IO uint32_t CMPCH:3;
- __I uint32_t RESERVE0:2;
- __IO uint32_t CMPMATCNT:4;
- __I uint32_t RESERVE1:4;
- __IO uint32_t CMPD:12;
- __I uint32_t RESERVE2:4;
- } ADC_ADCMPR_T;
- typedef struct
- {
- __IO uint32_t ADF:1;
- __IO uint32_t CMPF0:1;
- __IO uint32_t CMPF1:1;
- __IO uint32_t BUSY:1;
- __IO uint32_t CHANNEL:3;
- __I uint32_t RESERVE0:1;
- __IO uint32_t VALID:8;
- __IO uint32_t OVERRUN:8;
- __I uint32_t RESERVE1:8;
- } ADC_ADSR_T;
- typedef struct
- {
- __IO uint32_t CALEN:1;
- __IO uint32_t CALDONE:1;
- __I uint32_t RESERVE:30;
- } ADC_ADCALR_T;
- typedef struct
- {
- ADC_ADDR_T ADDR[8];
- ADC_ADCR_T ADCR;
- ADC_ADCHER_T ADCHER;
- ADC_ADCMPR_T ADCMPR[2];
- ADC_ADSR_T ADSR;
- ADC_ADCALR_T ADCALR;
- } ADC_T;
- /*---------------------- Analog Comparator Controller -------------------------*/
- typedef struct
- {
- __IO uint32_t CMPEN:1;
- __IO uint32_t CMPIE:1;
- __IO uint32_t CMP_HYSEN:1;
- __IO uint32_t CP:1;
- __IO uint32_t CN:1;
- __IO uint32_t COE:1;
- __I uint32_t RESERVE:26;
- } ACMP_CMPCR_T;
- typedef struct
- {
- __IO uint32_t CMPF1:1;
- __IO uint32_t CMPF2:1;
- __IO uint32_t CO1:1;
- __IO uint32_t CO2:1;
- __I uint32_t RESERVE:28;
- } ACMP_CMPSR_T;
- typedef struct
- {
- ACMP_CMPCR_T CMPCR[2];
- ACMP_CMPSR_T CMPSR;
- } ACMP_T;
- /*---------------------------- Clock Controller ------------------------------*/
- typedef struct
- {
- __IO uint32_t XTL12M_EN:1;
- __IO uint32_t XTL32K_EN:1;
- __IO uint32_t OSC22M_EN:1;
- __IO uint32_t OSC10K_EN:1;
- __IO uint32_t WU_DLY:1;
- __IO uint32_t WINT_EN:1;
- __IO uint32_t PD_WU_STS:1;
- __IO uint32_t PWR_DOWN:1;
- __IO uint32_t PD_WAIT_CPU:1;
- __I uint32_t RESERVE:23;
- } SYSCLK_PWRCON_T;
- typedef struct
- {
- __IO uint32_t CPU_EN:1;
- __IO uint32_t PDMA_EN:1;
- __IO uint32_t ISP_EN:1;
- __I uint32_t RESERVE:29;
- } SYSCLK_AHBCLK_T;
- typedef struct
- {
- __IO uint32_t WDG_EN:1;
- __IO uint32_t RTC_EN:1;
- __IO uint32_t TMR0_EN:1;
- __IO uint32_t TMR1_EN:1;
- __IO uint32_t TMR2_EN:1;
- __IO uint32_t TMR3_EN:1;
- __I uint32_t RESERVE0:2;
- __IO uint32_t I2C0_EN:1;
- __IO uint32_t I2C1_EN:1;
- __I uint32_t RESERVE1:2;
- __IO uint32_t SPI0_EN:1;
- __IO uint32_t SPI1_EN:1;
- __IO uint32_t SPI2_EN:1;
- __IO uint32_t SPI3_EN:1;
- __IO uint32_t UART0_EN:1;
- __IO uint32_t UART1_EN:1;
- __I uint32_t RESERVE2:2;
- __IO uint32_t PWM01_EN:1;
- __IO uint32_t PWM23_EN:1;
- __I uint32_t RESERVE3:2;
- __IO uint32_t CAN0_EN:1;
- __IO uint32_t CAN1_EN:1;
- __I uint32_t RESERVE4:1;
- __IO uint32_t USBD_EN:1;
- __IO uint32_t ADC_EN:1;
- __I uint32_t RESERVE5:1;
- __IO uint32_t ACMP_EN:1;
- __IO uint32_t PS2_EN:1;
- } SYSCLK_APBCLK_T;
- typedef struct
- {
- __IO uint32_t HCLK_S:3;
- __IO uint32_t STCLK_S:3;
- __I uint32_t RESERVE:26;
- } SYSCLK_CLKSEL0_T;
- typedef struct
- {
- __IO uint32_t WDG_S:2;
- __IO uint32_t ADC_S:2;
- __I uint32_t RESERVE1:4;
- __IO uint32_t TMR0_S:3;
- __I uint32_t RESERVE2:1;
- __IO uint32_t TMR1_S:3;
- __I uint32_t RESERVE3:1;
- __IO uint32_t TMR2_S:3;
- __I uint32_t RESERVE4:1;
- __IO uint32_t TMR3_S:3;
- __I uint32_t RESERVE5:1;
- __IO uint32_t UART_S:2;
- __IO uint32_t CAN_S:2;
- __IO uint32_t PWM10_S:2;
- __IO uint32_t PWM32_S:2;
- } SYSCLK_CLKSEL1_T;
- typedef struct
- {
- __IO uint32_t HCLK_N:4;
- __IO uint32_t USB_N:4;
- __IO uint32_t UART_N:4;
- __IO uint32_t CAN_N:4;
- __IO uint32_t ADC_N:8;
- __I uint32_t RESERVE:8;
- } SYSCLK_CLKDIV_T;
- typedef struct
- {
- __IO uint32_t FB_DV:9;
- __IO uint32_t IN_DV:5;
- __IO uint32_t OUT_DV:2;
- __IO uint32_t PD:1;
- __IO uint32_t BP:1;
- __IO uint32_t OE:1;
- __IO uint32_t PLL_SRC:1;
- __I uint32_t RESERVE:12;
- } SYSCLK_PLLCON_T;
- typedef struct
- {
- __IO uint32_t TEST_SEL:8;
- __I uint32_t RESERVE:24;
- } SYSCLK_TREG_T;
- typedef struct
- {
- SYSCLK_PWRCON_T PWRCON;
- SYSCLK_AHBCLK_T AHBCLK;
- SYSCLK_APBCLK_T APBCLK;
- uint32_t RESERVED0;
- SYSCLK_CLKSEL0_T CLKSEL0;
- SYSCLK_CLKSEL1_T CLKSEL1;
- SYSCLK_CLKDIV_T CLKDIV;
- uint32_t RESERVED1;
- SYSCLK_PLLCON_T PLLCON;
-
- } SYSCLK_T;
- /*---------------------------- Global Controller -----------------------------*/
- typedef __I uint32_t GCR_PDID_T;
- typedef struct
- {
- __IO uint32_t RSTS_POR:1;
- __IO uint32_t RSTS_PAD:1;
- __IO uint32_t RSTS_WDG:1;
- __IO uint32_t RSTS_LVR:1;
- __IO uint32_t RSTS_BOD:1;
- __IO uint32_t RSTS_MCU:1;
- __IO uint32_t RSTS_PMU:1;
- __I uint32_t RESERVE:25;
- } GCR_RSTSRC_T;
- typedef struct
- {
- __IO uint32_t CHIP_RST:1;
- __IO uint32_t CPU_RST:1;
- __IO uint32_t PDMA_RST:1;
- __I uint32_t RESERVE:29;
- } GCR_IPRSTC1_T;
- typedef struct
- {
- __I uint32_t RESERVE0:1;
- __IO uint32_t GPIO_RST:1;
- __IO uint32_t TMR0_RST:1;
- __IO uint32_t TMR1_RST:1;
- __IO uint32_t TMR2_RST:1;
- __IO uint32_t TMR3_RST:1;
- __I uint32_t RESERVE1:2;
- __IO uint32_t I2C0_RST:1;
- __IO uint32_t I2C1_RST:1;
- __I uint32_t RESERVE2:2;
- __IO uint32_t SPI0_RST:1;
- __IO uint32_t SPI1_RST:1;
- __IO uint32_t SPI2_RST:1;
- __IO uint32_t SPI3_RST:1;
- __IO uint32_t UART0_RST:1;
- __IO uint32_t UART1_RST:1;
- __I uint32_t RESERVE3:2;
- __IO uint32_t PWM_RST:1;
- __I uint32_t RESERVE4:1;
- __IO uint32_t ACMP_RST:1;
- __IO uint32_t PS2_RST:1;
- __IO uint32_t CAN0_RST:1;
- __IO uint32_t CAN1_RST:1;
- __I uint32_t RESERVE5:1;
- __IO uint32_t USBD_RST:1;
- __IO uint32_t ADC_RST:1;
- __I uint32_t RESERVE6:3;
- } GCR_IPRSTC2_T;
- typedef __IO uint32_t GCR_MISCR_T;
- typedef struct
- {
- __IO uint32_t BOD_EN:1;
- __IO uint32_t BOD_VL:2;
- __IO uint32_t BOD_RSTEN:1;
- __IO uint32_t BOD_BYP_EN:1;
- __IO uint32_t BOD_LPM:1;
- __IO uint32_t BOD_OUT:1;
- __IO uint32_t LVR_EN:1;
- __IO uint32_t VTEMP_EN:1;
- __IO uint32_t LDO_BYP:1;
- __I uint32_t RESERVE1:22;
- } GCR_BODCR_T;
- typedef __IO uint32_t GCR_PORCR_T;
- typedef struct
- {
- __IO uint32_t ADC0:1;
- __IO uint32_t ADC1:1;
- __IO uint32_t ADC2:1;
- __IO uint32_t ADC3:1;
- __IO uint32_t ADC4:1;
- __IO uint32_t ADC5:1;
- __IO uint32_t ADC6:1;
- __IO uint32_t ADC7:1;
- __IO uint32_t I2C0_SDA:1;
- __IO uint32_t I2C0_SCL:1;
- __IO uint32_t I2C1_SDA:1;
- __IO uint32_t I2C1_SCL:1;
- __IO uint32_t PWM0:1;
- __IO uint32_t PWM1:1;
- __IO uint32_t PWM2:1;
- __IO uint32_t PWM3:1;
- __IO uint32_t SCHMITT:16;
- } GCR_GPAMFP_T;
- typedef struct
- {
- __IO uint32_t UART0_RX:1;
- __IO uint32_t UART0_TX:1;
- __IO uint32_t UART0_nRTS:1;
- __IO uint32_t UART0_nCTS:1;
- __IO uint32_t UART1_RX:1;
- __IO uint32_t UART1_TX:1;
- __IO uint32_t UART1_nRTS:1;
- __IO uint32_t UART1_nCTS:1;
- __IO uint32_t TM0:1;
- __IO uint32_t TM1:1;
- __IO uint32_t TM2:1;
- __IO uint32_t TM3:1;
- __IO uint32_t CPO0:1;
- __IO uint32_t CPO1:1;
- __IO uint32_t INT0:1;
- __IO uint32_t INT1:1;
- __IO uint32_t SCHMITT:16;
- } GCR_GPBMFP_T;
- typedef struct
- {
- __IO uint32_t SPI0_SS0:1;
- __IO uint32_t SPI0_CLK:1;
- __IO uint32_t SPI0_MISO0:1;
- __IO uint32_t SPI0_MOSI0:1;
- __IO uint32_t SPI0_MISO1:1;
- __IO uint32_t SPI0_MOSI1:1;
- __IO uint32_t CPP0:1;
- __IO uint32_t CPN0:1;
- __IO uint32_t SPI1_SS0:1;
- __IO uint32_t SPI1_CLK:1;
- __IO uint32_t SPI1_MISO0:1;
- __IO uint32_t SPI1_MOSI0:1;
- __IO uint32_t SPI1_MISO1:1;
- __IO uint32_t SPI1_MOSI1:1;
- __IO uint32_t CPP1:1;
- __IO uint32_t CPN1:1;
- __IO uint32_t SCHMITT:16;
- } GCR_GPCMFP_T;
- typedef struct
- {
- __IO uint32_t SPI2_SS0:1;
- __IO uint32_t SPI2_CLK:1;
- __IO uint32_t SPI2_MISO0:1;
- __IO uint32_t SPI2_MOSI0:1;
- __IO uint32_t SPI2_MISO1:1;
- __IO uint32_t SPI2_MOSI1:1;
- __IO uint32_t CAN0_RX:1;
- __IO uint32_t CAN0_TX:1;
- __IO uint32_t SPI3_SS0:1;
- __IO uint32_t SPI3_CLK:1;
- __IO uint32_t SPI3_MISO0:1;
- __IO uint32_t SPI3_MOSI0:1;
- __IO uint32_t SPI3_MISO1:1;
- __IO uint32_t SPI3_MOSI1:1;
- __IO uint32_t CAN1_RX:1;
- __IO uint32_t CAN1_TX:1;
- __IO uint32_t SCHMITT:16;
- } GCR_GPDMFP_T;
- typedef struct
- {
- __I uint32_t RESERVE:16;
- __IO uint32_t SCHMITT:16;
- } GCR_GPEMFP_T;
- typedef struct
- {
- __IO uint32_t SPI0_SS1:1; /* GPB10 */
- __IO uint32_t SPI1_SS1:1; /* GPB9 */
- __IO uint32_t SPI2_SS1:1; /* GPA7 */
- __IO uint32_t SPI3_SS1:1; /* GPB14 */
- __I uint32_t RESERVE:28;
-
- } GCR_USPIMFP_T;
- typedef __IO uint32_t GCR_REGLOCK_T;
- typedef __IO uint32_t GCR_RCADJ_T;
- typedef struct
- {
- __IO uint32_t INTSRC:3;
- __I uint32_t RESERVE:29;
- } GCR_INTSRC_T;
- typedef struct
- {
- __IO uint32_t NMISEL:5;
- __I uint32_t RESERVE0:2;
- __IO uint32_t INT_TEST:1;
- __I uint32_t RESERVE1:24;
- } GCR_NMISEL_T;
- typedef __IO uint32_t GCR_MCUIRQ_T;
- typedef struct
- {
- GCR_PDID_T PDID;
- GCR_RSTSRC_T RSTSRC;
- GCR_IPRSTC1_T IPRSTC1;
- GCR_IPRSTC2_T IPRSTC2;
- uint32_t RESERVE0;
- GCR_MISCR_T MISCR;
- GCR_BODCR_T BODCR;
- GCR_PORCR_T PORCR;
- uint32_t RESERVE1[4];
- GCR_GPAMFP_T GPAMFP;
- GCR_GPBMFP_T GPBMFP;
- GCR_GPCMFP_T GPCMFP;
- GCR_GPDMFP_T GPDMFP;
- GCR_GPEMFP_T GPEMFP;
- uint32_t RESERVE2[3];
- GCR_USPIMFP_T USPIMFP;
- uint32_t RESERVE3[43];
- GCR_REGLOCK_T REGLOCK;
- uint32_t RESERVE4[3];
- GCR_RCADJ_T RCADJ;
- } GCR_T;
- typedef struct
- {
- GCR_INTSRC_T INTSRC;
- GCR_NMISEL_T NMISEL;
- GCR_MCUIRQ_T MCUIRQ;
- } GCR_INT_T;
- /*-------------------------- FLASH Memory Controller -------------------------*/
- typedef struct
- {
- __IO uint32_t ISPEN:1;
- __IO uint32_t BS:1;
- __I uint32_t RESERVE0:3;
- __IO uint32_t LDUEN:1;
- __IO uint32_t ISPFF:1;
- __IO uint32_t SWRST:1;
- __IO uint32_t PT:3;
- __I uint32_t RESERVE1:1;
- __IO uint32_t ET:3;
- __I uint32_t RESERVE2:17;
- } FMC_ISPCON_T;
- typedef __IO uint32_t FMC_ISPADR_T;
- typedef __IO uint32_t FMC_ISPDAT_T;
- typedef struct
- {
- __IO uint32_t FCTRL:4;
- __IO uint32_t FCEN:1;
- __IO uint32_t FOEN:1;
- __I uint32_t RESERVE:26;
- } FMC_ISPCMD_T;
- typedef struct
- {
- __IO uint32_t ISPGO:1;
- __I uint32_t RESERVE:31;
- } FMC_ISPTRG_T;
- typedef __I uint32_t FMC_DFBADR_T;
- typedef struct
- {
- __IO uint32_t FPSEN:1;
- __IO uint32_t FATS:3;
- __I uint32_t RESERVE:28;
- } FMC_FATCON_T;
- typedef struct
- {
- FMC_ISPCON_T ISPCON;
- FMC_ISPADR_T ISPADR;
- FMC_ISPDAT_T ISPDAT;
- FMC_ISPCMD_T ISPCMD;
- FMC_ISPTRG_T ISPTRG;
- FMC_DFBADR_T DFBADR;
- FMC_FATCON_T FATCON;
- } FMC_T;
- /*------------------------ PS2 Device Interface Controller -------------------*/
- typedef struct
- {
- __IO uint32_t PS2EN:1;
- __IO uint32_t TXINTEN:1;
- __IO uint32_t RXINTEN:1;
- __IO uint32_t TXFIFO_DEPTH:4;
- __IO uint32_t ACK:1;
- __IO uint32_t CLRFIFO:1;
- __IO uint32_t OVERRIDE:1;
- __IO uint32_t FPS2CLK:1;
- __IO uint32_t FPS2DAT:1;
- __I uint32_t RESERVE:20;
- } PS2_CON_T;
- typedef __IO uint32_t PS2_DATA_T;
- typedef struct
- {
- __IO uint32_t PS2CLK:1;
- __IO uint32_t PS2DATA:1;
- __IO uint32_t FRAMERR:1;
- __IO uint32_t RXPARTY:1;
- __IO uint32_t RXBUSY:1;
- __IO uint32_t TXBUSY:1;
- __IO uint32_t RXOVF:1;
- __IO uint32_t TXEMPTY:1;
- __IO uint32_t BYTEIDX:4;
- __I uint32_t RESERVE:20;
- } PS2_STATUS_T;
- typedef __IO uint32_t PS2_INTID_T;
- typedef struct
- {
- PS2_CON_T PS2CON;
- PS2_DATA_T TXDATA[4];
- PS2_DATA_T RXDATA;
- PS2_STATUS_T STATUS;
- PS2_INTID_T INTID;
- } PS2_T;
- /*---------------------------- CAN Bus Controller ----------------------------*/
- typedef struct
- {
- __IO uint32_t RSTM:1;
- __IO uint32_t LOM:1;
- __I uint32_t RESERVE:30;
-
- } CAN_OPMODE_T;
- typedef struct
- {
- __IO uint32_t TR:1;
- __IO uint32_t ABRT:1;
- __I uint32_t RESERVE2:3;
- __IO uint32_t OVERFLOAD_EN:1;
- __IO uint32_t WAKEUP_EN:1;
- __IO uint32_t CAN_EN:1;
- __I uint32_t RESERVE:24;
- } CAN_CMD_T;
- typedef struct
- {
- __I uint32_t RESERVE0:3;
- __IO uint32_t TCS:1;
- __IO uint32_t RS:1;
- __IO uint32_t TS:1;
- __IO uint32_t BS:1;
- __IO uint32_t BS2:1;
- __IO uint32_t EAS:1;
- __IO uint32_t EPS:1;
- __I uint32_t RESERVE1:22;
- } CAN_BSR_T;
- typedef struct
- {
- __IO uint32_t RI:1;
- __IO uint32_t TI:1;
- __I uint32_t RESERVE0:2;
- __IO uint32_t WUI:1;
- __I uint32_t RESERVE1:1;
- __IO uint32_t ALI:1;
- __IO uint32_t BEI:1;
- __I uint32_t RESERVE2:24;
- } CAN_INTR_T;
- typedef struct
- {
- __IO uint32_t RIE:1;
- __IO uint32_t TIE:1;
- __I uint32_t RESERVE0:2;
- __IO uint32_t WUIE:1;
- __I uint32_t RESERVE1:1;
- __IO uint32_t ALIE:1;
- __IO uint32_t BEIE:1;
- __I uint32_t RESERVE2:24;
- } CAN_INTEN_T;
- typedef struct
- {
- __IO uint32_t BRP:4;
- __IO uint32_t SJW:2;
- __IO uint32_t TSEG1:5;
- __IO uint32_t TSEG2:4;
- __IO uint32_t SAMP:1;
- __I uint32_t RESERVE2:16;
- } CAN_BTIMR_T;
- typedef struct
- {
- __IO uint32_t BIT_ERR:4;
- __IO uint32_t ACK_ERR:2;
- __IO uint32_t CRC_ERR:5;
- __IO uint32_t FORM_ERR:4;
- __IO uint32_t STUFF_ERR:1;
- __I uint32_t RESERVE:16;
- } CAN_ERRCR_T;
- typedef struct
- {
- __IO uint32_t RECNT:8;
- __I uint32_t RESERVE:24;
- } CAN_RECNTR_T;
- typedef struct
- {
- __IO uint32_t TECNT:8;
- __I uint32_t RESERVE:24;
- } CAN_TECNTR_T;
- typedef struct
- {
- __IO uint32_t TXDLC:6;
- __IO uint32_t TXRTR:1;
- __IO uint32_t TXFF:1;
- __I uint32_t RESERVE:24;
- } CAN_TXFINFO_T;
- typedef struct
- {
- __I uint32_t RESERVE:3;
- __IO uint32_t TXID:29;
- } CAN_TXID_T;
- typedef __IO uint32_t CAN_TXDATA_T;
- typedef struct
- {
- __IO uint32_t RXDLC:4;
- __I uint32_t RESERVE0:2;
- __IO uint32_t RXRTR:1;
- __IO uint32_t RXIDE:1;
- __I uint32_t RESERVE1:24;
- } CAN_RXFINFO_T;
- typedef struct
- {
- __I uint32_t RESERVE:3;
- __IO uint32_t RXID:29;
- } CAN_RXID_T;
- typedef __IO uint32_t CAN_RXDATA_T;
- typedef struct
- {
- __I uint32_t RESERVE:3;
- __IO uint32_t ACR:29;
- } CAN_ACR_T;
- typedef struct
- {
- __I uint32_t RESERVE:3;
- __IO uint32_t AMR:29;
- } CAN_AMR_T;
- typedef struct
- {
- __I uint32_t RESERVE:32;
- } CAN_RESERVE_T;
- typedef struct
- {
- CAN_OPMODE_T OPMODE;
- CAN_CMD_T CMD;
- CAN_BSR_T BSR;
- CAN_INTR_T INTR;
- CAN_INTEN_T INTEN;
- CAN_BTIMR_T BTIMR;
- CAN_RESERVE_T PROTECT[2];
- CAN_ERRCR_T ERRCR;
- CAN_RESERVE_T PROTECT1;
- CAN_RECNTR_T RECNTR;
- CAN_TECNTR_T TECNTR;
- CAN_TXFINFO_T TXFINFO;
- CAN_TXID_T TXID;
- CAN_TXDATA_T TXDATA[2];
- CAN_RXFINFO_T RXFINFO;
- CAN_RXID_T RXID;
- CAN_RXDATA_T RX_DATA[2];
- CAN_ACR_T ACR;
- CAN_AMR_T AMR;
- } CAN_T;
- /*--------------------------- USB Device Controller --------------------------*/
- typedef struct
- {
- __IO uint32_t BUS:1;
- __IO uint32_t USB:1;
- __IO uint32_t FLD:1;
- __IO uint32_t WAKEUP:1;
- __I uint32_t RESERVE0:4;
- __IO uint32_t WAKEUP_EN:1;
- __I uint32_t RESERVE1:6;
- __IO uint32_t INNAK_EN:1;
- __I uint32_t RESERVE2:16;
- } USBD_IEF_T;
- typedef struct
- {
- __IO uint32_t BUS:1;
- __IO uint32_t USB:1;
- __IO uint32_t FLD:1;
- __IO uint32_t WAKEUP:1;
- __I uint32_t RESERVE0:12;
- __IO uint32_t EPTF:6;
- __I uint32_t RESERVE1:9;
- __IO uint32_t SETUP:1;
- } USBD_EVF_T;
- typedef struct
- {
- __IO uint32_t FADDR:7;
- __I uint32_t RESERVE:25;
- } USBD_FADDR_T;
- typedef struct
- {
- __I uint32_t RESERVE0:7;
- __IO uint32_t OVERRUN:1;
- __IO uint32_t STS0:3;
- __IO uint32_t STS1:3;
- __IO uint32_t STS2:3;
- __IO uint32_t STS3:3;
- __IO uint32_t STS4:3;
- __IO uint32_t STS5:3;
- __I uint32_t RESERVE1:6;
- } USBD_STS_T;
- typedef struct
- {
- __IO uint32_t USBRST:1;
- __IO uint32_t SUSPEND:1;
- __IO uint32_t RESUME:1;
- __IO uint32_t TIMEOUT:1;
- __IO uint32_t PHY_EN:1;
- __IO uint32_t RWAKEUP:1;
- __I uint32_t RESERVE0:1;
- __IO uint32_t USB_EN:1;
- __IO uint32_t DPPU_EN:1;
- __IO uint32_t PDB:1;
- __I uint32_t RESERVE1:22;
- } USBD_ATTR_T;
- typedef struct
- {
- __IO uint32_t FLODET:1;
- __I uint32_t RESERVE:31;
- } USBD_FLODET_T;
- typedef struct
- {
- __I uint32_t RESERVE0:3;
- __IO uint32_t BUFSEG:6;
- __I uint32_t RESERVE:23;
- } USBD_BUFSEG_T;
- typedef struct
- {
- __IO uint32_t MXPLD:9;
- __I uint32_t RESERVE:23;
- } USBD_MXPLD_T;
- typedef struct
- {
- __IO uint32_t EPT:4;
- __IO uint32_t ISOCH:1;
- __IO uint32_t STATE:2;
- __IO uint32_t DSQ:1;
- __I uint32_t RESERVE0:1;
- __IO uint32_t STALL_CTL:1;
- __I uint32_t RESERVE1:22;
- } USBD_CFG_T;
- typedef struct
- {
- __IO uint32_t CFGP:1;
- __IO uint32_t STALL:1;
- __I uint32_t RESERVE:30;
- } USBD_CFGP_T;
- typedef struct
- {
- __IO uint32_t DRVSE0:1;
- __I uint32_t RESERVE:31;
- } USBD_DRVSE0_T;
- typedef struct
- {
- __IO uint32_t BISTEN:1;
- __IO uint32_t FINISH:1;
- __IO uint32_t BISTFAIL:1;
- __I uint32_t RESERVE:29;
- } USBD_BIST_T;
- typedef struct
- {
- __IO uint32_t PDMA_RW:1;
- __IO uint32_t PDMA_EN:1;
- __I uint32_t RESERVE:30;
- } USBD_PDMA_T;
- typedef struct
- {
- USBD_BUFSEG_T BUFSEG;
- USBD_MXPLD_T MXPLD;
- USBD_CFG_T CFG;
- USBD_CFGP_T CFGP;
- } USBD_EP_T;
- typedef struct
- {
- USBD_IEF_T IEF;
- USBD_EVF_T EVF;
- USBD_FADDR_T FADDR;
- USBD_STS_T STS;
- USBD_ATTR_T ATTR;
- USBD_FLODET_T FLODET;
- USBD_BUFSEG_T BUFSEG;
- uint32_t RESERVE0;
- USBD_EP_T EP[6];
- uint32_t RESERVE1[4];
- USBD_DRVSE0_T DRVSE0;
- uint32_t RESERVE2[3];
- USBD_BIST_T BIST;
- USBD_PDMA_T PDMA;
- } USBD_T;
- /*------------------------------ PDMA Controller -----------------------------*/
- typedef struct
- {
- __IO uint32_t PDMACEN:1;
- __IO uint32_t SW_RST:1;
- __IO uint32_t MODE_SEL:2;
- __IO uint32_t SAD_SEL:2;
- __IO uint32_t DAD_SEL:2;
- __I uint32_t RESERVE0:4;
- __IO uint32_t WAR_BCR_SEL:4;
- __I uint32_t RESERVE1:3;
- __IO uint32_t APB_TWS:2;
- __I uint32_t RESERVE2:2;
- __IO uint32_t TRIG_EN:1;
- __I uint32_t RESERVE3:8;
- } PDMA_CSR_T;
- typedef __IO uint32_t PDMA_SAR_T;
- typedef __IO uint32_t PDMA_DAR_T;
- typedef __IO uint32_t PDMA_BCR_T;
- typedef __IO uint32_t PDMA_CSAR_T;
- typedef __IO uint32_t PDMA_CDAR_T;
- typedef struct
- {
- __IO uint32_t CBCR:24;
- __I uint32_t RESERVE:8;
- } PDMA_CBCR_T;
- typedef struct
- {
- __IO uint32_t TABORT_IE:1;
- __IO uint32_t BLKD_IE:1;
- __IO uint32_t WAR_IE:1;
- __I uint32_t RESERVE:29;
- } PDMA_IER_T;
- //typedef __IO uint32_t PDMA_ISR_T;
- typedef struct
- {
- __IO uint32_t TABORT_IF:1;
- __IO uint32_t BLKD_IF:1;
- __I uint32_t RESERVE:6;
- __IO uint32_t WAR_IF:4;
- __I uint32_t RESERVE1:3;
- __IO uint32_t BUSY:1;
- __I uint32_t RESERVE2:15;
- __IO uint32_t INTR:1;
- } PDMA_ISR_T;
- typedef __IO uint32_t PDMA_SBUF_T;
- typedef struct
- {
- __IO uint32_t PDMA_RST:1;
- __I uint32_t RESERVE0:7;
- __IO uint32_t HCLK0_EN:1;
- __IO uint32_t HCLK1_EN:1;
- __IO uint32_t HCLK2_EN:1;
- __IO uint32_t HCLK3_EN:1;
- __IO uint32_t HCLK4_EN:1;
- __IO uint32_t HCLK5_EN:1;
- __IO uint32_t HCLK6_EN:1;
- __IO uint32_t HCLK7_EN:1;
- __IO uint32_t HCLK8_EN:1;
- __IO uint32_t HCLK9_EN:1;
- __IO uint32_t HCLK10_EN:1;
- __IO uint32_t HCLK11_EN:1;
- __I uint32_t RESERVE1:12;
- } PDMA_GCRCSR_T;
- typedef struct
- {
- __IO uint32_t UART0_RXSEL:4;
- __IO uint32_t UART0_TXSEL:4;
- __IO uint32_t UART1_RXSEL:4;
- __IO uint32_t UART1_TXSEL:4;
- __IO uint32_t USBD_RXSEL:4;
- __IO uint32_t USBD_TXSEL:4;
- __IO uint32_t ADC_RXSEL:4;
- __IO uint32_t ADC_TXSEL:4;
- } PDMA_PDSSR1_T;
-
- typedef struct
- {
- __IO uint32_t SPI0_RXSEL:4;
- __IO uint32_t SPI0_TXSEL:4;
- __IO uint32_t SPI1_RXSEL:4;
- __IO uint32_t SPI1_TXSEL:4;
- __IO uint32_t SPI2_RXSEL:4;
- __IO uint32_t SPI2_TXSEL:4;
- __IO uint32_t SPI3_RXSEL:4;
- __IO uint32_t SPI3_TXSEL:4;
- } PDMA_PDSSR0_T;
- typedef __IO uint32_t PDMA_GCRISR_T;
- typedef struct
- {
- PDMA_GCRCSR_T GCRCSR;
- PDMA_PDSSR0_T PDSSR0;
- PDMA_PDSSR1_T PDSSR1;
- PDMA_GCRISR_T GCRISR;
- } PDMA_GCR_T;
- typedef struct
- {
- PDMA_CSR_T CSR;
- PDMA_SAR_T SAR;
- PDMA_DAR_T DAR;
- PDMA_BCR_T BCR;
- uint32_t POINT;
- PDMA_CSAR_T CSAR;
- PDMA_CDAR_T CDAR;
- PDMA_CBCR_T CBCR;
- PDMA_IER_T IER;
- PDMA_ISR_T ISR;
- PDMA_SBUF_T SBUF[4];
- } PDMA_T;
- /*----------------------------- PWM Controller -------------------------------*/
- typedef struct
- {
- __IO uint32_t CP0:8;
- __IO uint32_t CP1:8;
- __IO uint32_t DZI0:8;
- __IO uint32_t DZI1:8;
- } PWM_PPR_T;
- typedef struct
- {
- __IO uint32_t CSR0:3;
- __I uint32_t RESERVE0:1;
- __IO uint32_t CSR1:3;
- __I uint32_t RESERVE1:1;
- __IO uint32_t CSR2:3;
- __I uint32_t RESERVE2:1;
- __IO uint32_t CSR3:3;
- __I uint32_t RESERVE:17;
- } PWM_CSR_T;
- typedef struct
- {
- __IO uint32_t CH0EN:1;
- __I uint32_t RESERVE0:1;
- __IO uint32_t CH0INV:1;
- __IO uint32_t CH0MOD:1;
- __IO uint32_t DZEN0:1;
- __IO uint32_t DZEN1:1;
- __I uint32_t RESERVE1:2;
- __IO uint32_t CH1EN:1;
- __I uint32_t RESERVE2:1;
- __IO uint32_t CH1INV:1;
- __IO uint32_t CH1MOD:1;
- __I uint32_t RESERVE3:4;
- __IO uint32_t CH2EN:1;
- __I uint32_t RESERVE4:1;
- __IO uint32_t CH2INV:1;
- __IO uint32_t CH2MOD:1;
- __I uint32_t RESERVE5:4;
- __IO uint32_t CH3EN:1;
- __I uint32_t RESERVE6:1;
- __IO uint32_t CH3INV:1;
- __IO uint32_t CH3MOD:1;
- __I uint32_t RESERVE7:4;
- } PWM_PCR_T;
- typedef __IO uint32_t PWM_CNR_T;
- typedef __IO uint32_t PWM_CMR_T;
- typedef __IO uint32_t PWM_PDR_T;
- typedef struct
- {
- __IO uint32_t PWMIE0:1;
- __IO uint32_t PWMIE1:1;
- __IO uint32_t PWMIE2:1;
- __IO uint32_t PWMIE3:1;
- __I uint32_t RESERVE:28;
- } PWM_PIER_T;
- typedef struct
- {
- __IO uint32_t PWMIF0:1;
- __IO uint32_t PWMIF1:1;
- __IO uint32_t PWMIF2:1;
- __IO uint32_t PWMIF3:1;
- __I uint32_t RESERVE:28;
- } PWM_PIIR_T;
- typedef struct
- {
- __IO uint32_t INV0:1;
- __IO uint32_t CRL_IE0:1;
- __IO uint32_t CFL_IE0:1;
- __IO uint32_t CAPCH0EN:1;
- __IO uint32_t CAPIF0:1;
- __I uint32_t RESERVE0:1;
- __IO uint32_t CRLRI0:1;
- __IO uint32_t CFLRI0:1;
- __I uint32_t RESERVE1:8;
- __IO uint32_t INV1:1;
- __IO uint32_t CRL_IE1:1;
- __IO uint32_t CFL_IE1:1;
- __IO uint32_t CAPCH1EN:1;
- __IO uint32_t CAPIF1:1;
- __I uint32_t RESERVE2:1;
- __IO uint32_t CRLRI1:1;
- __IO uint32_t CFLRI1:1;
- __I uint32_t RESERVE3:8;
- } PWM_CCR0_T;
- typedef struct
- {
- __IO uint32_t INV2:1;
- __IO uint32_t CRL_IE2:1;
- __IO uint32_t CFL_IE2:1;
- __IO uint32_t CAPCH2EN:1;
- __IO uint32_t CAPIF2:1;
- __I uint32_t RESERVE0:1;
- __IO uint32_t CRLRI2:1;
- __IO uint32_t CFLRI2:1;
- __I uint32_t RESERVE1:8;
- __IO uint32_t INV3:1;
- __IO uint32_t CRL_IE3:1;
- __IO uint32_t CFL_IE3:1;
- __IO uint32_t CAPCH3EN:1;
- __IO uint32_t CAPIF3:1;
- __I uint32_t RESERVE2:1;
- __IO uint32_t CRLRI3:1;
- __IO uint32_t CFLRI3:1;
- __I uint32_t RESERVE3:8;
- } PWM_CCR1_T;
- typedef __IO uint32_t PWM_CRLR_T;
- typedef __IO uint32_t PWM_CFLR_T;
- typedef __IO uint32_t PWM_CAPENR_T;
- typedef struct
- {
- __IO uint32_t PWM0:1;
- __IO uint32_t PWM1:1;
- __IO uint32_t PWM2:1;
- __IO uint32_t PWM3:1;
- __I uint32_t RESERVE:28;
- } PWM_POE_T;
- typedef struct
- {
- PWM_PPR_T PPR;
- PWM_CSR_T CSR;
- PWM_PCR_T PCR;
- PWM_CNR_T CNR0;
- PWM_CMR_T CMR0;
- PWM_PDR_T PDR0;
- PWM_CNR_T CNR1;
- PWM_CMR_T CMR1;
- PWM_PDR_T PDR1;
- PWM_CNR_T CNR2;
- PWM_CMR_T CMR2;
- PWM_PDR_T PDR2;
- PWM_CNR_T CNR3;
- PWM_CMR_T CMR3;
- PWM_PDR_T PDR3;
- __I uint32_t RESERVE0;
- PWM_PIER_T PIER;
- PWM_PIIR_T PIIR;
- __I uint32_t RESERVE1[2];
- PWM_CCR0_T CCR0;
- PWM_CCR1_T CCR1;
- PWM_CRLR_T CRLR0;
- PWM_CFLR_T CFLR0;
- PWM_CRLR_T CRLR1;
- PWM_CFLR_T CFLR1;
- PWM_CRLR_T CRLR2;
- PWM_CFLR_T CFLR2;
- PWM_CRLR_T CRLR3;
- PWM_CFLR_T CFLR3;
- PWM_CAPENR_T CAPENR;
- PWM_POE_T POE;
-
-
- } PWM_T;
- /******************************************************************************/
- /* Peripheral memory map */
- /******************************************************************************/
- /* Peripheral and SRAM base address */
- #define FLASH_BASE (( uint32_t)0x00000000)
- #define SRAM_BASE (( uint32_t)0x20000000)
- #define AHB_BASE (( uint32_t)0x50000000)
- #define APB1_BASE (( uint32_t)0x40000000)
- #define APB2_BASE (( uint32_t)0x40100000)
- /* Peripheral memory map */
- #define GPIO_BASE (AHB_BASE + 0x4000)
- #define GPIOA_BASE (GPIO_BASE )
- #define GPIOB_BASE (GPIO_BASE + 0x0040)
- #define GPIOC_BASE (GPIO_BASE + 0x0080)
- #define GPIOD_BASE (GPIO_BASE + 0x00C0)
- #define GPIOE_BASE (GPIO_BASE + 0x0100)
- #define GPIO_DBNCECON_BASE (GPIO_BASE + 0x0180)
- #define UART0_BASE (APB1_BASE + 0x50000)
- #define UART1_BASE (APB2_BASE + 0x50000)
- #define TIMER0_BASE (APB1_BASE + 0x10000)
- #define TIMER1_BASE (APB1_BASE + 0x10020)
- #define TIMER2_BASE (APB2_BASE + 0x10000)
- #define TIMER3_BASE (APB2_BASE + 0x10020)
- #define WDT_BASE (APB1_BASE + 0x4000)
- #define SPI0_BASE (APB1_BASE + 0x30000)
- #define SPI1_BASE (APB1_BASE + 0x34000)
- #define SPI2_BASE (APB2_BASE + 0x30000)
- #define SPI3_BASE (APB2_BASE + 0x34000)
- #define I2C0_BASE (APB1_BASE + 0x20000)
- #define I2C1_BASE (APB2_BASE + 0x20000)
- #define RTC_BASE (APB1_BASE + 0x08000)
- #define ADC_BASE (APB1_BASE + 0xE0000)
- #define ADC_ADSR (ADC_BASE + 0x30)
- #define ACMP_BASE (APB1_BASE + 0xD0000)
- #define SYSCLK_BASE (AHB_BASE + 0x00200)
- #define GCR_BASE (AHB_BASE + 0x00000)
- #define INT_BASE (AHB_BASE + 0x00300)
- #define FMC_BASE (AHB_BASE + 0x0C000)
- #define PS2_BASE (APB2_BASE + 0x00000)
- #define CAN0_BASE (APB2_BASE + 0x80000)
- #define CAN1_BASE (APB2_BASE + 0x84000)
- #define USBD_BASE (APB1_BASE + 0x60000)
- #define PDMA0_BASE (AHB_BASE + 0x08000)
- #define PDMA1_BASE (AHB_BASE + 0x08100)
- #define PDMA2_BASE (AHB_BASE + 0x08200)
- #define PDMA3_BASE (AHB_BASE + 0x08300)
- #define PDMA4_BASE (AHB_BASE + 0x08400)
- #define PDMA5_BASE (AHB_BASE + 0x08500)
- #define PDMA6_BASE (AHB_BASE + 0x08600)
- #define PDMA7_BASE (AHB_BASE + 0x08700)
- #define PDMA8_BASE (AHB_BASE + 0x08800)
- #define PDMA9_BASE (AHB_BASE + 0x08900)
- #define PDMA10_BASE (AHB_BASE + 0x08A00)
- #define PDMA11_BASE (AHB_BASE + 0x08B00)
- #define PDMA_GCR_BASE (AHB_BASE + 0x08F00)
- #define PWM_BASE (APB1_BASE + 0x40000)
- /******************************************************************************/
- /* Peripheral declaration */
- /******************************************************************************/
- #define GPIOA ((GPIO_T *) GPIOA_BASE)
- #define GPIOB ((GPIO_T *) GPIOB_BASE)
- #define GPIOC ((GPIO_T *) GPIOC_BASE)
- #define GPIOD ((GPIO_T *) GPIOD_BASE)
- #define GPIOE ((GPIO_T *) GPIOE_BASE)
- #define GPIO_DBNCECON ((GPIO_DBNCECON_T *) GPIO_DBNCECON_BASE)
- #define UART0 ((UART_T *) UART0_BASE)
- #define UART1 ((UART_T *) UART1_BASE)
- #define TIMER0 ((TIMER_T *) TIMER0_BASE)
- #define TIMER1 ((TIMER_T *) TIMER1_BASE)
- #define TIMER2 ((TIMER_T *) TIMER2_BASE)
- #define TIMER3 ((TIMER_T *) TIMER3_BASE)
- #define WDT ((WDT_T *) WDT_BASE)
- #define SPI0 ((SPI_T *) SPI0_BASE)
- #define SPI1 ((SPI_T *) SPI1_BASE)
- #define SPI2 ((SPI_T *) SPI2_BASE)
- #define SPI3 ((SPI_T *) SPI3_BASE)
- #define I2C0 ((I2C_T *) I2C0_BASE)
- #define I2C1 ((I2C_T *) I2C1_BASE)
- #define RTC ((RTC_T *) RTC_BASE)
- #define ADC ((ADC_T *) ADC_BASE)
- #define ACMP ((ACMP_T *) ACMP_BASE)
- #define SYSCLK ((SYSCLK_T *) SYSCLK_BASE)
- #define SYS ((GCR_T *) GCR_BASE)
- #define SYSINT ((GCR_INT_T *) INT_BASE)
- #define FMC ((FMC_T *) FMC_BASE)
- #define PS2 ((PS2_T *) PS2_BASE)
- #define CAN0 ((CAN_T *) CAN0_BASE)
- #define CAN1 ((CAN_T *) CAN1_BASE)
- #define USBD ((USBD_T *) USBD_BASE)
- #define PDMA0 ((PDMA_T *) PDMA0_BASE)
- #define PDMA1 ((PDMA_T *) PDMA1_BASE)
- #define PDMA2 ((PDMA_T *) PDMA2_BASE)
- #define PDMA3 ((PDMA_T *) PDMA3_BASE)
- #define PDMA4 ((PDMA_T *) PDMA4_BASE)
- #define PDMA5 ((PDMA_T *) PDMA5_BASE)
- #define PDMA6 ((PDMA_T *) PDMA6_BASE)
- #define PDMA7 ((PDMA_T *) PDMA7_BASE)
- #define PDMA8 ((PDMA_T *) PDMA8_BASE)
- #define PDMA9 ((PDMA_T *) PDMA9_BASE)
- #define PDMA10 ((PDMA_T *) PDMA10_BASE)
- #define PDMA11 ((PDMA_T *) PDMA11_BASE)
- #define PDMA_GCR ((PDMA_GCR_T *) PDMA_GCR_BASE)
- #define PWM ((PWM_T *) PWM_BASE)
- #define UNLOCKREG(x) *((__IO uint32_t *)(GCR_BASE + 0x100)) = 0x59;*((__IO uint32_t *)(GCR_BASE + 0x100)) = 0x16;*((__IO uint32_t *)(GCR_BASE + 0x100)) = 0x88
- #define LOCKREG(x) *((__IO uint32_t *)(GCR_BASE + 0x100)) = 0x00;
- #define REGCOPY(dest, src) *((uint32_t *)&(dest)) = *((uint32_t *)&(src))
- #define CLEAR(dest) *((uint32_t *)&(dest)) = 0
- //=============================================================================
- typedef volatile unsigned char vu8;
- typedef volatile unsigned long vu32;
- typedef volatile unsigned short vu16;
- #define M8(adr) (*((vu8 *) (adr)))
- #define M16(adr) (*((vu16 *) (adr)))
- #define M32(adr) (*((vu32 *) (adr)))
- #define outpw(port,value) *((volatile unsigned int *)(port))=value
- #define inpw(port) (*((volatile unsigned int *)(port)))
- #define outpb(port,value) *((volatile unsigned char *)(port))=value
- #define inpb(port) (*((volatile unsigned char *)(port)))
- #define outps(port,value) *((volatile unsigned short *)(port))=value
- #define inps(port) (*((volatile unsigned short *)(port)))
- #define E_SUCCESS 0
- #define NULL 0
- #define TRUE 1
- #define FALSE 0
- #define ENABLE 1
- #define DISABLE 0
- // Define one bit mask
- #define BIT0 0x00000001
- #define BIT1 0x00000002
- #define BIT2 0x00000004
- #define BIT3 0x00000008
- #define BIT4 0x00000010
- #define BIT5 0x00000020
- #define BIT6 0x00000040
- #define BIT7 0x00000080
- #define BIT8 0x00000100
- #define BIT9 0x00000200
- #define BIT10 0x00000400
- #define BIT11 0x00000800
- #define BIT12 0x00001000
- #define BIT13 0x00002000
- #define BIT14 0x00004000
- #define BIT15 0x00008000
- #define BIT16 0x00010000
- #define BIT17 0x00020000
- #define BIT18 0x00040000
- #define BIT19 0x00080000
- #define BIT20 0x00100000
- #define BIT21 0x00200000
- #define BIT22 0x00400000
- #define BIT23 0x00800000
- #define BIT24 0x01000000
- #define BIT25 0x02000000
- #define BIT26 0x04000000
- #define BIT27 0x08000000
- #define BIT28 0x10000000
- #define BIT29 0x20000000
- #define BIT30 0x40000000
- #define BIT31 0x80000000
- #endif
-
|