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

📄 iote.h

📁 使用TI DSP 2407A 进行开发的源代码
💻 H
字号:
#ifndef __LF240XIO_H__
#define __LF240XIO_H__

#ifdef __cplusplus
extern "C" {
#endif


#include  "regs240x.h"


/*
  MCRA
*/   

#define  TCLKINA     0x8000
#define  TDIRA       0x4000
#define  T2PWM       0x2000
#define  T1PWM       0x1000
#define  PWM6        0x0800
#define  PWM5        0x0400
#define  PWM4        0x0200
#define  PWM3        0x0100

#define  PWM2        0x0080
#define  PWM1        0x0040
#define  CAP3        0x0020
#define  CAP2        0x0010
#define  CAP1        0x0008
#define  XINT1       0x0004
#define  SCIRXD      0x0002
#define  SCITXD      0x0001

#define  IOPB7_ENABLE        0x8000
#define  IOPB6_ENABLE        0x4000
#define  IOPB5_ENABLE        0x2000
#define  IOPB4_ENABLE        0x1000
#define  IOPB3_ENABLE        0x0800
#define  IOPB2_ENABLE        0x0400
#define  IOPB1_ENABLE        0x0200
#define  IOPB0_ENABLE        0x0100

#define  IOPA7_ENABLE        0x0080
#define  IOPA6_ENABLE        0x0040
#define  IOPA5_ENABLE        0x0020
#define  IOPA4_ENABLE        0x0010
#define  IOPA3_ENABLE        0x0008
#define  IOPA2_ENABLE        0x0004
#define  IOPA1_ENABLE        0x0002
#define  IOPA0_ENABLE       0x0001

#define IOPB7_DISABLE       0x7FFF
#define IOPB6_DISABLE       0xBFFF
#define IOPB5_DISABLE       0xDFFF
#define IOPB4_DISABLE       0xEFFF
#define IOPB3_DISABLE       0xF7FF
#define IOPB2_DISABLE       0xFBFF
#define IOPB1_DISABLE       0xFDFF
#define IOPB0_DISABLE       0xFEFF

#define IOPA7_DISABLE       0xFF7F
#define IOPA6_DISABLE       0xFFBF
#define IOPA5_DISABLE       0xFFDF
#define IOPA4_DISABLE       0xFFEF
#define IOPA3_DISABLE       0xFFF7
#define IOPA2_DISABLE       0xFFFB
#define IOPA1_DISABLE       0xFFFD
#define IOPA0_DISABLE       0xFFFE



/*
  MCRB
*/   

#define  TMS2        0x8000
#define  TMS         0x4000
#define  TDO         0x2000
#define  TDI         0x1000
#define  TCK         0x0800
#define  EMU1        0x0400
#define  EMU0        0x0200
#define  XINT2       0x0100

#define  CANRX        0x0080
#define  CANTX        0x0040
#define  SPISTE       0x0020
#define  SPICLK       0x0010
#define  SPISOMI      0x0008
#define  SPISIMO      0x0004
#define  BIO          0x0002
#define  W_R          0x0001


#define  IOPD0_ENABLE       0x0100

#define  IOPC7_ENABLE        0x0080
#define  IOPC6_ENABLE        0x0040
#define  IOPC5_ENABLE        0x0020
#define  IOPC4_ENABLE        0x0010
#define  IOPC3_ENABLE        0x0008
#define  IOPC2_ENABLE        0x0004
#define  IOPC1_ENABLE        0x0002
#define  IOPC0_ENABLE       0x0001


#define IOPD0_DISABLE       0xFEFF

#define IOPC7_DISABLE       0xFF7F
#define IOPC6_DISABLE       0xFFBF
#define IOPC5_DISABLE       0xFFDF
#define IOPC4_DISABLE       0xFFEF
#define IOPC3_DISABLE       0xFFF7
#define IOPC2_DISABLE       0xFFFB
#define IOPC1_DISABLE       0xFFFD
#define IOPC0_DISABLE       0xFFFE


/*
  MCRC
*/   

#define  MCRC_RES0   0x8000
#define  IOPF6       0x4000
#define  TCLKINB     0x2000
#define  TDIRB       0x1000
#define  T4PWM       0x0800
#define  T3PWM       0x0400
#define  CAP6        0x0200
#define  CAP5        0x0100

#define  CAP4        0x0080
#define  PWM12       0x0040
#define  PWM11       0x0020
#define  PWM10       0x0010
#define  PWM9        0x0008
#define  PWM8        0x0004
#define  PWM7        0x0002
#define  CLKOUT      0x0001

#define  IOPF6_ENABLE        0x4000
#define  IOPF5_ENABLE        0x2000
#define  IOPF4_ENABLE        0x1000
#define  IOPF3_ENABLE        0x0800
#define  IOPF2_ENABLE        0x0400
#define  IOPF1_ENABLE        0x0200
#define  IOPF0_ENABLE        0x0100

#define  IOPE7_ENABLE        0x0080
#define  IOPE6_ENABLE        0x0040
#define  IOPE5_ENABLE        0x0020
#define  IOPE4_ENABLE        0x0010
#define  IOPE3_ENABLE        0x0008
#define  IOPE2_ENABLE        0x0004
#define  IOPE1_ENABLE        0x0002
#define  IOPE0_ENABLE        0x0001


#define IOPF6_DISABLE       0xBFFF
#define IOPF5_DISABLE       0xDFFF
#define IOPF4_DISABLE       0xEFFF
#define IOPF3_DISABLE       0xF7FF
#define IOPF2_DISABLE       0xFBFF
#define IOPF1_DISABLE       0xFDFF
#define IOPF0_DISABLE       0xFEFF

#define IOPE7_DISABLE       0xFF7F
#define IOPE6_DISABLE       0xFFBF
#define IOPE5_DISABLE       0xFFDF
#define IOPE4_DISABLE       0xFFEF
#define IOPE3_DISABLE       0xFFF7
#define IOPE2_DISABLE       0xFFFB
#define IOPE1_DISABLE       0xFFFD
#define IOPE0_DISABLE       0xFFFE

/*
  PADATDIR
*/   

#define    IOA7OUT              0x8000
#define    IOA6OUT              0x4000
#define    IOA5OUT              0x2000
#define    IOA4OUT              0x1000
#define    IOA3OUT              0x0800
#define    IOA2OUT              0x0400
#define    IOA1OUT              0x0200
#define    IOA0OUT              0x0100

#define    IOA7_HIGH            0x0080
#define    IOA6_HIGH            0x0040
#define    IOA5_HIGH            0x0020
#define    IOA4_HIGH            0x0010
#define    IOA3_HIGH            0x0008
#define    IOA2_HIGH            0x0004
#define    IOA1_HIGH            0x0002
#define    IOA0_HIGH            0x0001

/*
  PBDATDIR
*/   

#define    IOB7OUT             0x8000
#define    IOB6OUT             0x4000
#define    IOB5OUT             0x2000
#define    IOB4OUT             0x1000
#define    IOB3OUT             0x0800
#define    IOB2OUT             0x0400
#define    IOB1OUT             0x0200
#define    IOB0OUT             0x0100

#define    IOB7_HIGH           0x0080
#define    IOB6_HIGH           0x0040
#define    IOB5_HIGH           0x0020
#define    IOB4_HIGH           0x0010
#define    IOB3_HIGH           0x0008
#define    IOB2_HIGH           0x0004
#define    IOB1_HIGH           0x0002
#define    IOB0_HIGH           0x0001

/*
  PCDATDIR
*/   

#define    IOC7OUT           0x8000
#define    IOC6OUT           0x4000
#define    IOC5OUT           0x2000
#define    IOC4OUT           0x1000
#define    IOC3OUT           0x0800
#define    IOC2OUT           0x0400
#define    IOC1OUT           0x0200
#define    IOC0OUT           0x0100

#define    IOC7_HIGH         0x0080
#define    IOC6_HIGH         0x0040
#define    IOC5_HIGH         0x0020
#define    IOC4_HIGH         0x0010
#define    IOC3_HIGH         0x0008
#define    IOC2_HIGH         0x0004
#define    IOC1_HIGH         0x0002
#define    IOC0_HIGH         0x0001


/*
  PDDATDIR
*/   

#define    IOD0OUT           0x0100

#define    IOD0_HIGH         0x0001

/*
  PEDATDIR
*/   

#define    IOE7OUT            0x8000
#define    IOE6OUT            0x4000
#define    IOE5OUT            0x2000
#define    IOE4OUT            0x1000
#define    IOE3OUT            0x0800
#define    IOE2OUT            0x0400
#define    IOE1OUT            0x0200
#define    IOE0OUT            0x0100

#define    IOE7_HIGH          0x0080
#define    IOE6_HIGH          0x0040
#define    IOE5_HIGH          0x0020
#define    IOE4_HIGH          0x0010
#define    IOE3_HIGH          0x0008
#define    IOE2_HIGH          0x0004
#define    IOE1_HIGH          0x0002
#define    IOE0_HIGH          0x0001

/*
  PFDATDIR
*/   

#define    IOF6OUT            0x4000
#define    IOF5OUT            0x2000
#define    IOF4OUT            0x1000
#define    IOF3OUT            0x0800
#define    IOF2OUT            0x0400
#define    IOF1OUT            0x0200
#define    IOF0OUT            0x0100


#define    IOF6_HIGH          0x0040
#define    IOF5_HIGH          0x0020
#define    IOF4_HIGH          0x0010
#define    IOF3_HIGH          0x0008
#define    IOF2_HIGH          0x0004
#define    IOF1_HIGH          0x0002
#define    IOF0_HIGH          0x0001







#define  OUT_HIGH   1
#define  OUT_LOW    0

#define  IN_PIN_NUM  8
#define  OUT_PIN_NUM  8


//IN & OUT Status
extern unsigned int IN_Status[IN_PIN_NUM];
extern unsigned int OUT_Status[OUT_PIN_NUM];

//IN Reg
extern volatile  unsigned  int * IN_MCR[IN_PIN_NUM];
extern volatile  unsigned  int * IN_DATDIR[IN_PIN_NUM];

extern unsigned  int  IO_INx_ENA[IN_PIN_NUM];
extern unsigned int  IO_INx_INPUT[IN_PIN_NUM];

extern unsigned  int  IO_INx_HIGH[IN_PIN_NUM];


//OUT Reg
extern volatile  unsigned int * OUT_MCR[OUT_PIN_NUM];
extern volatile  unsigned int * OUT_DATDIR[OUT_PIN_NUM];

extern unsigned int  IO_OUTx_ENA[OUT_PIN_NUM];
extern unsigned int  IO_OUTx_OUTPUT[OUT_PIN_NUM];

extern unsigned int IO_OUTx_HIGH[OUT_PIN_NUM];



void IO_Init(void);
unsigned int IN_Status_Load(unsigned int IN_Num);
void OUT_Status_Set(unsigned int OUT_Num,unsigned int High_Low);
void IN_Self_Test(void);
void OUT_Status_Set(unsigned int OUT_Num,unsigned int High_Low);



#ifdef __cplusplus
}
#endif /* extern "C" */




#endif



  













⌨️ 快捷键说明

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