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

📄 iocan128v.h

📁 工业开关量检测模块的原代码,带断线检测功能
💻 H
📖 第 1 页 / 共 2 页
字号:
/* eXternal Memory Control Register */
#define XMCRA	(*(volatile unsigned char *)0x74)
#define  SRE      7
#define  SRL2     6
#define  SRL1     5
#define  SRL0     4
#define  SRW11    3
#define  SRW10    2
#define  SRW01    1
#define  SRW00    0
#define XMCRB	(*(volatile unsigned char *)0x75)
#define  XMBK     7
#define  XMM2     2
#define  XMM1     1
#define  XMM0     0

/* Analog Digital Converter */
#define ADC 	(*(volatile unsigned int *)0x78)
#define ADCL	(*(volatile unsigned char *)0x78)
#define ADCH	(*(volatile unsigned char *)0x79)
#define ADCSRA	(*(volatile unsigned char *)0x7a)
#define  ADEN     7
#define  ADSC     6
#define  ADATE    5
#define  ADFR     5
#define  ADIF     4
#define  ADIE     3
#define  ADPS2    2
#define  ADPS1    1
#define  ADPS0    0
#define ADCSRB	(*(volatile unsigned char *)0x7b)
#define  ADHSM    7
#define  ACME     6
#define  ADTS2    2
#define  ADTS1    1
#define  ADTS0    0
#define ADMUX	(*(volatile unsigned char *)0x7c)
#define  REFS1    7
#define  REFS0    6
#define  ADLAR    5
#define  MUX4     4
#define  MUX3     3
#define  MUX2     2
#define  MUX1     1
#define  MUX0     0
#define DIDR1	(*(volatile unsigned char *)0x7e)
#define  AIN1D    1
#define  AIN0D    0
#define DIDR0	(*(volatile unsigned char *)0x7f)
#define  ADC7D    7
#define  ADC6D    6
#define  ADC5D    5
#define  ADC4D    4
#define  ADC3D    3
#define  ADC2D    2
#define  ADC1D    1
#define  ADC0D    0

/* Timer/Counter 1 */
#define TCCR1A	(*(volatile unsigned char *)0x80)
#define  COM1A1   7
#define  COM1A0   6
#define  COM1B1   5
#define  COM1B0   4
#define  COM1C1   3
#define  COM1C0   2
#define  WGM11    1
#define  WGM10    0
#define TCCR1B	(*(volatile unsigned char *)0x81)
#define  ICNC1    7
#define  ICES1    6
#define  WGM13    4
#define  WGM12    3
#define  CS12     2
#define  CS11     1
#define  CS10     0
#define TCCR1C	(*(volatile unsigned char *)0x82)
#define  FOC1A    7
#define  FOC1B    6
#define  FOC1C    5
#define TCNT1	(*(volatile unsigned int *)0x84)
#define TCNT1L	(*(volatile unsigned char *)0x84)
#define TCNT1H	(*(volatile unsigned char *)0x85)
#define ICR1	(*(volatile unsigned int *)0x86)
#define ICR1L	(*(volatile unsigned char *)0x86)
#define ICR1H	(*(volatile unsigned char *)0x87)
#define OCR1A	(*(volatile unsigned int *)0x88)
#define OCR1AL	(*(volatile unsigned char *)0x88)
#define OCR1AH	(*(volatile unsigned char *)0x89)
#define OCR1B	(*(volatile unsigned int *)0x8a)
#define OCR1BL	(*(volatile unsigned char *)0x8a)
#define OCR1BH	(*(volatile unsigned char *)0x8b)
#define OCR1C	(*(volatile unsigned int *)0x8c)
#define OCR1CL	(*(volatile unsigned char *)0x8c)
#define OCR1CH	(*(volatile unsigned char *)0x8d)

