Archiv verlassen und diese Seite im Standarddesign anzeigen : code über infrarot
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!
linux_80
07.05.2007, 22:06
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 ?
For Bitnummer = 7 To 0 Step -1 'mein zeichen 
If zeichen.bitnummer = 0 Then Bit0 Else Bit1 
Next
Die Zeit, die der µC für die Schleifenbefehle braucht, mußt du aber schon bei den 833 µS mitrechnen. 
Ein timer im Baudraten-Bit-Takt wäre da schon sehr hilfreich.
robby-fant
08.05.2007, 17:49
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.....
daran liegt es > waitus 833 sind keine 833 sondern  mehr.
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
 
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.