Jo, det stämmer att timern i sig hela tider kommer att ha korrekta värden, men om anropet sker på en 2Tcy instruktion så fördröjs det som skall hända vid timerinterupet med en Tcy. I snitt stämmer det exakt, men ger ett gitter på utgången på 1 Tcy som jag inte begriper hur man skall komma ifrån med annat än göra NOP fyllda ballanserade slingor, men kör man en 16F med 20MHz så är gittret bara 200ns, oftast kan man leva med det naturligtvis, men hade problem när jag försökte generera VBS signaler. Där blev gittret synligt tyvärr 0,4% av linjetiden i gitter märks - det fungerade och gick se vad som visades, men det såg oroligt ut.
Jag jagade störningar och for runt med kondensatorer och hade mig innan jag insåg att "felet" inte var hårdvara utan en korkad programerare...
Det problemet löste jag genom att köra packade rutiner på de linjer som det skulle visas bild på och på de helsvarta linjerna låta jittret vara ( så att man fick någon processortid över att räkna under). På helsvarta linjer så syns inte jittret alls.
PIC vs AVR, jag har kommit till insikt!
- bengt-re
- EF Sponsor
- Inlägg: 4829
- Blev medlem: 4 april 2005, 16:18:59
- Skype: bengt-re
- Ort: Söder om söder
- Kontakt:
Aha, jo det borde man ju kunna - timerns värde är ju känt och är värdet +1 så var det en 2Tcy instruktion och det är ju bara at tkompensera för. Att det blir 5Tcy i extra latency spelar ju ingen som helst roll eftersom det är interuptrutinen som själv genererar signalerna. Fan, vad korkat att inte tänka på det.... *suck* Jag är ingen programmerare. Varför tänkte jag inte på det för? Satt i många timmar och strulade och försökte komma på en lösning.... Man blir hemmablind antar jag....