/* Timer/Counter 3 */
#define TCCR3A	(*(volatile unsigned char *)0x90)
#define  COM3A1   7
#define  COM3A0   6
#define  COM3B1   5
#define  COM3B0   4
#define  COM3C1   3
#define  COM3C0   2
#define  WGM31    1
#define  WGM30    0
#define TCCR3B	(*(volatile unsigned char *)0x91)
#define  ICNC3    7
#define  ICES3    6
#define  WGM33    4
#define  WGM32    3
#define  CS32     2
#define  CS31     1
#define  CS30     0
#define TCCR3C	(*(volatile unsigned char *)0x92)
#define  FOC3A    7
#define  FOC3B    6
#define  FOC3C    5
#define TCNT3	(*(volatile unsigned int *)0x94)
#define TCNT3L	(*(volatile unsigned char *)0x94)
#define TCNT3H	(*(volatile unsigned char *)0x95)
#define ICR3	(*(volatile unsigned int *)0x96)
#define ICR3L	(*(volatile unsigned char *)0x96)
#define ICR3H	(*(volatile unsigned char *)0x97)
#define OCR3A	(*(volatile unsigned int *)0x98)
#define OCR3AL	(*(volatile unsigned char *)0x98)
#define OCR3AH	(*(volatile unsigned char *)0x99)
#define OCR3B	(*(volatile unsigned int *)0x9a)
#define OCR3BL	(*(volatile unsigned char *)0x9a)
#define OCR3BH	(*(volatile unsigned char *)0x9b)
#define OCR3C	(*(volatile unsigned int *)0x9c)
#define OCR3CL	(*(volatile unsigned char *)0x9c)
#define OCR3CH	(*(volatile unsigned char *)0x9d)

/* Timer/Counter 2 */
#define TCCR2A	(*(volatile unsigned char *)0xb0)
#define TCCR2	(*(volatile unsigned char *)0xb0)
#define  FOC2     7
#define  FOC2A    7
#define  WGM20    6
#define  COM21    5
#define  COM20    4
#define  COM2A1   5
#define  COM2A0   4
#define  WGM21    3
#define  CS22     2
#define  CS21     1
#define  CS20     0
#define TCNT2	(*(volatile unsigned char *)0xb2)
#define OCR2A	(*(volatile unsigned char *)0xb3)
#define OCR2	(*(volatile unsigned char *)0xb3)
#define ASSR	(*(volatile unsigned char *)0xb6)
#define  EXCLK    4
#define  AS2      3
#define  TCN2UB   2
#define  OCR2UB   1
#define  TCR2UB   0

/* Two-Wire serial Interface */
#define TWBR	(*(volatile unsigned char *)0xb8)
#define TWSR	(*(volatile unsigned char *)0xb9)
#define  TWS7     7
#define  TWS6     6
#define  TWS5     5
#define  TWS4     4
#define  TWS3     3
#define  TWS      3
#define  TWPS1    1
#define  TWPS0    0
#define TWAR	(*(volatile unsigned char *)0xba)
#define  TWA6     7
#define  TWA5     6
#define  TWA4     5
#define  TWA3     4
#define  TWA2     3
#define  TWA1     2
#define  TWA0     1
#define  TWA      1
#define  TWGCE    0
#define TWDR	(*(volatile unsigned char *)0xbb)
#define TWCR	(*(volatile unsigned char *)0xbc)
#define  TWINT    7
#define  TWEA     6
#define  TWSTA    5
#define  TWSTO    4
#define  TWWC     3
#define  TWEN     2
#define  TWIE     0

/* USART-0 (default USART) */
#define UCSR0A	(*(volatile unsigned char *)0xc0)
#define UCSRA	(*(volatile unsigned char *)0xc0)
#define  RXC0     7
#define  TXC0     6
#define  UDRE0    5
#define  FE0      4
#define  DOR0     3
#define  UPE0     2
#define  U2X0     1
#define  MPCM0    0
#define  RXC      7
#define  TXC      6
#define  UDRE     5
#define  FE       4
#define  DOR      3
#define  OVR      3    /*This definition differs from the databook*/
#define  UPE      2
#define  PE       2
#define  U2X      1
#define  MPCM     0
#define UCSR0B	(*(volatile unsigned char *)0xc1)
#define UCSRB	(*(volatile unsigned char *)0xc1)
#define  RXCIE0   7
#define  TXCIE0   6
#define  UDRIE0   5
#define  RXEN0    4
#define  TXEN0    3
#define  UCSZ02   2
#define  RXB80    1
#define  TXB80    0
#define  RXCIE    7
#define  TXCIE    6
#define  UDRIE    5
#define  RXEN     4
#define  TXEN     3
#define  UCSZ2    2
#define  RXB8     1
#define  TXB8     0
#define UCSR0C	(*(volatile unsigned char *)0xc2)
#define UCSRC	(*(volatile unsigned char *)0xc2)
#define  UMSEL0   6
#define  UPM01    5
#define  UPM00    4
#define  USBS0    3
#define  UCSZ01   2
#define  UCSZ00   1
#define  UCPOL0   0
#define  UMSEL    6
#define  UPM1     5
#define  UPM0     4
#define  USBS     3
#define  UCSZ1    2
#define  UCSZ0    1
#define  UCPOL    0
#define UBRR0 	(*(volatile unsigned int *)0xc4)
#define UBRR	(*(volatile unsigned int *)0xc4)
#define UBRR0L	(*(volatile unsigned char *)0xc4)
#define UBRRL	(*(volatile unsigned char *)0xc4)
#define UBRR0H	(*(volatile unsigned char *)0xc5)
#define UBRRH	(*(volatile unsigned char *)0xc5)
#define UDR0	(*(volatile unsigned char *)0xc6)
#define UDR 	(*(volatile unsigned char *)0xc6)

