Rabulea Sergiu Postat Septembrie 3, 2011 Autor Partajează Postat Septembrie 3, 2011 M-am lovit de o problema cu citirea, calculul si afisarea unei frecvente. Problema nu stiu unde sa o localizez, ea apare la afisare, imi afisaeaza porcarii pe display, nicidecum frecventa masurata. Eu folosesc la captura un modulul CCP dintr-un 16F877 si la calcule un 18F452, comunic intre ele pe SPI. partea de cod ce se ocupa de captura: intrerupere:If TMR1IF = 1 ThenInc timerovlTMR1IF = 0ElseIf CCP1IF = 1 Thentimersend.LowByte = CCPR1L - timer.LowBytetimer.LowByte = CCPR1Ltimersend.HighByte = CCPR1H - timer.HighBytetimer.HighByte = CCPR1Htimerovlsend = timerovl - timerovl2timerovl2 = timerovl CCP1IF = 0ElseIf SSPIF = 1 Thenreceptor = SSPBUFSSPIF = 0EndIfContext Restoresi partea de cod care se ocupa de calculul frecventei. pic2send = 1GoSub pic2DelayMS 10pic2send = 2GoSub pic2timer.LowByte = pic2recDelayMS 10pic2send = 3GoSub pic2timer.HighByte = pic2recDelayMS 10pic2send = 0GoSub pic2timerovl = pic2recmedium.Byte0 = timer.LowBytemedium.Byte1 = timer.HighBytemedium.Byte2 = timerovlfreqfp = mediumfreqfp = freqfp * 0.2freqfp = 1 / freqfpfreqfp = freqfp * 10000Print At 1, 5, Dec freqfp Va rog sa ma ajutati, daca se poate, in rezolvarea acestei probleme. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum