goobelz
27.01.2006, 15:29
Hi,
ich stecke gerade voll in den Klausurvorbereitungen. und seit ein paar Stunden beschäftige ich mit folgendem Problem :(
Ein Timer soll so initialisiert werden, damit er unten abgebildetes Signal erzeugt. Das System
wird mit 5MHz getaktet. Die Initialisierungsroutine ist bis auf die Werte für die Compare-
Register fertig.
Berechnen Sie die fehlenden Werte und tragen diese ins Listing ein. Dokumentieren Sie Ihren
Lösungsweg.
Der Code:
// Timer3 initialisieren
void Timer3_init( void )
{
StructTC* timerbase3 = TCB3_BASE; // Basisadressse TC Block 1
StructPIO* piobaseA = PIOA_BASE; // Basisadresse PIO B
timerbase3->TC_CCR = TC_CLKDIS; // Disable Clock
// Initialize the mode of the timer 3
timerbase3->TC_CMR =
TC_ACPC_CLEAR_OUTPUT | //ACPC : Register C clear TIOA
TC_ACPA_SET_OUTPUT | //ACPA : Register A set TIOA
TC_WAVE | //WAVE : Waveform mode
TC_CPCTRG | //CPCTRG : Register C compare trigger enable
TC_CLKS_MCK2; //TCCLKS : MCKI / 2
// Initialize the counter:
timerbase3->TC_RA = ; //__
timerbase3->TC_RC = ; //__
// Start the timer :
timerbase3->TC_CCR = TC_CLKEN ;
timerbase3->TC_CCR = TC_SWTRG ;
}
Signal:
low jeweils 4ms
high 10 ms
MCKI = 5MHz
ICh hoffe Jemand kann mir weiterhelfen
mfg
goob
ich stecke gerade voll in den Klausurvorbereitungen. und seit ein paar Stunden beschäftige ich mit folgendem Problem :(
Ein Timer soll so initialisiert werden, damit er unten abgebildetes Signal erzeugt. Das System
wird mit 5MHz getaktet. Die Initialisierungsroutine ist bis auf die Werte für die Compare-
Register fertig.
Berechnen Sie die fehlenden Werte und tragen diese ins Listing ein. Dokumentieren Sie Ihren
Lösungsweg.
Der Code:
// Timer3 initialisieren
void Timer3_init( void )
{
StructTC* timerbase3 = TCB3_BASE; // Basisadressse TC Block 1
StructPIO* piobaseA = PIOA_BASE; // Basisadresse PIO B
timerbase3->TC_CCR = TC_CLKDIS; // Disable Clock
// Initialize the mode of the timer 3
timerbase3->TC_CMR =
TC_ACPC_CLEAR_OUTPUT | //ACPC : Register C clear TIOA
TC_ACPA_SET_OUTPUT | //ACPA : Register A set TIOA
TC_WAVE | //WAVE : Waveform mode
TC_CPCTRG | //CPCTRG : Register C compare trigger enable
TC_CLKS_MCK2; //TCCLKS : MCKI / 2
// Initialize the counter:
timerbase3->TC_RA = ; //__
timerbase3->TC_RC = ; //__
// Start the timer :
timerbase3->TC_CCR = TC_CLKEN ;
timerbase3->TC_CCR = TC_SWTRG ;
}
Signal:
low jeweils 4ms
high 10 ms
MCKI = 5MHz
ICh hoffe Jemand kann mir weiterhelfen
mfg
goob