/* USART-1 */
#define UCSR1A	(*(volatile unsigned char *)0xc8)
#define  RXC1     7
#define  TXC1     6
#define  UDRE1    5
#define  FE1      4
#define  DOR1     3
#define  UPE1     2
#define  U2X1     1
#define  MPCM1    0
#define UCSR1B	(*(volatile unsigned char *)0xc9)
#define  RXCIE1   7
#define  TXCIE1   6
#define  UDRIE1   5
#define  RXEN1    4
#define  TXEN1    3
#define  UCSZ12   2
#define  RXB81    1
#define  TXB81    0
#define UCSR1C	(*(volatile unsigned char *)0xca)
#define  UMSEL1   6
#define  UPM11    5
#define  UPM10    4
#define  USBS1    3
#define  UCSZ11   2
#define  UCSZ10   1
#define  UCPOL1   0
#define UBRR1 	(*(volatile unsigned int *)0xcc)
#define UBRR1L	(*(volatile unsigned char *)0xcc)
#define UBRR1H	(*(volatile unsigned char *)0xcd)
#define UDR1	(*(volatile unsigned char *)0xce)

/* C.A.N */
#define CANGCON (*(volatile unsigned char *)0xd8)
#define  ABRQ     7
#define  OVRQ     6
#define  TTC      5
#define  SYNCTTC  4
#define  LISTEN   3
#define  ENA      1
#define  SWRES    0
#define CANGSTA (*(volatile unsigned char *)0xd9)
#define  OVFG     6
#define  TXBSY    4
#define  RXBSY    3
#define  ENFG     2
#define  BOFF     1
#define  ERRP     0
#define CANGIT  (*(volatile unsigned char *)0xda)
#define  CANIT    7
#define  BOFFIT   6
#define  OVRTIM   5
#define  OVRBUF   4
#define  SERG     3
#define  CERG     2
#define  FERG     1
#define  AERG     0
#define  ERR_GEN_MSK 0x0f
#define  INT_GEN_MSK 0x5f
#define CANGIE  (*(volatile unsigned char *)0xdb)
#define  ENIT     7
#define  ENBOFF   6
#define  ENRX     5
#define  ENTX     4
#define  ENERMOB  3
#define  ENBUF    2
#define  ENERG    1
#define  ENOVRT   0
#define CANEN2  (*(volatile unsigned char *)0xdc)
#define CANEN1  (*(volatile unsigned char *)0xdd)
#define CANIE2  (*(volatile unsigned char *)0xde)
#define CANIE1  (*(volatile unsigned char *)0xdf)
#define CANSIT2 (*(volatile unsigned char *)0xe0)
#define CANSIT1 (*(volatile unsigned char *)0xe1)
#define CANBT1  (*(volatile unsigned char *)0xe2)
#define  BRP      1
#define  BRP_MSK  0x7e
#define CANBT2  (*(volatile unsigned char *)0xe3)
#define  SJW      5
#define  PRS      1
#define  SJW_MSK  0x60
#define  PRS_MSK  0x0e
#define CANBT3  (*(volatile unsigned char *)0xe4)
#define  PHS2     4
#define  PHS1     1
#define  SMP      0
#define  PHS2_MSK 0x70
#define  PHS1_MSK 0x0e
#define CANTCON (*(volatile unsigned char *)0xe5)
#define CANTIM  (*(volatile unsigned int *)0xe6)
#define CANTIML (*(volatile unsigned char *)0xe6)
#define CANTIMH (*(volatile unsigned char *)0xe7)
#define CANTTC  (*(volatile unsigned int *)0xe8)
#define CANTTCL (*(volatile unsigned char *)0xe8)
#define CANTTCH (*(volatile unsigned char *)0xe9)
#define CANTEC  (*(volatile unsigned char *)0xea)
#define CANREC  (*(volatile unsigned char *)0xeb)
#define CANHPMOB (*(volatile unsigned char *)0xec)
#define  HPMOB    4
#define  HPMOB_MSK 0xf0
#define CANPAGE (*(volatile unsigned char *)0xed)
#define  AINC     3
#define  MOBNB    4
#define  INDX     0
#define  MOBNB_MSK 0xf0
#define CANSTMOB (*(volatile unsigned char *)0xee)
#define  DLCW     7
#define  TXOK     6
#define  RXOK     5
#define  BERR     4
#define  SERR     3
#define  CERR     2
#define  FERR     1
#define  AERR     0
#define  ERR_MOB_MSK 0x1f
#define  INT_MOB_MSK 0x7f
#define CANCDMOB (*(volatile unsigned char *)0xef)
#define  CONMOB   6
#define  RPLV     5
#define  IDE      4
#define  DLC      0
#define  CONMOB_MSK 0xc0
#define  DLC_MSK    0x0f
#define CANIDT4 (*(volatile unsigned char *)0xf0)
#define  RTRTAG   2
#define  RB1TAG   1
#define  RB0TAG   0
#define CANIDT3 (*(volatile unsigned char *)0xf1)
#define CANIDT2 (*(volatile unsigned char *)0xf2)
#define CANIDT1 (*(volatile unsigned char *)0xf3)
#define CANIDM4 (*(volatile unsigned char *)0xf4)
#define  RTRMSK   2
#define  IDEMSK   0
#define CANIDM3 (*(volatile unsigned char *)0xf5)
#define CANIDM2 (*(volatile unsigned char *)0xf6)
#define CANIDM1 (*(volatile unsigned char *)0xf7)
#define CANSTM  (*(volatile unsigned int *)0xf8)
#define CANSTML (*(volatile unsigned char *)0xf8)
#define CANSTMH (*(volatile unsigned char *)0xf9)
#define CANMSG  (*(volatile unsigned char *)0xfa)

