Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1186 savelij 1
		ifndef	__stm8sbecaninc	; avoid multiple inclusion
2
__stm8sbecaninc	equ	1
3
 
4
		save
5
		listing	off		; no listing over this file
6
 
7
;****************************************************************************
8
;*                                                                          *
9
;*   AS 1.42 - File BECAN.INC                                               *
10
;*                                                                          *
11
;*   contains SFR and Bit Definitions for STM8S beCAN                       *
12
;*                                                                          *
13
;****************************************************************************
14
 
15
__defbecan	macro	Base
16
CAN_MCR		label	Base+$00	; CAN master control register
17
CAN_TTCM	bit	CAN_MCR,7	;  Time Triggered Communication Mode
18
CAN_ABOM	bit	CAN_MCR,6	;  Automatic Bus-Off Management
19
CAN_AWUM	bit	CAN_MCR,5	;  Automatic wakeup Mode
20
CAN_NART	bit	CAN_MCR,4	;  No Automatic Retransmission
21
CAN_RFLM	bit	CAN_MCR,3	;  Receive FIFO Locked Mode
22
CAN_TXFP	bit	CAN_MCR,2	;  Transmit FIFO Priority
23
CAN_SLEEP	bit	CAN_MCR,1	;  Sleep Mode Request
24
CAN_INRQ	bit	CAN_MCR,0	;  Initialization Request
25
CAN_MSR		label	Base+$01	; CAN master status register
26
CAN_RX		bit	CAN_MSR,5	;  Receive
27
CAN_TX		bit	CAN_MSR,4	;  Transmit
28
CAN_WKUI	bit	CAN_MSR,3	;  Wakeup Interrupt
29
CAN_ERRI	bit	CAN_MSR,2	;  Error Interrupt
30
CAN_SLAK	bit	CAN_MSR,1	;  Sleep Acknowledge
31
CAN_INAK	bit	CAN_MSR,0	;  Initialization Acknowledge
32
CAN_TSR		label	Base+$02	; CAN transmit status register
33
CAN_TXOK2	bit	CAN_TSR,6	;  Transmission OK for mailbox 2
34
CAN_TXOK1	bit	CAN_TSR,5	;  Transmission OK for mailbox 1
35
CAN_TXOK0	bit	CAN_TSR,4	;  Transmission OK for mailbox 0
36
CAN_RQCP2	bit	CAN_TSR,2	;  Request Completed for Mailbox 2
37
CAN_RQCP1	bit	CAN_TSR,1	;  Request Completed for Mailbox 1
38
CAN_RQCP0	bit	CAN_TSR,0	;  Request Completed for Mailbox 0
39
CAN_TPR		label	Base+$03	; CAN transmit priority register
40
CAN_LOW2	bit	CAN_TPR,7	;  Lowest Priority Flag for Mailbox 2
41
CAN_LOW1	bit	CAN_TPR,6	;  Lowest Priority Flag for Mailbox 1
42
CAN_LOW0	bit	CAN_TPR,5	;  Lowest Priority Flag for Mailbox 0
43
CAN_TME2	bit	CAN_TPR,4	;  Transmit Mailbox 2 Empty
44
CAN_TME1	bit	CAN_TPR,3	;  Transmit Mailbox 1 Empty
45
CAN_TME0	bit	CAN_TPR,2	;  Transmit Mailbox 0 Empty
46
CAN_CODE	bfield	CAN_TPR,0,2	;  Mailbox Code
47
CAN_RFR		label	Base+$04	; CAN receive FIFO register
48
RFOM		bit	CAN_RFR,5	;  Release FIFO Output Mailbox
49
FOVR		bit	CAN_RFR,4	;  FIFO Overrun
50
FULL		bit	CAN_RFR,3	;  FIFO Full
51
FMP		bfield	CAN_RFR,0,2	;  FIFO Message Pending
52
CAN_IER		label	Base+$05	; CAN interrupt enable register
53
CAN_WKUIE	bit	CAN_IER,7	;  Wakeup Interrupt Enable
54
CAN_FOVIE	bit	CAN_IER,3	;  FIFO Overrun Interrupt Enable
55
CAN_FFIE	bit	CAN_IER,2	;  FIFO Full Interrupt Enable
56
CAN_FMPIE	bit	CAN_IER,1	;  FIFO Message Pending Interrupt Enable
57
CAN_TMEIE	bit	CAN_IER,0	;  Transmit Mailbox Empty Interrupt Enable
58
CAN_DGR		label	Base+$06	; CAN diagnosis register
59
CAN_TXM2E	bit	CAN_DGR,4	;  TX Mailbox 2 enable
60
CAN_RXSIG	bit	CAN_DGR,3	;  CAN Rx Signal
61
CAN_SAMP	bit	CAN_DGR,2	;  Last sample point
62
CAN_SILM	bit	CAN_DGR,1	;  Silent mode
63
CAN_LBKM	bit	CAN_DGR,0	;  Loop back mode
64
CAN_PSR		label	Base+$07	; CAN page selection register
65
CAN_PS		bfield	CAN_FPSR,0,3	;  Page select
66
CAN_P0		label	Base+$08	; CAN paged register 0
67
CAN_P1		label	Base+$09	; CAN paged register 1
68
CAN_P2		label	Base+$0a	; CAN paged register 2
69
CAN_P3		label	Base+$0b	; CAN paged register 3
70
CAN_P4		label	Base+$0c	; CAN paged register 4
71
CAN_P5		label	Base+$0d	; CAN paged register 5
72
CAN_P6		label	Base+$0e	; CAN paged register 6
73
CAN_P7		label	Base+$0f	; CAN paged register 7
74
CAN_P8		label	Base+$10	; CAN paged register 8
75
CAN_P9		label	Base+$11	; CAN paged register 9
76
CAN_PA		label	Base+$12	; CAN paged register A
77
CAN_PB		label	Base+$13	; CAN paged register B
78
CAN_PC		label	Base+$14	; CAN paged register C
79
CAN_PD		label	Base+$15	; CAN paged register D
80
CAN_PE		label	Base+$16	; CAN paged register E
81
CAN_PF		label	Base+$17	; CAN paged register F
82
		; Tx Mailbox 0/1/2 -> Page 0/1/5, Receive FIFO -> Page 7
