E
ericmar
Guest
Kære alle,
Jeg hv et spørgsmål her.Jeg er bare gad vide, hvordan at finjustere timingen af min forsinkelse, så jeg får præcis 1ms eller endda 1us.
For eksempel,
Hvis jeg bruger en 4.91MHz resonator, programmering af en PIC16F676 hjælp af Hi-Tech PICC compiler forsinkelse prøve kode.Wat har jeg brug for at ændre prøven koden, så jeg kan få nøjagtige forsinkelse?Jeg tror, at prøven kode definerer clock hastighed som 4MHz.Nedenfor er prøven kode:
Kode:/ *
* Delay funktioner
* Se delay.h for detaljer
*
* Sørg for, at denne kode er kompileret med fuld optimering!
* /# include "delay.h"void
DelayMs (unsigned char cnt)
(
# hvis XTAL_FREQ <= 2MHZ
do (
DelayUs (996);
) While (- cnt);
# endif# hvis XTAL_FREQ> 2MHZ
unsigned char i;
do (
i = 4;
do (
DelayUs (250);
) While (- i);
) While (- cnt);
# endif
)
Jeg hv et spørgsmål her.Jeg er bare gad vide, hvordan at finjustere timingen af min forsinkelse, så jeg får præcis 1ms eller endda 1us.
For eksempel,
Hvis jeg bruger en 4.91MHz resonator, programmering af en PIC16F676 hjælp af Hi-Tech PICC compiler forsinkelse prøve kode.Wat har jeg brug for at ændre prøven koden, så jeg kan få nøjagtige forsinkelse?Jeg tror, at prøven kode definerer clock hastighed som 4MHz.Nedenfor er prøven kode:
Kode:/ *
* Delay funktioner
* Se delay.h for detaljer
*
* Sørg for, at denne kode er kompileret med fuld optimering!
* /# include "delay.h"void
DelayMs (unsigned char cnt)
(
# hvis XTAL_FREQ <= 2MHZ
do (
DelayUs (996);
) While (- cnt);
# endif# hvis XTAL_FREQ> 2MHZ
unsigned char i;
do (
i = 4;
do (
DelayUs (250);
) While (- i);
) While (- cnt);
# endif
)