Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Frekvencmetar u PB. Nikako da ozivi
#8
Ne koriste se prekidi tako. Možeš ti da setuješ i resetuješ INTCON i PIE koliko hoćeš, kad mikro ne zna ništa o tome. U PIC BASIC-u se prekidi koriste na dva načina; ili se piše asemblerski podprogram za obradu prekida, ili se koristi komanda ON INTERRUPT GOTO. Prvi način je najbrži i najteži ako ne znaš asembler. Drugi način je mnogo prostiji ali malo usporava program. Kad ubaciš komandu ON INTERRUPT kompajler iza svake tvoje instrukcije ubacuje svoju kojom proverava da li je došlo do nekog prekida, pa ako jeste onda skače na rutinu obrade prekida koju si mu napisao.

Grešku si napravio upravo sa LCDOUT komandom jer si napisao:
Code:
lcdout $FE, $80, "BROJ=",#period
a trebalo je:
Code:
lcdout $FE, $1, "BROJ=",#period
čime bi obrisao displej i upisao nov podatak ili:
Code:
lcdout $FE, $80, "BROJ=",#period, "     "
čime bi prepisao eventualno đubre koje ti se prikazuje na displeju ako ga ne brišeš nego samo pišeš preko, jer bilo šta što se ne prepiše ostaje prikazano. To si verovatno i video na displeju, pa si mislio da program ne radi. Ja ovaj drugi način više koristim ako mogu jer često brisanje displeja dovodi do treperenja istog.

Inače onaj program ne zahteva nikakve prekide. Radi otprilike ovako:
Ako posmatraš od labele reset ovde se program vrti u brzoj petlji i čeka silaznu ivicu nekog signala. Kad se to desi, capture postaje 1, izlazi se iz petlje. U tajmer se upisuju nule i skače se na mainloop gde se program ponovo zaglavi u petlji i čeka capture, dok tajmer polako napreduje. Kad se desi capture, podatak se izvuče iz CCPR1 i prosledi na displej, što može da traje i pola sata nebitno je. Posle prikaza očisti se capture flag i ponovo uđe u reset petlju i čeka nova ivica signala. Ono upisivanje 64535 nisam siguran čemu služi, daje 1000 us ili 1ms do overflow-a, ali ovde ne vidim svrhu jer program radi (probao sam u proteusu) i bez toga. Inače program ne meri frekvenciju već periodu signala od nekoliko us do 65535 us.
Reply


Messages In This Thread
Frekvencmetar u PB. Nikako da ozivi - by MILANNN - 10-11-2020, 08:31 AM
RE: Frekvencmetar u PB. Nikako da ozivi - by misamilanovic - 10-18-2020, 08:05 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)