| Auteur |
Bericht |
omaros_88
Geregistreerd op: 2-3-2006 Berichten: 34 Woonplaats:
|
Geplaatst: Di 23 Feb 2010, 12:37 Onderwerp: toggle |
|
|
Om de snelheid van een µC (24FJ64GB004) te testen (proteus) we het volgende programma:
toggle :
#include "p24fxxxx.h"
#include "ports.h"
void main(){
TRISA = 00000000000;
do{
PORTA = 00000000001;
PORTA = 00000000000;
}while(1);
}
de bedoeling is dus om een uitgangspoort zo snel mogelijk te zien toggelen, hier mee verkrijgen we echter een veel te lage frequentie(orde kHz'en), in vergelijking met de opgegeven frequentie( 32 Mhz) . Is er een mogelijkheid om instructies uit te sparen?
|
|
| Naar boven |
|
smd_lover
Geregistreerd op: 24-3-2009 Berichten: 411 Woonplaats: prov Groningen
|
Geplaatst: Di 23 Feb 2010, 12:53 Onderwerp: |
|
|
| Heb je de processor kloksnelheid goed ingesteld?
|
|
| Naar boven |
|
omaros_88
Geregistreerd op: 2-3-2006 Berichten: 34 Woonplaats:
|
Geplaatst: Di 23 Feb 2010, 13:04 Onderwerp: |
|
|
| wel neen, daar zijn we nog op aan het zoeken. maar ik vraag gewoon even al of ons programma korter kan.
|
|
| Naar boven |
|
smd_lover
Geregistreerd op: 24-3-2009 Berichten: 411 Woonplaats: prov Groningen
|
Geplaatst: Di 23 Feb 2010, 13:23 Onderwerp: |
|
|
Is dit een schoolvraag?
Je kunt de ASM listing gaan bekijken en zien hoeveel instructies er worden gebruikt voor deze toggle.
Je kunt in de PIC datasheet vinden hoeveel klokpulsen de controller doet over de ASM instructies. Dit staat steeds vermeld bij de uitleg over de desbetreffende instructie.
Zo kun je precies uitrekenen wat de uitgangsfrequentie wordt.
|
|
| Naar boven |
|
omaros_88
Geregistreerd op: 2-3-2006 Berichten: 34 Woonplaats:
|
Geplaatst: Di 23 Feb 2010, 14:00 Onderwerp: |
|
|
Clock switching is enabled only when FCKSM1 is
programmed (‘0’). The FSCM is enabled only when the
FCKSM<1> bits are both programmed (‘00’).
dat staat in de data sheet om de snelheid vn de clock constant te houden maar hoe zet ik dit om naar code , is er zo nergens een lib waar we alle functies vinden?
|
|
| Naar boven |
|