📄 ccu6.lst
字号:
213 1 /// - T12 modulation for output COUT62 is enabled
214 1 /// - T13 modulation for output COUT62 is disabled
215 1 /// - the trap functionality of the pin COUT62 is enabled
216 1 /// - the compare output COUT62 drives passive level while CC62ST is '1'
217 1 /// - the passive level of the output COUT62 is '0'
218 1 /// - dead time generation is enabled
219 1
220 1 /// - generation interrupt on flag ICC62R is disabled
221 1 /// - generation interrupt on flag ICC62F is disabled
222 1
223 1 CCU6_CC62SR = 0x03E8; // load CCU6 capture/compare shadow register
224 1 // for channel 2
225 1
226 1 /// -----------------------------------------------------------------------
227 1 /// Configuration of CCU6 Channel 3:
228 1 /// -----------------------------------------------------------------------
229 1 /// - alternate output function COUT63 for the PWM signal generated by T13
230 1 /// is enabled
231 1 /// - the trap functionality of the pin COUT63 is disabled
232 1 /// - the compare output COUT63 drives passive level while CC63ST is '0'
233 1 /// - the passive level of the output COUT63 is '0'
234 1 /// - T13 output is not inverted
235 1
236 1
237 1 CCU6_CC63SR = 0x07D0; // load CCU6 capture/compare shadow register
238 1 // for channel 3
239 1
240 1
241 1 CCU6_T12DTC = 0x0701; // load CCU6 dead time control register for
C166 COMPILER V6.02, CCU6 08/11/2006 09:36:17 PAGE 5
242 1 // timer T12
243 1
244 1 CCU6_T12MSEL = 0x0333; // load CCU6 T12 campture/compare mode
245 1 // select register
246 1
247 1 CCU6_CMPSTAT = 0x2A00; // load CCU6 compare status register
248 1
249 1 CCU6_PSLR = 0x0000; // load CCU6 passive state level register
250 1
251 1 CCU6_MODCTR = 0x803F; // load CCU6 modulation control register
252 1
253 1 CCU6_MCMOUTS = 0x0000; // load CCU6 multi channel mode output
254 1 // control register
255 1
256 1 CCU6_MCMCTR = 0x0000; // load CCU6 multi channel mode control
257 1 // register
258 1
259 1 /// - enable shadow transfer to T12 and T13
260 1 CCU6_TCTR4 = 0x4040; // load CCU6 timer control register 4
261 1
262 1 /// -----------------------------------------------------------------------
263 1 /// Configuration of CCU6 trap control:
264 1 /// -----------------------------------------------------------------------
265 1 /// - a trap can be generated by SW or by rising edge on #CTRAP
266 1 /// - the trap state is left when a zero-match of T12 (while counting up)
267 1 /// is detected (synchronization to T12)
268 1 /// - bit TRPF is automatically cleared by HW (according to TRPPEN, TRPM0
269 1 /// and TRPM1)
270 1 /// - trap interrupt is enabled
271 1
272 1
273 1 CCU6_TRPCTR = 0xBF00; // load CCU6 trap control register
274 1
275 1 /// -----------------------------------------------------------------------
276 1 /// Configuration of CCU6 interrupt control:
277 1 /// -----------------------------------------------------------------------
278 1 /// - for channel 0 interrupts is node I2 selected
279 1 /// - for channel 1 interrupts is node I2 selected
280 1 /// - for channel 2 interrupts is node I2 selected
281 1 /// - for correct hall event interrupt is node I2 selected
282 1 /// - for error interrupts is node I2 selected
283 1 /// - for T12 interrupts is node I2 selected
284 1 /// - for T13 interrupts is node I2 selected
285 1
286 1
287 1 CCU6_INP = 0x2AAA; // load CCU6 capture/compare interrupt node
288 1 // pointer register
289 1
290 1 CCU6_IEN = 0x04C0; // load CCU6 capture/compare interrupt
291 1 // enable register
292 1
293 1
294 1 /// -----------------------------------------------------------------------
295 1 /// Configuration of the used CCU6 Channel Port Pins:
296 1 /// -----------------------------------------------------------------------
297 1 /// - P1L.0 is used for CAPCOM6 output (CC60)
298 1 /// - P1L.2 is used for CAPCOM6 output (CC61)
299 1 /// - P1L.4 is used for CAPCOM6 output (CC62)
300 1 /// - P1L.1 is used for CAPCOM6 output (COUT60)
301 1 /// - P1L.3 is used for CAPCOM6 output (COUT61)
302 1 /// - P1L.5 is used for CAPCOM6 output (COUT62)
303 1 /// - P1L.6 is used for CAPCOM6 output (COUT63)
C166 COMPILER V6.02, CCU6 08/11/2006 09:36:17 PAGE 6
304 1 /// - P1L.7 is used for CAPCOM6 input (#CTRAP)
305 1
306 1 ALTSEL0P1L |= 0x007F; // select alternate output function
307 1 P1L = (P1L & ~(uword)0x007F) | 0x007F; //set data register
308 1 DP1L = (DP1L & ~(uword)0x007F) | 0x007F; //set direction register
309 1
310 1 /// -----------------------------------------------------------------------
311 1 /// Configuration of the used CCU6 Channels Interrupts:
312 1 /// -----------------------------------------------------------------------
313 1 /// NodeI2 service request node configuration:
314 1 /// - NodeI2 interrupt priority level (ILVL) = 12
315 1 /// - NodeI2 interrupt group level (GLVL) = 1
316 1 /// - NodeI2 group priority extension (GPX) = 0
317 1
318 1 CCU6_T12IC = 0x0071;
319 1
320 1
321 1
322 1
323 1 CCU6_TCTR4 = 0x0202; // load CCU6 timer control register 4
324 1
325 1 // USER CODE BEGIN (Init,3)
326 1
327 1 // USER CODE END
328 1
329 1 } // End of function CCU6_vInit
330
331
332 //****************************************************************************
333 // @Function void CCU6_viNodeI2(void)
334 //
335 //----------------------------------------------------------------------------
336 // @Description This is the interrupt service routine for the CCU6 node I2.
337 // If the content of the corresponding compare timer
338 // (configurable) equals the content of the capture/compare
339 // register or if a capture event occurs at the associated
340 // port pin, the interrupt request flag is set and an
341 // interrupt is triggered (only if enabled).
342 // Please note that you have to add application specific code
343 // to this function.
344 //
345 //----------------------------------------------------------------------------
346 // @Returnvalue None
347 //
348 //----------------------------------------------------------------------------
349 // @Parameters None
350 //
351 //----------------------------------------------------------------------------
352 // @Date 2006-8-3
353 //
354 //****************************************************************************
355
356 // USER CODE BEGIN (NodeI2,1)
357
358 // USER CODE END
359
360 void CCU6_viNodeI2(void) interrupt CCU6_NodeI2_INT
361 {
362 1 // USER CODE BEGIN (NodeI2,2)
363 1
364 1 // USER CODE END
365 1
C166 COMPILER V6.02, CCU6 08/11/2006 09:36:17 PAGE 7
366 1 if(CCU6_IS & 0x0040) // if CCU6_IS_T12OM
367 1 {
368 2 // timer T12 one match detection
369 2
370 2 // USER CODE BEGIN (NodeI2,20)
371 2
372 2 // USER CODE END
373 2
374 2 CCU6_ISR = 0x0040; // clear flag CCU6_IS_T12OM
375 2 }
376 1
377 1 if(CCU6_IS & 0x0080) // if CCU6_IS_T12PM
378 1 {
379 2 // timer T12 period match detection
380 2
381 2 // USER CODE BEGIN (NodeI2,19)
382 2
383 2 // USER CODE END
384 2
385 2 CCU6_ISR = 0x0080; // clear flag CCU6_IS_T12PM
386 2 }
387 1
388 1 if(CCU6_IS & 0x0400) // if CCU6_IS_TRPF
389 1 {
390 2 // trap detection
391 2
392 2 // USER CODE BEGIN (NodeI2,17)
393 2
394 2 // USER CODE END
395 2
396 2 CCU6_ISR = 0x0400; // clear flag CCU6_IS_TRPF
397 2 }
398 1
399 1
400 1 } // End of function CCU6_viNodeI2
401
402
403
404
405 // USER CODE BEGIN (CCU6_General,10)
406
407 // USER CODE END
408
MODULE INFORMATION: INITIALIZED UNINITIALIZED
CODE SIZE = 242 --------
NEAR-CONST SIZE = -------- --------
FAR-CONST SIZE = -------- --------
HUGE-CONST SIZE = -------- --------
XHUGE-CONST SIZE = -------- --------
NEAR-DATA SIZE = -------- --------
FAR-DATA SIZE = -------- --------
XHUGE-DATA SIZE = -------- --------
IDATA-DATA SIZE = -------- --------
SDATA-DATA SIZE = -------- --------
BDATA-DATA SIZE = -------- --------
HUGE-DATA SIZE = -------- --------
BIT SIZE = -------- --------
INIT'L SIZE = -------- --------
END OF MODULE INFORMATION.
C166 COMPILER V6.02, CCU6 08/11/2006 09:36:17 PAGE 8
C166 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -