Mit dem folgenden Code
dreht sich n nettes Herzchen beim Nachbarn
an der Hauswand![]()
Code:$regfile = "m8def.dat" $crystal = 16000000 $hwstack = 30 ' default use 32 for the hardware stack $swstack = 50 ' default use 10 for the SW stack $framesize = 50 $baud = 250000 Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 2 , Databits = 8 Dim A_byte(18) As Byte Dim Countbyte1 As Byte Dim Flag(9) As Byte Led Alias Portd.7 Config Led = Output Uart_tx Alias Portd.1 Config Uart_tx = Output 485_rw Alias Portd.4 Config 485_rw = Output 485_rw = 1 A_byte(1) = 199 A_byte(2) = 128 A_byte(3) = 61 A_byte(4) = 1 A_byte(5) = 1 A_byte(6) = 1 A_byte(7) = 1 A_byte(8) = 1 A_byte(9) = 0 A_byte(10) = 0 A_byte(11) = 0 A_byte(12) = 250 A_byte(13) = 0 A_byte(14) = 0 A_byte(15) = 0 A_byte(16) = 0 A_byte(3) = A_byte(3) * 2 Do If A_byte(3) > 252 Then A_byte(3) = 0 Ucsrb = Ucsrb And &B11100111 Reset Uart_tx Waitus 95 Set Uart_tx Ucsrb = Ucsrb Or &B00011000 Waitus 44 For Countbyte1 = 1 To 16 Udr = A_byte(countbyte1) Do Loop Until Ucsra.txc = 1 Reset Ucsra.txc Waitus 44 Next Waitms 100 Toggle Led If Flag(8) = 0 Then ' rotation A_byte(8) = A_byte(8) + 1 Else A_byte(8) = 0 Flag(8) = 0 End If If Flag(6) = 0 Then A_byte(6) = A_byte(6) + 3 Else A_byte(6) = A_byte(6) - 3 End If If Flag(7) = 0 Then A_byte(7) = A_byte(7) + 2 Else A_byte(7) = A_byte(7) - 2 End If For Countbyte1 = 6 To 12 If A_byte(countbyte1) > 127 Then Flag(countbyte1) = 1 If A_byte(countbyte1) < 5 Then Flag(countbyte1) = 0 Next Loop








Zitieren

Lesezeichen