83
CAN_MCSR	label	CAN_P0		; CAN message control/status register
84
CAN_TERR	bit	CAN_MCSR,5	;  Transmission error
85
CAN_ALST	bit	CAN_MCSR,4	;  Arbitration lost
86
CAN_TXOK	bit	CAN_MCSR,3	;  Transmission OK
87
CAN_RQCP	bit	CAN_MCSR,2	;  Request completed
88
CAN_ABRQ	bit	CAN_MCSR,1	;  Abort request for mailbox
89
CAN_TXRQ	bit	CAN_MCSR,0	;  Transmit mailbox request
90
CAN_MDLCR	label	CAN_P1		; CAN mailbox data length control register
91
CAN_TGT		bit	CAN_MDLCR,7	;  Transmit global time
92
CAN_DLC		bfield	CAN_MDLCR,0,4	;  Data length code
93
CAN_MIDR1	label	CAN_P2		; CAN mailbox identifier register 1
94
CAN_IDE		bit	CAN_MIDR1,6	;  Extended identifier
95
CAN_RTR		bit	CAN_MIDR1,5	;  Remote transmission request
96
CAN_MIDR2	label	CAN_P3
97
CAN_MIDR3	label	CAN_P4
98
CAN_MIDR4	label	CAN_P5
99
CAN_MDAR1	label	CAN_P6		; CAN mailbox data register x
100
CAN_MDAR2	label	CAN_P7
101
CAN_MDAR3	label	CAN_P8
102
CAN_MDAR4	label	CAN_P9
103
CAN_MDAR5	label	CAN_PA
104
CAN_MDAR6	label	CAN_PB
105
CAN_MDAR7	label	CAN_PC
106
CAN_MDAR8	label	CAN_PD
107
CAN_MTSRL	label	CAN_PE		; CAN mailbox time stamp register low
108
CAN_MTSRH	label	CAN_PF		; CAN mailbox time stamp register high
109
		; Acceptance Filter 0/1 -> Page 2