/*--------------------*/
/* Lock and Fuse Bits */
/*--------------------*/

/* lock bits */
#define  BLB12    5
#define  BLB11    4
#define  BLB02    3
#define  BLB01    2
#define  BLB      2
#define  LB2      1
#define  LB1      0
#define  LB       0

/* fuses extended bits */
#define  BODLEVEL2 3
#define  BODLEVEL1 2
#define  BODLEVEL0 1
#define  BODLEVEL  1
#define  TA0SEL    0

/* fuses high bits */
#define  OCDEN    7
#define  JTAGEN   6
#define  SPIEN    5
#define  WDTON    4
#define  EESAVE   3
#define  BOOTSZ1  2
#define  BOOTSZ0  1
#define  BOOTSZ   1
#define  BOOTRST  0

/* fuses low bits */
#define  CKDIV8   7
#define  CKOUT    6
#define  SUT1     5
#define  SUT0     4
#define  SUT      4
#define  CKSEL3   3
#define  CKSEL2   2
#define  CKSEL1   1
#define  CKSEL0   0
#define  CKSEL    0

/*--------------------------*/
/* Interrupt Vector Numbers */
/*--------------------------*/

#define iv_RESET        1
#define iv_INT0         2
#define iv_INT1         3
#define iv_INT2         4
#define iv_INT3         5
#define iv_INT4         6
#define iv_INT5         7
#define iv_INT6         8
#define iv_INT7         9
#define iv_TIMER2_COMP  10
#define iv_TIMER2_OVF   11
#define iv_TIMER1_CAPT  12
#define iv_TIMER1_COMPA 13
#define iv_TIMER1_COMPB 14
#define iv_TIMER1_COMPC 15
#define iv_TIMER1_OVF   16
#define iv_TIMER0_COMP  17
#define iv_TIMER0_OVF   18
#define iv_CAN          19
#define iv_CAN_TRANSFER 19
#define iv_CAN_TIM_OVR  20
#define iv_SPI_STC      21
#define iv_USART0_RX    22
#define iv_USART0_RXC   22
#define iv_USART0_DRE   23
#define iv_USART0_UDRE  23
#define iv_USART0_TX    24
#define iv_USART0_TXC   24
#define iv_ANA_COMP     25
#define iv_ANALOG_COMP  25
#define iv_ADC          26
#define iv_EE_RDY       27
#define iv_EE_READY     27
#define iv_TIMER3_CAPT  28
#define iv_TIMER3_COMPA 29
#define iv_TIMER3_COMPB 30
#define iv_TIMER3_COMPC 31
#define iv_TIMER3_OVF   32
#define iv_USART1_RX    33
#define iv_USART1_RXC   33
#define iv_USART1_DRE   34
#define iv_USART1_UDRE  34
#define iv_USART1_TX    35
#define iv_USART1_TXC   35
#define iv_TWI          36
#define iv_TWSI         36
#define iv_SPM_RDY      37
#define iv_SPM_READY    37

/* */

#endif

⌨️ 快捷键说明

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