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

📄 main.h

📁 这是英飞凌公司基于xc166开发的foc方式控制的pmsm电机例程 非常有参加价值
💻 H
📖 第 1 页 / 共 5 页
字号:

// Node A Global Interrupt Node Pointer Register
#define CAN_AGINP              (*((uword volatile far *) 0x200210))

// Node A INTID Mask Register 4 Low
#define CAN_AIMR4              (*((uword volatile far *) 0x20021C))
#define CAN_AIMR4_IMC32                    ((T_Reg16 *) 0x20021C)->bit0
#define CAN_AIMR4_IMC33                    ((T_Reg16 *) 0x20021C)->bit1
#define CAN_AIMR4_IMC34                    ((T_Reg16 *) 0x20021C)->bit2

// Node A INTID Mask Register 0 High
#define CAN_AIMRH0             (*((uword volatile far *) 0x20021A))
#define CAN_AIMRH0_IMC16                    ((T_Reg16 *) 0x20021A)->bit0
#define CAN_AIMRH0_IMC17                    ((T_Reg16 *) 0x20021A)->bit1
#define CAN_AIMRH0_IMC18                    ((T_Reg16 *) 0x20021A)->bit2
#define CAN_AIMRH0_IMC19                    ((T_Reg16 *) 0x20021A)->bit3
#define CAN_AIMRH0_IMC20                    ((T_Reg16 *) 0x20021A)->bit4
#define CAN_AIMRH0_IMC21                    ((T_Reg16 *) 0x20021A)->bit5
#define CAN_AIMRH0_IMC22                    ((T_Reg16 *) 0x20021A)->bit6
#define CAN_AIMRH0_IMC23                    ((T_Reg16 *) 0x20021A)->bit7
#define CAN_AIMRH0_IMC24                    ((T_Reg16 *) 0x20021A)->bit8
#define CAN_AIMRH0_IMC25                    ((T_Reg16 *) 0x20021A)->bit9
#define CAN_AIMRH0_IMC26                    ((T_Reg16 *) 0x20021A)->bit10
#define CAN_AIMRH0_IMC27                    ((T_Reg16 *) 0x20021A)->bit11
#define CAN_AIMRH0_IMC28                    ((T_Reg16 *) 0x20021A)->bit12
#define CAN_AIMRH0_IMC29                    ((T_Reg16 *) 0x20021A)->bit13
#define CAN_AIMRH0_IMC30                    ((T_Reg16 *) 0x20021A)->bit14
#define CAN_AIMRH0_IMC31                    ((T_Reg16 *) 0x20021A)->bit15

// Node A INTID Mask Register 0 Low
#define CAN_AIMRL0             (*((uword volatile far *) 0x200218))
#define CAN_AIMRL0_IMC0                     ((T_Reg16 *) 0x200218)->bit0
#define CAN_AIMRL0_IMC1                     ((T_Reg16 *) 0x200218)->bit1
#define CAN_AIMRL0_IMC10                    ((T_Reg16 *) 0x200218)->bit10
#define CAN_AIMRL0_IMC11                    ((T_Reg16 *) 0x200218)->bit11
#define CAN_AIMRL0_IMC12                    ((T_Reg16 *) 0x200218)->bit12
#define CAN_AIMRL0_IMC13                    ((T_Reg16 *) 0x200218)->bit13
#define CAN_AIMRL0_IMC14                    ((T_Reg16 *) 0x200218)->bit14
#define CAN_AIMRL0_IMC15                    ((T_Reg16 *) 0x200218)->bit15
#define CAN_AIMRL0_IMC2                     ((T_Reg16 *) 0x200218)->bit2
#define CAN_AIMRL0_IMC3                     ((T_Reg16 *) 0x200218)->bit3
#define CAN_AIMRL0_IMC4                     ((T_Reg16 *) 0x200218)->bit4
#define CAN_AIMRL0_IMC5                     ((T_Reg16 *) 0x200218)->bit5
#define CAN_AIMRL0_IMC6                     ((T_Reg16 *) 0x200218)->bit6
#define CAN_AIMRL0_IMC7                     ((T_Reg16 *) 0x200218)->bit7
#define CAN_AIMRL0_IMC8                     ((T_Reg16 *) 0x200218)->bit8
#define CAN_AIMRL0_IMC9                     ((T_Reg16 *) 0x200218)->bit9