110
CAN_F0R1	label	CAN_P0
111
CAN_F0R2	label	CAN_P1
112
CAN_F0R3	label	CAN_P2
113
CAN_F0R4	label	CAN_P3
114
CAN_F0R5	label	CAN_P4
115
CAN_F0R6	label	CAN_P5
116
CAN_F0R7	label	CAN_P6
117
CAN_F0R8	label	CAN_P7
118
CAN_F1R1	label	CAN_P8
119
CAN_F1R2	label	CAN_P9
120
CAN_F1R3	label	CAN_PA
121
CAN_F1R4	label	CAN_PB
122
CAN_F1R5	label	CAN_PC
123
CAN_F1R6	label	CAN_PD
124
CAN_F1R7	label	CAN_PE
125
CAN_F1R8	label	CAN_PF
126
		; Acceptance Filter 2/3 -> Page 3
127
CAN_F2R1	label	CAN_P0
128
CAN_F2R2	label	CAN_P1
129
CAN_F2R3	label	CAN_P2
130
CAN_F2R4	label	CAN_P3
131
CAN_F2R5	label	CAN_P4
132
CAN_F2R6	label	CAN_P5
133
CAN_F2R7	label	CAN_P6
134
CAN_F2R8	label	CAN_P7
135
CAN_F3R1	label	CAN_P8
136
CAN_F3R2	label	CAN_P9
137
CAN_F3R3	label	CAN_PA
138
CAN_F3R4	label	CAN_PB
139
CAN_F3R5	label	CAN_PC
140
CAN_F3R6	label	CAN_PD
141
CAN_F3R7	label	CAN_PE
142
CAN_F3R8	label	CAN_PF
143
		; Acceptance Filter 4/5 -> Page 4
144
CAN_F4R1	label	CAN_P0
145
CAN_F4R2	label	CAN_P1
146
CAN_F4R3	label	CAN_P2
147
CAN_F4R4	label	CAN_P3
148
CAN_F4R5	label	CAN_P4
149
CAN_F4R6	label	CAN_P5
150
CAN_F4R7	label	CAN_P6
151
CAN_F4R8	label	CAN_P7
152
CAN_F5R1	label	CAN_P8
153
CAN_F5R2	label	CAN_P9
154
CAN_F5R3	label	CAN_PA
155
CAN_F5R4	label	CAN_PB
156
CAN_F5R5	label	CAN_PC
157
CAN_F5R6	label	CAN_PD
158
CAN_F5R7	label	CAN_PE
159
CAN_F5R8	label	CAN_PF
160
		; Configuration/Diagnostic -> Page 6
