Jeg tæller indkommende pulser på RB0/INT og den interrupter og dette laver en simpel increment af en variabel, som i hovedloopet blot vises på et 4X7-segment LED display - det kører tilsyne- ladende fnt nok op til omkring 30kHz, hvor dis- playet går "bazerk" og viser nogle
1) 2-3 segmenter kraftigt lysende i et ciffer eller 2) et helt ciffer kraftig lysende eller 3) displayet slukker helt Når frekvense af pulserne sænkes igen kommer den IKKE tilbage i en normal funktion, men fryser eller slukker displayet helt.Jeg mener at kunne forstå hvor der begynder at gå galt ved stigende frekvens, idet jeg går ud fra, at det gentagne interrupt (trigget af de hurtige pulser) optager så meget tid, at displayfunktionen i hovedloopet ikke får tid til at opdatere displayet, men jeg synes det er underligt, at den af og til viser nogle få SEGMENTER i et ciffer - hvorfor ikke hele cifferet som i andre situationer - jeg sætter jo hele PORTB på én gang, og ikke de enkelte segmenter ?
Hvorfor går displayet til sidst helt ud og tilsyneladende kommer i et uendeligt loop, som kun kan afbrydes med MCLR ?
Nu kommer den i praksis aldrig over 10kHz, men vil typisk skulle operere helt nede fra 0 Hz, så jeg tester den manuelt med en FLIPFLOP som jeg bare setter/resetter - det kører fint så hurtigt jeg nu kan gøre det. Sætter jeg så en firkantgenerator på kører det også fint fra ca. 10 kHz og ned til ca. 200 Hz. (Så kan generatoren ikke gå længere ned) - her kører tælleren fint i et vilkårligt stykke tid, hvorefter displayet slukkes helt ! Kun MCLR kan få den til at tælle igen, og der er ikke noget klart "mønster" i hvor land tid den kører inden displayet slukker.
Har nogen ideer til, hvad jag kan gøre, for at finde fejlen ?
(Jeg ville prøve at simulere situationen i MPLAB, men har problemer med at lave en SCL-fil ! - se evt anden tråd)
Mvh KS