// Node A Interrupt Pending Register
#define CAN_AIR                (*((uword volatile far *) 0x200208))

// Node A Status Register
#define CAN_ASR                (*((uword volatile far *) 0x200204))
#define CAN_ASR_BOFF                     ((T_Reg16 *) 0x200204)->bit7
#define CAN_ASR_EWRN                     ((T_Reg16 *) 0x200204)->bit6
#define CAN_ASR_RXOK                     ((T_Reg16 *) 0x200204)->bit4
#define CAN_ASR_TXOK                     ((T_Reg16 *) 0x200204)->bit3

// Node B Bit Timing Register High
#define CAN_BBTRH              (*((uword volatile far *) 0x20024E))
#define CAN_BBTRH_LBM                      ((T_Reg16 *) 0x20024E)->bit0

// Node B Bit Timing Register Low
#define CAN_BBTRL              (*((uword volatile far *) 0x20024C))
#define CAN_BBTRL_DIV8X                    ((T_Reg16 *) 0x20024C)->bit15

// Node B Control Register
#define CAN_BCR                (*((uword volatile far *) 0x200240))
#define CAN_BCR_CALM                     ((T_Reg16 *) 0x200240)->bit7
#define CAN_BCR_CCE                      ((T_Reg16 *) 0x200240)->bit6
#define CAN_BCR_EIE                      ((T_Reg16 *) 0x200240)->bit3
#define CAN_BCR_INIT                     ((T_Reg16 *) 0x200240)->bit0
#define CAN_BCR_LECIE                    ((T_Reg16 *) 0x200240)->bit4
#define CAN_BCR_SIE                      ((T_Reg16 *) 0x200240)->bit2

// Node B Error Counter Register High
#define CAN_BECNTH             (*((uword volatile far *) 0x200262))
#define CAN_BECNTH_LEINC                    ((T_Reg16 *) 0x200262)->bit9
#define CAN_BECNTH_LETD                     ((T_Reg16 *) 0x200262)->bit8

// Node B Error Counter Register Low
#define CAN_BECNTL             (*((uword volatile far *) 0x200260))

// Node B Frame Counter Register High
#define CAN_BFCRH              (*((uword volatile far *) 0x200256))
#define CAN_BFCRH_CFCIE                    ((T_Reg16 *) 0x200256)->bit6
#define CAN_BFCRH_CFCOV                    ((T_Reg16 *) 0x200256)->bit7

// Node B Frame Counter Register Low
#define CAN_BFCRL              (*((uword volatile far *) 0x200254))

// Node B Global Interrupt Node Pointer Register
#define CAN_BGINP              (*((uword volatile far *) 0x200250))

// Node B INTID Mask Register 4 Low
#define CAN_BIMR4              (*((uword volatile far *) 0x20025C))
#define CAN_BIMR4_IMC32                    ((T_Reg16 *) 0x20025C)->bit0
#define CAN_BIMR4_IMC33                    ((T_Reg16 *) 0x20025C)->bit1
#define CAN_BIMR4_IMC34                    ((T_Reg16 *) 0x20025C)->bit2

// Node B INTID Mask Register 0 High
#define CAN_BIMRH0             (*((uword volatile far *) 0x20025A))
#define CAN_BIMRH0_IMC16                    ((T_Reg16 *) 0x20025A)->bit0
#define CAN_BIMRH0_IMC17                    ((T_Reg16 *) 0x20025A)->bit1
#define CAN_BIMRH0_IMC18                    ((T_Reg16 *) 0x20025A)->bit2
#define CAN_BIMRH0_IMC19                    ((T_Reg16 *) 0x20025A)->bit3
#define CAN_BIMRH0_IMC20                    ((T_Reg16 *) 0x20025A)->bit4
#define CAN_BIMRH0_IMC21                    ((T_Reg16 *) 0x20025A)->bit5
#define CAN_BIMRH0_IMC22                    ((T_Reg16 *) 0x20025A)->bit6
#define CAN_BIMRH0_IMC23                    ((T_Reg16 *) 0x20025A)->bit7
#define CAN_BIMRH0_IMC24                    ((T_Reg16 *) 0x20025A)->bit8
#define CAN_BIMRH0_IMC25                    ((T_Reg16 *) 0x20025A)->bit9
#define CAN_BIMRH0_IMC26                    ((T_Reg16 *) 0x20025A)->bit10
#define CAN_BIMRH0_IMC27                    ((T_Reg16 *) 0x20025A)->bit11
#define CAN_BIMRH0_IMC28                    ((T_Reg16 *) 0x20025A)->bit12
#define CAN_BIMRH0_IMC29                    ((T_Reg16 *) 0x20025A)->bit13
#define CAN_BIMRH0_IMC30                    ((T_Reg16 *) 0x20025A)->bit14
#define CAN_BIMRH0_IMC31                    ((T_Reg16 *) 0x20025A)->bit15