161
CAN_ESR		label	CAN_P0		; CAN error status register
162
CAN_LEC		bfield	CAN_ESR,4,3	;  Last error code
163
CAN_BOFF	bit	CAN_ESR,2	;  Bus-off flag
164
CAN_EPVF	bit	CAN_ESR,1	;  Error passive flag
165
CAN_EWGF	bit	CAN_ESR,0	;  Error warning flag
166
CAN_EIER	label	CAN_P1		; CAN error interrupt enable register
167
CAN_ERRIE	bit	CAN_EIER,7	;  Error interrupt enable
168
CAN_LECIE	bit	CAN_EIER,4	;  Last error code interrupt enable
169
CAN_BOFIE	bit	CAN_EIER,2	;  Bus-Off interrupt enable
170
CAN_EPVIE	bit	CAN_EIER,1	;  Error passive interrupt enable
171
CAN_EWGIE	bit	CAN_EIER,0	;  Error warning interrupt enable
172
CAN_TECR	label	CAN_P2		; CAN transmit error counter register
173
CAN_RECR	label	CAN_P3		; CAN receive error counter register
174
CAN_BTR1	label	CAN_P4		; CAN bit timing register 1
175
CAN_SJW		bfield	CAN_BTR1,6,2	;  Resynchronization jump width
176
CAN_BRP		bfield	CAN_BTR1,0,6	;  Baud rate prescaler
177
CAN_BTR2	label	CAN_P5		; CAN bit timing register 2
178
CAN_BS2		bfield	CAN_BTR2,4,4	;  Bit Segment 2
179
CAN_BS1		bfield	CAN_BTR2,0,4	;  Bit Segment 1
180
CAN_FMR1	label	CAN_P8		; CAN filter mode register 1
181
CAN_FMH3	bit	CAN_FMR1,7	;  Filter 3 mode high
182
CAN_FML3	bit	CAN_FMR1,6	;  Filter 3 mode low
183
CAN_FMH2	bit	CAN_FMR1,5	;  Filter 2 mode high
184
CAN_FML2	bit	CAN_FMR1,4	;  Filter 2 mode low
185
CAN_FMH1	bit	CAN_FMR1,3	;  Filter 1 mode high
186
CAN_FML1	bit	CAN_FMR1,2	;  Filter 1 mode low
187
CAN_FMH0	bit	CAN_FMR1,1	;  Filter 0 mode high
188
CAN_FML0	bit	CAN_FMR1,0	;  Filter 0 mode low
189
CAN_FMR2	label	CAN_P9		; CAN filter mode register 2
190
CAN_FMH5	bit	CAN_FMR2,3	;  Filter 5 mode high
191
CAN_FML5	bit	CAN_FMR2,2	;  Filter 5 mode low
192
CAN_FMH4	bit	CAN_FMR2,1	;  Filter 4 mode high
193
CAN_FML4	bit	CAN_FMR2,0	;  Filter 4 mode low
194
CAN_FCR1	label	CAN_PA		; CAN filter configuration register 1
195
CAN_FSC11	bit	CAN_FCR1,6	;  Filter 1 scale configuration
196
CAN_FSC10	bit	CAN_FCR1,5
197
CAN_FACT1	bit	CAN_FCR1,4	;  Filter 1 Active
198
CAN_FSC01	bit	CAN_FCR1,2	;  Filter 0 scale configuration
199
CAN_FSC00	bit	CAN_FCR1,1
200
CAN_FACT0	bit	CAN_FCR1,0	;  Filter 0 active
201
CAN_FCR2	label	CAN_PB
202
CAN_FSC31	bit	CAN_FCR2,6	;  Filter 3 scale configuration
203
CAN_FSC30	bit	CAN_FCR2,5
204
CAN_FACT3	bit	CAN_FCR2,4	;  Filter 3 Active
205
CAN_FSC21	bit	CAN_FCR2,2	;  Filter 2 scale configuration
206
CAN_FSC20	bit	CAN_FCR2,1
207
CAN_FACT2	bit	CAN_FCR2,0	;  Filter 2 active
208
CAN_FCR3	label	CAN_PC
209
CAN_FSC51	bit	CAN_FCR3,6	;  Filter 5 scale configuration
210
CAN_FSC50	bit	CAN_FCR3,5
211
CAN_FACT5	bit	CAN_FCR3,4	;  Filter 5 Active
212
CAN_FSC41	bit	CAN_FCR3,2	;  Filter 4 scale configuration
213
CAN_FSC40	bit	CAN_FCR3,1
214
CAN_FACT4	bit	CAN_FCR3,0	;  Filter 4 active
215
		; Rx Mailbox -> Page ?
216
CAN_MFMIR	label	CAN_P0		; CAN mailbox filter match index register
217
		endm
218
 
219
		restore
220
		endif			; __stm8sbecaninc