oder : Was hab ich da wieder versaubeutelt ?
Erstens : Ich freu mich richtig das geniale freundlich kompetente "Sammelsorium" ( Echt nett gemeint) an Leuten wiedergefunden zu haben .
Hab auch schon wieder viel gelesen und so manchen Schlag an die Stirn ausgeführt mit dem Gedanken --- Hätteste auch selber drauf kommen können . Danke dafür !
Zu meinem Problem hab ich leider nichts gefunden . Also die Frage :
Hab nen 16*2 Display am Arduino nano V3 , der steuert ne menge sachen unter anderem auch ne 8Kanal Relaisplatine . Nu hab ich viel gefunden das die Störungen verursacht und viel in diese Richtung gearbeitet - nix , das Problem ist , das nach ner gewissen Zeit ,manchmal nach 5 MIn manchmal nach ner halben Stunde auf dem Display nur noch sinnloser Zeichenwirrwar erscheint . Alle Funktionen laufen aber perfekt weiter .
Verschidene Displays - keine Änderung .
Irgendwann hab ich mal den Timer rausgeworfen und die Zeit mit ner Schleife hochgezählt ( Zeit muss nur die Laufzeit anzeigen , also keine Uhrzeit ) und oh Wunder , alles geht perfekt .
Da das mein erster Einsatz eines Timers ist , denk ich das ich da was nicht begriffen habe was im Buch steht . Falls das doch richtig ist was ich im Code geschrieben habe , kann es Hardwareprobleme geben ? Mit nem Uno passiert genau das gleiche , aber es sind beides Chinas .
Habe bei diesen ganzen Tests auch mal alles rausgenommen was nicht mit der Anzeige zu tun hat , auch da tritt das Phänomen auf .
Hier mal der Minicode zum Test der Zeitanzeige
Alles anzeigen
Besten Dank schonmal ...
Gruß Bernd
Erstens : Ich freu mich richtig das geniale freundlich kompetente "Sammelsorium" ( Echt nett gemeint) an Leuten wiedergefunden zu haben .
Hab auch schon wieder viel gelesen und so manchen Schlag an die Stirn ausgeführt mit dem Gedanken --- Hätteste auch selber drauf kommen können . Danke dafür !
Zu meinem Problem hab ich leider nichts gefunden . Also die Frage :
Hab nen 16*2 Display am Arduino nano V3 , der steuert ne menge sachen unter anderem auch ne 8Kanal Relaisplatine . Nu hab ich viel gefunden das die Störungen verursacht und viel in diese Richtung gearbeitet - nix , das Problem ist , das nach ner gewissen Zeit ,manchmal nach 5 MIn manchmal nach ner halben Stunde auf dem Display nur noch sinnloser Zeichenwirrwar erscheint . Alle Funktionen laufen aber perfekt weiter .
Verschidene Displays - keine Änderung .
Irgendwann hab ich mal den Timer rausgeworfen und die Zeit mit ner Schleife hochgezählt ( Zeit muss nur die Laufzeit anzeigen , also keine Uhrzeit ) und oh Wunder , alles geht perfekt .
Da das mein erster Einsatz eines Timers ist , denk ich das ich da was nicht begriffen habe was im Buch steht . Falls das doch richtig ist was ich im Code geschrieben habe , kann es Hardwareprobleme geben ? Mit nem Uno passiert genau das gleiche , aber es sind beides Chinas .
Habe bei diesen ganzen Tests auch mal alles rausgenommen was nicht mit der Anzeige zu tun hat , auch da tritt das Phänomen auf .
Hier mal der Minicode zum Test der Zeitanzeige
BASCOM-Quellcode
- $regfile = "m328pdef.dat"
- $crystal = 16000000
- $hwstack = 40
- $swstack = 16
- $framesize = 32
- $lib "DateTime.lbx"
- On Timer1 Timer0serv
- Config Timer1 = Timer , Prescale = 1024
- Enable Timer1
- Enable Interrupts
- Dim Preload As Word
- Preload = 49800
- Timer1 = Preload
- 'Timertest
- Config Lcdpin = Pin , Db4 = Portd.7 , Db5 = Portb.0 , Db6 = Portb.1 , Db7 = Portb.2 , E = Portd.5 , Rs = Portd.6
- Config Lcd = 16 * 2
- Config Portd.2 = Output
- Config Portd.3 = Output
- Config Portd.4 = Output
- Config Portc.5 = Output
- Config Portb.3 = Output
- Config Portb.4 = Output
- Config Portb.5 = Output
- Config Pinc.2 = Input
- Config Pinc.3 = Input
- Config Pinc.4 = Input
- Dim Azeit As Word
- Dim Sekunden As Long
- Dim Strtime As String * 8
- Portd.2 = 1
- Portd.3 = 1
- Portd.4 = 1
- Portb.3 = 1
- Portb.4 = 1
- Portc.5 = 1
- Portb.5 = 1
- Cursor Off
- Cls
- Pinc.2 = 1
- Pinc.3 = 1
- Pinc.4 = 1
- Dim Zahl As Integer
- Dim Zeit$ As String * 9
- Zahl = 0
- Los:
- Cls
- Locate 1 , 1 : Lcd "A-zeit:"
- Locate 2 , 1 : Lcd "Bildnummer :"
- Do
- Cursor Off
- Sekunden = Azeit
- Strtime = Time(sekunden)
- Locate 1 , 9 : Lcd Strtime
- Zahl = Zahl + 1
- Waitms 500
- Locate 2 , 14 : Lcd Zahl
- If Zahl >= 9999 Then Zahl = 0
- Loop
- Timer0serv:
- Timer1 = Preload
- Azeit = Azeit + 1
- Return
- End
Besten Dank schonmal ...
Gruß Bernd
gestartet mit KC Basic ... angekommen bei BASCOM