4 output mode, 4 initialization/application information, 1 code example – Motorola ColdFire MCF5281 User Manual

Page 401: 4 output mode -9, 4 initialization/application information -9, 1 code example -9

Advertising
background image

DMA Timers (DTIM0–DTIM3)

Freescale Semiconductor

21-9

If the free run/restart bit (DTMRn[FRR]) is set, a new count starts. If it is clear, the timer keeps running.

21.3.4

Output Mode

When a timer reaches the reference value selected by DTRR, it can send an output signal on DTOUTn.
DTOUTn can be an active-low pulse or a toggle of the current output, as selected by the DTMRn[OM] bit.

21.4

Initialization/Application Information

The general-purpose timer modules typically, but not necessarily, follow this program order:

The DTMRn and DTXMRn registers are configured for the desired function and behavior.

— Count and compare to a reference value stored in the DTRRn register

— Capture the timer value on an edge detected on DTINn

— Configure DTOUTn output mode

— Increment counter by 1 or by 65,537 (16-bit mode)

— Enable/disable interrupt or DMA request on counter reference match or capture edge

The DTMRn[CLK] register is configured to select the clock source to be routed to the prescaler.

— Internal bus clock (can be divided by 1 or 16)

— DTINn, the maximum value of DTINn is 1/5 of the internal bus clock, as described in the

device’s electrical characteristics

NOTE

DTINn may not be configured as a clock source when the timer capture
mode is selected or indeterminate operation results.

The 8-bit DTMRn[PS] prescaler value is set.

Using DTMRn[RST], counter is cleared and started.

Timer events are managed with an interrupt service routine, a DMA request, or by a software
polling mechanism.

21.4.1

Code Example

The following code provides an example of how to initialize and use DMA Timer0 for counting time-out
periods.

DTMR0 EQU IPSBARx+0x400 ;Timer0 mode register

DTMR1 EQU IPSBARx+0x440 ;Timer1 mode register

DTRR0 EQU IPSBARx+0x404 ;Timer0 reference register

DTRR1 EQU IPSBARx+0x444 ;Timer1 reference register

DTCR0 EQU IPSBARx+0x408 ;Timer0 capture register

DTCR1 EQU IPSBARx+0x448 ;Timer1 capture register

DTCN0 EQU IPSBARx+0x40C ;Timer0 counter register

DTCN1 EQU IPSBARx+0x44C ;Timer1 counter register

DTER0 EQU IPSBARx+0x403 ;Timer0 event register

DTER1 EQU IPSBARx+0x443 ;Timer1 event register

* TMR0 is defined as: *

*[PS] = 0xFF,

divide clock by 256

MCF5282 and MCF5216 ColdFire Microcontroller User’s Manual, Rev. 3

Advertising
This manual is related to the following products: