marc1990
Just believe you can.
Hallo
Ik ben nu een tijd je bezig met het programeren van AVR maar doordat AVR voor USART tussen beide IC een magics kristal nodig zijn(14.7456 MHz).
kristal aan gesloten en parralen met de tweede IC gezet. en vervolgs de fuse bits ingesteld van beide IC's. Hierna de software geladen op de IC. helaas werkt deze nog niet. ik dacht dat ik ergens een programeer fout had gemaakt omdat ik het direct vrij complex maakt. Dus ging ik wat proberen maar kreeg het niet aan de gang(had LED's om te zien of iets ontvangen wordt).
Maar tot mij schik kon ik op een geven moment ook niet meer naar IC's schrijven nog lezen. dus ik dacht misschien dood maar naar het te vervangen met een ander IC werkt het nog steeds niet om te schrijven.
Nu denk ik dat het probleem hem in het kristal zit maar het vervelend is dat ik allen AVR heb die met een extern kristal werken en dus kan ik ze ook niet terug zetten naar de inter klok.
Ik hoop dat iemand kan verteld wat er mogelijk fout is.
Het betreft:
ATtiny2313
ATmega16
met sp12 -> http://expand.xs4all.nl/avr/programmer.html
Heb ook geprobeerd het kristal te meten door een ocsilcop er over te hangen maar hier zie ik niks op.
marc
Sorry voor de spelfouten
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
De kans is groot, dat je de fuse-bits op "externe oscillator" hebt gezet ipv. "extern kristal". Dat zijn 2 verschillende zaken.
Wat je kan doen, is een extern kloksignaal op de XTAL1-pin zetten, en dan proberen de fuses goed te krijgen. Zowat elke frequentie tussen 1MHz en 16MHz is bruikbaar.
klein is fijn
Moderator
Op 12 december 2008 19:11:21 schreef marc1990:
maar doordat AVR voor USART tussen beide IC een magics kristal nodig zijn(14.7456 MHz).
kristal aan gesloten en parralen met de tweede IC gezet.
Ten eerste, waarom heb je zo'n vreemde frequentie nodig, en ten tweede, je hebt 1 kristal op 2 uC's aangesloten? Dan vind ik het niet zo verbazend dat het niet werkt.
Nu denk ik dat het probleem hem in het kristal zit maar het vervelend is dat ik allen AVR heb die met een extern kristal werken en dus kan ik ze ook niet terug zetten naar de inter klok.
Nog een keer 'huh', want ik weet zeker dat de ATtiny2313 minstens twee interne oscilators heeft van 4 en 8MHz. Zelfs nog iets van 128kHz dacht ik.
Sorry voor de spelfouten
Slecht excuus. Lees je post voortaan eens na voordat je 'm post. De zinsbouw rammelt aan alle kanten.
marc1990
Just believe you can.
Op 12 december 2008 19:20:01 schreef klein is fijn:
[...]Ten eerste, waarom heb je zo'n vreemde frequentie nodig, en ten tweede, je hebt 1 kristal op 2 uC's aangesloten? Dan vind ik het niet zo verbazend dat het niet werkt.
Deze is nodig omdat je anders bijvoorbeeld geen 9600 krijgt maar 9610 wat voor fouten zorgt. het werkt eerst wel maar heb voor de zeker heid nu allen een IC verbonden met het kristal.
Op 12 december 2008 19:20:01 schreef klein is fijn:
[...]Nog een keer 'huh', want ik weet zeker dat de ATtiny2313 minstens twee interne oscilators heeft van 4 en 8MHz. Zelfs nog iets van 128kHz dacht ik.
Het probleem is dat ik hem niet terug kan zetten op die kristallen.
De kans is groot, dat je de fuse-bits op "externe oscillator" hebt gezet ipv. "extern kristal". Dat zijn 2 verschillende zaken.
Wat je kan doen, is een extern kloksignaal op de XTAL1-pin zetten, en dan proberen de fuses goed te krijgen. Zowat elke frequentie tussen 1MHz en 16MHz is bruikbaar.
Waarvan zal ik zo'n kloksignaal af kunnen krijgen?
marc
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Als je daar nog een AVR hebt die op z'n interne klok draait, kan je een PWM-kanaal op de hoogste snelheid laten draaien en dat als kloksignaal voor de anderen gebruiken.
Wat ook kan, is een paar logische poorten gebruiken om er een oscillator van te maken.
klein is fijn
Moderator
Op 12 december 2008 19:33:00 schreef pros:
Als je daar nog een AVR hebt die op z'n interne klok draait, kan je een PWM-kanaal op de hoogste snelheid laten draaien en dat als kloksignaal voor de anderen gebruiken.
AVR's (een ATtiny2313 tenminste) hebben toch gewoon een clock-out pin die je met fusebits aan kan zetten?
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Ja, inderdaad. Maar da's te gemakkelijk. 
(wakker worden, Pros)
@marc1990: met een 555 kan je ook wel iets fabriceren. Of met wat ander klein grut.
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Op 12 december 2008 19:27:39 schreef marc1990:
Deze is nodig omdat je anders bijvoorbeeld geen 9600 krijgt maar 9610 wat voor fouten zorgt.
Dat is een verschil van 0.1%, dat is geen enkele probleem bij asynchroon seriele commnunicatie. Als vuistregel: een afwijking van 1% (aan iedere kant) is nog OK.