Moin Ladys und Gentlemens, ich brauche bitte dringend eure Hilfe!
Ich habe ein Programm in C# mit dem ich Daten aus dem Arbeitsspeicher auslese. Da die Daten statisch sind und sich nicht verändern, habe ich in einer Codetabelle feste Stadien vergeben. Diese Daten sende ich via USB an den Comport (Serialdaten) auf der Gegenseite wartet mein Atmega (AZ Delivery Nano) und bekommt den Datensatz rein und schaut, was reinkommt - springt dann in die jeweilige Routine und schaltetet die jeweilige LED (über ein Shiftregister und Treiber) ein. Bis hierher gibt es noch keien Probleme. Als Gegenprüfung habe ich die Shell / Putty dort funktioniert es super.
Nun habe ich mir ein WaveShare 2-CH UART To Ethernet Converter, Serial Port besorgt diesen habe ich auch erfolgreich in Betrieb genommen. Das aufschalten via C# und Putty sowie einem Sockettester läuft perfekt. Das bedeutet, das die Grundverkabelung und Einrichtung fehlerfrei verlaufen ist und ich in den nächsten Schritt gehen kann. Die Verkabelung des WaveShare 2-CH UART To Ethernet Converter zum Nano. Und hier fangen meine schlimmsten Probleme an ... eigentlich scheint es so einfach aber hier hört mein Wissen auf!
WaveShare 2-CH UART To Ethernet Converter (Shoplink)
WaveShare 2-CH UART To Ethernet Converter (Anleitung) Punkt: Working with Arduino
AZ-Nano V3-Board mit Atmega328 CH340 (Produkt)
AZ-Nano V3-Board mit Atmega328 CH340 (Pinout)
C# Beispiel 621 bedeutet LED an 622 LED aus am Register
Auszug aus C# //
Display All
Bascom Code
Display All
Sobald ich aber folgendes beschalte:
Nano GND -> GND ETH Modul
Nano 5V -> 5V ETH Modul
Nano TX -> RX ETH Modul
Nano RX -> TX ETH Modul
Nano D7 -> CFG0 ETH Modul
Nano RST -> RST1 ETH Modul
Jetzt fehlt mir in Gänze der weitere Schritt in Bascom ... Cfg muss ja irgendwie etwas machen und Reset auch! Ich habe nicht einen Ansatz wie ich das richtig verkabel und was mir in Bascom fehlt.
Die Routine funtzt über USB perfekt!
Unbenannt.JPG
Jedoch über das Lanmodul gibt es keinen Rückgabewert (was logisch ist weil wohl im Programm etwas fehlt und wie ich mich kenne falsch beschaltet)
Via Putty connecte ich mich auf das Lanmodul (via IP) (Grüne LED geht an) als Testroutine habe ich wieder den Wert "11" wenn der ü´ber Putty nun gesendet wird sagt der Atmega nun nichts mehr!
Der Bascom und C# Code ist verkürzt auf ein Register für die Lesbarkeit hier im Forum... ansonsten können die Register einfach hintergehängt werden dann kann man damit (ich habe es so) 64 LED's einzeln und gezielt ansteuern.
Ich würde mich freuen wenn mir jemand auf die Sprünge helfen könnte.
Vielen Dank
Ich habe ein Programm in C# mit dem ich Daten aus dem Arbeitsspeicher auslese. Da die Daten statisch sind und sich nicht verändern, habe ich in einer Codetabelle feste Stadien vergeben. Diese Daten sende ich via USB an den Comport (Serialdaten) auf der Gegenseite wartet mein Atmega (AZ Delivery Nano) und bekommt den Datensatz rein und schaut, was reinkommt - springt dann in die jeweilige Routine und schaltetet die jeweilige LED (über ein Shiftregister und Treiber) ein. Bis hierher gibt es noch keien Probleme. Als Gegenprüfung habe ich die Shell / Putty dort funktioniert es super.
Nun habe ich mir ein WaveShare 2-CH UART To Ethernet Converter, Serial Port besorgt diesen habe ich auch erfolgreich in Betrieb genommen. Das aufschalten via C# und Putty sowie einem Sockettester läuft perfekt. Das bedeutet, das die Grundverkabelung und Einrichtung fehlerfrei verlaufen ist und ich in den nächsten Schritt gehen kann. Die Verkabelung des WaveShare 2-CH UART To Ethernet Converter zum Nano. Und hier fangen meine schlimmsten Probleme an ... eigentlich scheint es so einfach aber hier hört mein Wissen auf!
WaveShare 2-CH UART To Ethernet Converter (Shoplink)
WaveShare 2-CH UART To Ethernet Converter (Anleitung) Punkt: Working with Arduino
AZ-Nano V3-Board mit Atmega328 CH340 (Produkt)
AZ-Nano V3-Board mit Atmega328 CH340 (Pinout)
C# Beispiel 621 bedeutet LED an 622 LED aus am Register
Auszug aus C# //
Source Code
- // Beispiel C#
- if (avtState == AvtState.Undefined)
- {
- if ((data.Bits & 0x2000) != 0)
- avtState = AvtState.Off;
- else if ((data.Bits & 0x2000) == 0)
- avtState = AvtState.On;
- }
- if ((data.hBits & 0x2000) != 0 && avtState == AvtState.Off)
- {
- serialPort1.Write("621\r");
- avtState = AvtState.On;
- Thread.Sleep(8);
- }
- else if ((data.hBits & 0x2000) == 0 && avtState == AvtState.On)
- {
- serialPort1.Write("622\r");
- avtState = AvtState.Off;
- Thread.Sleep(8);
- }
Bascom Code
Source Code
- '$regfile = "m168pdef.dat" 'Chipsatz
- $regfile = "m328pdef.dat"
- $crystal = 16000000 'Frequenz
- $baud = 57600 'Baudrate
- $hwstack = 100 'Speicher
- $swstack = 100 'Speicher
- $framesize = 100 'Speicher
- Config Portd.2 = Output 'Ausgang definieren für Shiftregister
- Config Portd.3 = Output 'Ausgang definieren für Shiftregister
- Config Portd.4 = Output 'Ausgang definieren für Shiftregister
- Config Portd.7 = Output ' CFG Pin für ETH Modul
- Config Serialin = Buffered , Size = 20 , Bytematch = 13
- Config Serialout = Buffered , Size = 20
- Dataout Alias Portd.2 'Ausgang betiteln
- Latch Alias Portd.3 'Ausgang betiteln
- Clk Alias Portd.4 'Ausgang betiteln
- Cfg Alias Portd.7 ' CFG für ETH Modul
- Dim Serialdaten As String * 20
- Dim Led1 As Byte
- Dim Neuer_befehl As Byte
- Enable Interrupts
- Do
- If Neuer_befehl = 1 Then
- Neuer_befehl = 0
- Input Serialdaten
- 'REGISTER 1
- Select Case Serialdaten
- 'LEDS EINSCHALTEN
- Case "11" : Print "Okay" : Led1.7 = 1 '
- Case "21" : Led1.6 = 1 '
- Case "31" : Led1.5 = 1 '
- Case "41" : Led1.4 = 1 '
- Case "51" : Led1.3 = 1 '
- Case "61" : Led1.2 = 1 '
- Case "71" : Led1.1 = 1 '
- Case "81" : Led1.0 = 1 '
- Case "12" : Led1.7 = 0 '
- Case "22" : Led1.6 = 0 '
- Case "32" : Led1.5 = 0 '
- Case "42" : Led1.4 = 0 '
- Case "52" : Led1.3 = 0 '
- Case "62" : Led1.2 = 0 '
- Case "72" : Led1.1 = 0 '
- Case "82" : Led1.0 = 0 '
- End Select
- Shiftout Dataout , Clk , Led1 , 1
- Set Latch : Reset Latch
- End If
- Loop
- End
- Serial0charmatch:
- Neuer_befehl = 1
- Return
Sobald ich aber folgendes beschalte:
Nano GND -> GND ETH Modul
Nano 5V -> 5V ETH Modul
Nano TX -> RX ETH Modul
Nano RX -> TX ETH Modul
Nano D7 -> CFG0 ETH Modul
Nano RST -> RST1 ETH Modul
Jetzt fehlt mir in Gänze der weitere Schritt in Bascom ... Cfg muss ja irgendwie etwas machen und Reset auch! Ich habe nicht einen Ansatz wie ich das richtig verkabel und was mir in Bascom fehlt.
Die Routine funtzt über USB perfekt!
Unbenannt.JPG
Jedoch über das Lanmodul gibt es keinen Rückgabewert (was logisch ist weil wohl im Programm etwas fehlt und wie ich mich kenne falsch beschaltet)
Via Putty connecte ich mich auf das Lanmodul (via IP) (Grüne LED geht an) als Testroutine habe ich wieder den Wert "11" wenn der ü´ber Putty nun gesendet wird sagt der Atmega nun nichts mehr!
Der Bascom und C# Code ist verkürzt auf ein Register für die Lesbarkeit hier im Forum... ansonsten können die Register einfach hintergehängt werden dann kann man damit (ich habe es so) 64 LED's einzeln und gezielt ansteuern.
Ich würde mich freuen wenn mir jemand auf die Sprünge helfen könnte.
Vielen Dank
The post was edited 10 times, last by escape.3d ().