hallo jungs,
ich versuche über meinen atmega32 via infrarot daten an die serielle schnittstelle zu senden.empfänger ist der tsop1736.mit dem serout befehl
funktionierts!
Druckbare Version
hallo jungs,
ich versuche über meinen atmega32 via infrarot daten an die serielle schnittstelle zu senden.empfänger ist der tsop1736.mit dem serout befehl
funktionierts!
Hallo,
schau mal beim ASURO, da wird das auch so gemacht.
Plan kann man sich bei Arexx runterladen, wie das dann programmiert wird (Timer), ist in den Beispielen zu sehen,
Bei Bascom kann man die Daten dann einfach mit Print übertragen.
ich will meinen eigenen code benutzen und keine fertigen
wenn ich mit 1200 baud übertrage bedeutet das doch, dass ein bit 833mikrosekunden lang ist oder ?
Die Zeit, die der µC für die Schleifenbefehle braucht, mußt du aber schon bei den 833 µS mitrechnen.Zitat:
For Bitnummer = 7 To 0 Step -1 'mein zeichen
If zeichen.bitnummer = 0 Then Bit0 Else Bit1
Next
Ein timer im Baudraten-Bit-Takt wäre da schon sehr hilfreich.
daran liegt es > waitus 833 sind keine 833 sondern mehr.Zitat:
When the loop is set to 1, the minimum delay is 21 uS. In this case you can better use a NOP that generates 1 clock cycle delay.
At 4 MHz the minimum delay is 5 uS. So a waitus 3 will also generate 5 uS delay.
Above these values the delay will become accurate.....
eine routine für 8mhz :
Sub Wait_us_833()
$asm
ldi R17, $0A
Wgloop1:
ldi R18, $DD
Wgloop2:
dec R18
brne WGLOOP2
dec R17
brne WGLOOP1
ldi R17, $01
Wgloop3:
dec R17
brne WGLOOP3
Nop
$end Asm
End Sub