// Node B INTID Mask Register 0 Low
#define CAN_BIMRL0             (*((uword volatile far *) 0x200258))
#define CAN_BIMRL0_IMC0                     ((T_Reg16 *) 0x200258)->bit0
#define CAN_BIMRL0_IMC1                     ((T_Reg16 *) 0x200258)->bit1
#define CAN_BIMRL0_IMC10                    ((T_Reg16 *) 0x200258)->bit10
#define CAN_BIMRL0_IMC11                    ((T_Reg16 *) 0x200258)->bit11
#define CAN_BIMRL0_IMC12                    ((T_Reg16 *) 0x200258)->bit12
#define CAN_BIMRL0_IMC13                    ((T_Reg16 *) 0x200258)->bit13
#define CAN_BIMRL0_IMC14                    ((T_Reg16 *) 0x200258)->bit14
#define CAN_BIMRL0_IMC15                    ((T_Reg16 *) 0x200258)->bit15
#define CAN_BIMRL0_IMC2                     ((T_Reg16 *) 0x200258)->bit2
#define CAN_BIMRL0_IMC3                     ((T_Reg16 *) 0x200258)->bit3
#define CAN_BIMRL0_IMC4                     ((T_Reg16 *) 0x200258)->bit4
#define CAN_BIMRL0_IMC5                     ((T_Reg16 *) 0x200258)->bit5
#define CAN_BIMRL0_IMC6                     ((T_Reg16 *) 0x200258)->bit6
#define CAN_BIMRL0_IMC7                     ((T_Reg16 *) 0x200258)->bit7
#define CAN_BIMRL0_IMC8                     ((T_Reg16 *) 0x200258)->bit8
#define CAN_BIMRL0_IMC9                     ((T_Reg16 *) 0x200258)->bit9

// Node B Interrupt Pending Register
#define CAN_BIR                (*((uword volatile far *) 0x200248))

// Node B Status Register
#define CAN_BSR                (*((uword volatile far *) 0x200244))
#define CAN_BSR_BOFF                     ((T_Reg16 *) 0x200244)->bit7
#define CAN_BSR_EWRN                     ((T_Reg16 *) 0x200244)->bit6
#define CAN_BSR_RXOK                     ((T_Reg16 *) 0x200244)->bit4
#define CAN_BSR_TXOK                     ((T_Reg16 *) 0x200244)->bit3

// Message Object 0 Arbitration Mask Register High
#define CAN_MSGAMRH0           (*((uword volatile far *) 0x20030E))

// Message Object 1 Arbitration Mask Register High
#define CAN_MSGAMRH1           (*((uword volatile far *) 0x20032E))

// Message Object 10 Arbitration Mask Register High
#define CAN_MSGAMRH10          (*((uword volatile far *) 0x20044E))

// Message Object 11 Arbitration Mask Register High
#define CAN_MSGAMRH11          (*((uword volatile far *) 0x20046E))

// Message Object 12 Arbitration Mask Register High
#define CAN_MSGAMRH12          (*((uword volatile far *) 0x20048E))

// Message Object 13 Arbitration Mask Register High
#define CAN_MSGAMRH13          (*((uword volatile far *) 0x2004AE))

// Message Object 14 Arbitration Mask Register High
#define CAN_MSGAMRH14          (*((uword volatile far *) 0x2004CE))

// Message Object 15 Arbitration Mask Register High
#define CAN_MSGAMRH15          (*((uword volatile far *) 0x2004EE))

// Message Object 16 Arbitration Mask Register High
#define CAN_MSGAMRH16          (*((uword volatile far *) 0x20050E))

