N
nicko-391
Guest
Θέλω να μετρήσει το πλάτος του παλμού signal.I έγραψε this.but δίνει πάντα σταθερό πλάτος παλμού αν η συχνότητα είναι changed.What είναι το λάθος με αυτό; # # Include # include χρήση καθυστέρηση (clock = 8.000.000) # ασφάλειες HSPLL, NOWDT, NOPROTECT, βυθίσματος, λόγια, NOLVP, NODEBUG, USBDIV, CPUDIV1, VREGEN # Χρήση RS232 (baud = 9600, xmit = PIN_C6, ΟΚ = PIN_C7, λάθη ) στατική ανυπόγραφο int8 x, y, πρώην? στατική διάρκεια πλωτήρα? στατική char VT [5]? στατική Μ1 got_RE, got_P, οθόνη? # INT_CCP1 κενό ανίχνευση () {disable_interrupts (παγκόσμια)? αν (got_RE) {x = ccp_1? setup_CCP1 (CCP_CAPTURE_FE)? got_RE = FALSE? printf ("\ r% d \ n", x)?} else {y = ccp_1? διάρκεια = frexp (ccp_1, και πρώην)? = διάρκεια διάρκειας + y? setup_CCP1 (CCP_CAPTURE_RE)? got_RE = TRUE? printf ("\ r% d \ n", (yx))? got_P = TRUE?} clear_interrupt (INT_CCP1)? enable_interrupts (INT_CCP1)? enable_interrupts (GLOBAL)?} void main () {setup_ccp1 (CCP_CAPTURE_RE) ? setup_timer_1 (T1_EXTERNAL | T1_DIV_BY_2)? enable_interrupts (INT_CCP1)? enable_interrupts (παγκόσμια)? x = 0? y = 0? got_RE = TRUE? got_P = FALSE? ccp_1 = 0? ενώ (1) {αν (got_P) {ccp_1 = 0?}}}