Hallo Community,
ein verwertbares DTMF ist nach der Änderung der mcs.lib nur insoweit möglich, daß innerhalb einer Schleife DTMF-Burst's am OCA1-Port meines MEGA8 generiert werden.
Im kleinen Testprogramm (siehe Anhang) sieht man, daß innerhalb der Schleife 16 Burst's erzeugt werden.
Schade nur, daß die Pegel zwischen denen nicht reproduzierbar, also rein zufällig sind. (siehe Anhang)
Zwischen den Burst's möchte ich gerne noch reichlich Programmcode einfügen. Dazu ist es zwingend notwendig, daß die Pausen einen definierten Pegel haben, GND oder Vcc wäre erstmal unwichtig. Ich habe das mcs support vorgetragen und erfahren, dass die Timersteuerung das nicht zuläßt, doch mit einem Mega8A möglich wäre.
Ich habe das mal ausprobiert und versucht, den OCA1-Port (B.1) des Mega 8A nach einem Burst auf low zu zwingen, doch ohne Erfolg.
Die .DAT -Dateien der beiden Versionen habe ich mal verglichen und das Ergebnis ist im Anhang zu sehen.
Kann damit von euch jemand vielleicht etwas verwertbares herausfinden?
Gruß Rudi
------------------------------------------------------------------------------
'Programmname: DTMF out 1-15 aus DATA lesen auf MT8870.bas
'DTMF out 1-15 auf MT8870 Decoder-Board von LC Technology
'PORTB.1 OC1A output pin 15 ATMEGA8A
'-------------------------------------------------------
$regfile = "m8adef.dat"
$crystal = 12000000
$hwstack = 32
$swstack = 40
$framesize = 40
Enable Interrupts
Dim wert As byte
Dim q As Byte
Do
Restore Adressen
For q = 1 To 16
Read wert
Dtmfout wert , 50
Waitms 400
Next
waitms 500
Loop
End
Adressen:
Data 1,2,3,4,5,6,7,8,9,0,10,11,12,13,14,15
ein verwertbares DTMF ist nach der Änderung der mcs.lib nur insoweit möglich, daß innerhalb einer Schleife DTMF-Burst's am OCA1-Port meines MEGA8 generiert werden.
Im kleinen Testprogramm (siehe Anhang) sieht man, daß innerhalb der Schleife 16 Burst's erzeugt werden.
Schade nur, daß die Pegel zwischen denen nicht reproduzierbar, also rein zufällig sind. (siehe Anhang)
Zwischen den Burst's möchte ich gerne noch reichlich Programmcode einfügen. Dazu ist es zwingend notwendig, daß die Pausen einen definierten Pegel haben, GND oder Vcc wäre erstmal unwichtig. Ich habe das mcs support vorgetragen und erfahren, dass die Timersteuerung das nicht zuläßt, doch mit einem Mega8A möglich wäre.
Ich habe das mal ausprobiert und versucht, den OCA1-Port (B.1) des Mega 8A nach einem Burst auf low zu zwingen, doch ohne Erfolg.
Die .DAT -Dateien der beiden Versionen habe ich mal verglichen und das Ergebnis ist im Anhang zu sehen.
Kann damit von euch jemand vielleicht etwas verwertbares herausfinden?
Gruß Rudi
------------------------------------------------------------------------------
'Programmname: DTMF out 1-15 aus DATA lesen auf MT8870.bas
'DTMF out 1-15 auf MT8870 Decoder-Board von LC Technology
'PORTB.1 OC1A output pin 15 ATMEGA8A
'-------------------------------------------------------
$regfile = "m8adef.dat"
$crystal = 12000000
$hwstack = 32
$swstack = 40
$framesize = 40
Enable Interrupts
Dim wert As byte
Dim q As Byte
Do
Restore Adressen
For q = 1 To 16
Read wert
Dtmfout wert , 50
Waitms 400
Next
waitms 500
Loop
End
Adressen:
Data 1,2,3,4,5,6,7,8,9,0,10,11,12,13,14,15
Immer Glück haben ist fast wie können..