// Message Object 17 Arbitration Mask Register High
#define CAN_MSGAMRH17          (*((uword volatile far *) 0x20052E))

// Message Object 18 Arbitration Mask Register High
#define CAN_MSGAMRH18          (*((uword volatile far *) 0x20054E))

// Message Object 19 Arbitration Mask Register High
#define CAN_MSGAMRH19          (*((uword volatile far *) 0x20056E))

// Message Object 2 Arbitration Mask Register High
#define CAN_MSGAMRH2           (*((uword volatile far *) 0x20034E))

// Message Object 20 Arbitration Mask Register High
#define CAN_MSGAMRH20          (*((uword volatile far *) 0x20058E))

// Message Object 21 Arbitration Mask Register High
#define CAN_MSGAMRH21          (*((uword volatile far *) 0x2005AE))

// Message Object 22 Arbitration Mask Register High
#define CAN_MSGAMRH22          (*((uword volatile far *) 0x2005CE))

// Message Object 23 Arbitration Mask Register High
#define CAN_MSGAMRH23          (*((uword volatile far *) 0x2005EE))

// Message Object 24 Arbitration Mask Register High
#define CAN_MSGAMRH24          (*((uword volatile far *) 0x20060E))

// Message Object 25 Arbitration Mask Register High
#define CAN_MSGAMRH25          (*((uword volatile far *) 0x20062E))

// Message Object 26 Arbitration Mask Register High
#define CAN_MSGAMRH26          (*((uword volatile far *) 0x20064E))

// Message Object 27 Arbitration Mask Register High
#define CAN_MSGAMRH27          (*((uword volatile far *) 0x20066E))

// Message Object 28 Arbitration Mask Register High
#define CAN_MSGAMRH28          (*((uword volatile far *) 0x20068E))

// Message Object 29 Arbitration Mask Register High
#define CAN_MSGAMRH29          (*((uword volatile far *) 0x2006AE))

// Message Object 3 Arbitration Mask Register High
#define CAN_MSGAMRH3           (*((uword volatile far *) 0x20036E))

// Message Object 30 Arbitration Mask Register High
#define CAN_MSGAMRH30          (*((uword volatile far *) 0x2006CE))

// Message Object 31 Arbitration Mask Register High
#define CAN_MSGAMRH31          (*((uword volatile far *) 0x2006EE))

// Message Object 4 Arbitration Mask Register High
#define CAN_MSGAMRH4           (*((uword volatile far *) 0x20038E))

// Message Object 5 Arbitration Mask Register High
#define CAN_MSGAMRH5           (*((uword volatile far *) 0x2003AE))

// Message Object 6 Arbitration Mask Register High
#define CAN_MSGAMRH6           (*((uword volatile far *) 0x2003CE))

// Message Object 7 Arbitration Mask Register High
#define CAN_MSGAMRH7           (*((uword volatile far *) 0x2003EE))

// Message Object 8 Arbitration Mask Register High
#define CAN_MSGAMRH8           (*((uword volatile far *) 0x20040E))

// Message Object 9 Arbitration Mask Register High
#define CAN_MSGAMRH9           (*((uword volatile far *) 0x20042E))

// Message Object 0 Arbitration Mask Register Low
#define CAN_MSGAMRL0           (*((uword volatile far *) 0x20030C))

// Message Object 1 Arbitration Mask Register Low
#define CAN_MSGAMRL1           (*((uword volatile far *) 0x20032C))

// Message Object 10 Arbitration Mask Register Low
#define CAN_MSGAMRL10          (*((uword volatile far *) 0x20044C))

// Message Object 11 Arbitration Mask Register Low
#define CAN_MSGAMRL11          (*((uword volatile far *) 0x20046C))

// Message Object 12 Arbitration Mask Register Low
#define CAN_MSGAMRL12          (*((uword volatile far *) 0x20048C))

// Message Object 13 Arbitration Mask Register Low
#define CAN_MSGAMRL13          (*((uword volatile far *) 0x2004AC))

// Message Object 14 Arbitration Mask Register Low
#define CAN_MSGAMRL14          (*((uword volatile far *) 0x2004CC))

// Message Object 15 Arbitration Mask Register Low
#define CAN_MSGAMRL15          (*((uword volatile far *) 0x2004EC))

⌨️ 快捷键说明

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