P
Pete
Guest
Lep pozdrav vsem:
Jaz sem eksperimentirati o merilnih sam impulz in izmerjena vrednost prikaže v binarni, kot prikazano v portd z 8 LED diod.Seveda časa sem rabil, je 16bit, ampak ne vem še, kako prikazati v 16 LED z 2 pristanišč.Tudi, širino impulza I vložek je celo število ali vrednost celo od 1usec do 50usec.
Kaj narobe z mojo kodo spodaj?Pričakujem, da če bom input 1usec impulzov, bo LED brati 00.000.001, za 2 usec 00.000.010, za 3 usec 00.000.011, za 4usec
00000100, itd ..To ne prikaže na ta način in sem zbegan, kako umerjanje to, ali je moja koda napačna.Potrebujete vašo pomoč / pripombe.Hvala .../ / Nič prekinitev metoda
dolgo pulse_width;
main ()
(
trisb0 = 1, / / da portb0 input
trisd = 0x00, / / da portd output
portd = 0;
while (1)
(
setup_timer_1 (T1_DISABLED);
set_timer1 (0) / / do preobremenitev v 51us
while (! input (PIN_B0));
setup_timer_1 (T1_INTERNAL);
while (input (PIN_B0));
setup_timer_1 (T1_DISABLED);
pulse_width = get_timer1 ();
PORTD = pulse_width;
)
)
Jaz sem eksperimentirati o merilnih sam impulz in izmerjena vrednost prikaže v binarni, kot prikazano v portd z 8 LED diod.Seveda časa sem rabil, je 16bit, ampak ne vem še, kako prikazati v 16 LED z 2 pristanišč.Tudi, širino impulza I vložek je celo število ali vrednost celo od 1usec do 50usec.
Kaj narobe z mojo kodo spodaj?Pričakujem, da če bom input 1usec impulzov, bo LED brati 00.000.001, za 2 usec 00.000.010, za 3 usec 00.000.011, za 4usec
00000100, itd ..To ne prikaže na ta način in sem zbegan, kako umerjanje to, ali je moja koda napačna.Potrebujete vašo pomoč / pripombe.Hvala .../ / Nič prekinitev metoda
dolgo pulse_width;
main ()
(
trisb0 = 1, / / da portb0 input
trisd = 0x00, / / da portd output
portd = 0;
while (1)
(
setup_timer_1 (T1_DISABLED);
set_timer1 (0) / / do preobremenitev v 51us
while (! input (PIN_B0));
setup_timer_1 (T1_INTERNAL);
while (input (PIN_B0));
setup_timer_1 (T1_DISABLED);
pulse_width = get_timer1 ();
PORTD = pulse_width;
)
)