Hallo,
um den Portc und Portd einzuschalten, verwende ich
Alles anzeigen
Frage ist, kann es sein, das Val von Bascom die Beschleunigung reduziert?
Denn, ich gebe in den Array3 und in Array4 die Zahlen 0 und 255 abwechselnd in 100ms Takt und der AVR kommt nicht mit der Geschwindigkeit hinterher.
Was sagt ihr dazu?
danke im Voraus
Katip
um den Portc und Portd einzuschalten, verwende ich
BASCOM-Quellcode
- $regfile = "m32def.dat" ' specify the used micro
- $crystal = 16000000 ' used crystal frequency
- $baud = 19200 ' use baud rate
- $hwstack = 128 ' default use 32 for the hardware stack
- $swstack = 128 ' default use 10 for the SW stack
- $framesize = 128 ' default use 40 for the frame space
- $lib "datetime.lbx"
- Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4 , Noss = 0
- Spiinit
- Enable Interrupts
- W5500_nreset Alias Portd.7
- Config Pind.7 = Output
- Reset W5500_nreset
- Waitms 5
- Set W5500_nreset
- Waitms 500
- Config Tcpip = Noint , Mac = 0.8.&Hdc.77.05.11 , Ip = 192.168.178.29 , Submask = 255.255.255.0 , Gateway = 192.168.178.1 , Localport = 2005 , Chip = W5500 , Spi = 1 , Cs = Portb.4
- Config Portd = Output
- Config Portc = Output 'Für alle Ausgänge, in dem Fall sind es die LED's
- Do
- Start Watchdog
- For Idx = 0 To 3
- Result = Socketstat(idx , 0) ' get status
- Select Case Result
- Case Sock_established
- Ss = "Firstconnect|Laufschrift ist verbunden mit |" + Str(deviceadresse) + "|" + Channel1 + "|" + Channel2 + "|" + Channel3 + "|" + Channel4 + "|" + Channel5 + "|" + Channel6 + "|" + Channel7 + "|" + Channel8 + "|" + Str(timeout_ausgeloest)
- '+ "|{013}{010}"
- If Flags.idx = 0 Then
- Flags.idx = 1
- Result = Tcpwritestr(idx , Ss , 255 )
- End If
- Result = Socketstat(idx , Sel_recv) ' get number of bytes waiting
- If Result > 0 Then
- Do
- Result = Tcpread(idx , S)
- Tmp = Split(s , Command_array(1) , "|")
- Select Case Command_array(2)
- Case "1"
- Portc = Val(command_array(3)) '<-- in der Array3 steht die Binärzahl für die Ausgänge von (0-255)
- Portd = Val(command_array(4)) '<-- in der Array4 steht die Binärzahl für die Ausgänge von (0-255)
- Case Else
- End Select
- Reset Watchdog
- Loop Until S = ""
- End If
- Case Sock_close_wait
- Closesocket Idx
- Case Sock_closed
- Bclient = Getsocket(idx , Sock_stream , 2005 , 0) ' get socket for server mode, specify port 5000
- Socketlisten Idx
- Flags.idx = 0
- Case Sock_listen
- Case Else
- End Select
- Next
- Reset Watchdog
- Loop
Frage ist, kann es sein, das Val von Bascom die Beschleunigung reduziert?
Denn, ich gebe in den Array3 und in Array4 die Zahlen 0 und 255 abwechselnd in 100ms Takt und der AVR kommt nicht mit der Geschwindigkeit hinterher.
Was sagt ihr dazu?
danke im Voraus
Katip