
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
> Danke war nur ne Frage habe das Multitasking versucht und keine einschränkungen beim reinen messen von Frequenzen bemerkt (mit Multitasking in betrieb ) vielleicht ist DCF ja ein Puffer ( bytes nötig ) für die DCF-funktionalität werden gleich eine ganze reihe bytes verwendet, da die uhrzeit ja während des einlesens ständig gepuffert und auf korrektheit geprüft werden muss, weil die systemuhr ja solange unbeeinflusst bleibt, bis klar is, dass die dekodierten daten richtig sind. es ist aber so, das der DCF-eingang bei pegelwechseln ständig interrupts auslöst, die wiederum systemroutinen anstossen, welche die inhalte all dieser register verändern. dies wirft natürlich die funktion von routinen, welche diese register "miss"brauchen, übern haufen. das dualtasking ist überdies auch ein kleiner schwindel, denn laufen beide tasks voll, dann läuft jeder nur mit halber kraft dessen, was basic an sich könnte. das KANN auch zum problem werden - muss jeder in seiner anwendung selbst sehen. pause-befehle fallen allerdings in einem reglenden programm aus! hier musst du künftig zeitmessungen mit dem 20-ms-timer vornhemen. du bekommst an dieser stelle noch mal von mir eine S19. diese beinhaltet die FREQ/5-routine und Dietmars BASIC-beschleuniger: S1220101A608B7523FDC810D1305CD0EE94F81CD0E70B668BA6927143CDCB6DCA10A268D S12301200EB685B77CB686B77D3F853F863FDC4F819CCD0E04A1542306CD0917CC0969484F S112014097D61DF6B7BED61DF7B7BFBDBD20E3DA S5030003F9 der quelli dazu: (der ordnung halber) ;Fuenftelt den Wert FREQ fuer BASIC und ermoeglicht so ;so eine Abfrage und Verarbeitung dessen alle 200 ms ;written by deahde927, 01.07.2005 org $101 lda #$08 sta $52 clr $dc rts brclr 6,$13,_handleST jsr $ee9 clra rts _handleST jsr $e70 lda $68 ora $69 beq _delb60 inc $dc lda $dc cmp #10 bne _exit lda $85 sta $7c lda $86 sta $7d clr $85 clr $86 _delb60 clr $dc _exit clra rts ; Hochoptimierte Routine zum Ausfuehren von BASIC-Programmen ; (c) Dietmar Harlos ADPC, 24. Januar 2002 rsp _loop: jsr $0e04 cmp #84 bls _noend jsr $0917 jmp $0969 _noend: lsla tax lda $1df6,x sta $be lda $1df7,x sta $bf jsr $bd bra _loop Freq/5 wird wie üblich mit sys &h101 gestartet, der beschleuniger nimmt seinen dienst per sys &h131 auf. wichtig ist, dass die aufrufe in dieser reihenfolge erfolgen und im weiteren programmverlauf keine weiteren sys-befehle mehr folgen. dies würde den beschleuniger beenden. das sollte reichen, und das reicht auch... der rest ist deine programmierkunst, die du dann nu wirklich selber machen musst. |
| Antwort schreiben |