- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 18

Thema: Programm aus dem Jahr 2005 Compilieren

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    Ohne mir jetzt Gedanken über Sinn oder Unsinn des Codes gemacht zu haben, so kompiliert das und entspricht funktional dem vorgegeben Code.
    Die absolute Adressvergabe wird nirgends anders als im Overlay genutzt und da lässt man besser den Compiler die Variablen organisieren.
    Code:
    $regfile = "ATtiny26.dat"                                   'Wir benutzen einen Tiny26
    $crystal = 1000000                                          '1 MHz, Damit auch die Software davon weiss
    $hwstack = 32
    $swstack = 24
    $framesize = 24
    
    $noramclear
    
    Const Eeprom_adress_w = &HA0                                'Basisadresse des verwendeten EEPROMs 24C64A = &HA0 / 24C256 = &HA0
    Const Eeprom_adress_r = Eeprom_adress_w + 1                 'Nicht aendern!
    
    Dim Eeprom_size As Word                                     '
    Dim Last_icadr As Word                                      '
    Dim Measured_bytes As Byte                                  '
    Dim Bversion As Byte                                        '
    Dim Icadr As Word
    Dim Icadrlo As Byte At Icadr Overlay
    Dim Icadrhi As Byte At Icadr + 1 Overlay
    Dim Collected As Word                                       'Anzahl gespeicherter Datensätze im akt. Block
    Dim Collectedlo As Word At Collected Overlay                '
    Dim Collectedhi As Word At Collected + 1 Overlay            '
    Dim Wtemp0 As Word
    Dim Wtemp0lo As Byte At Wtemp0 Overlay                      '
    Dim Wtemp0hi As Byte At Wtemp0 + 1 Overlay                  '
    Dim Wtemp1 As Word                                          '16Bit temporär
    Dim Btemp0 As Byte                                          '
    Dim Btemp1 As Byte                                          '
    Dim Stemp As String * 16                                    'String temporär
    
    'Config & Init ----------------------------------------------
    Ddra = &B00000000                                           'Ddra Input
    Porta = &B11111111                                          'pull-up
    
    Ddrb = &B01100000                                           'Ddrb.0 Input SDA (Mini-Datenlogger)
    'DDrb.1 Input
    'DDrb.2 Input SCL (Mini-Datenlogger)
    'DDrb.3 Input Button
    'DDrb.4 Input Seriell
    'DDrb.5 Output Seriell
    'DDrb.6 Output Reset (Mini-Datenlogger)
    'DDrb.7 Input (Reset)
    
    Portb = &B01001000                                          'Portb.0 SDA (Mini-Datenlogger)
    'Portb.1
    'Portb.2 SCL (Mini-Datenlogger)
    'Portb.3 pull-up für Button
    'Portb.4 seriell
    'Portb.5 seriell
    'Portb.6 Reset (Mini-Datenlogger)
    'Portb.7
    
    Config Sda = Portb.0                                        'Ports fuer die I2C-Schnittstelle
    Config Scl = Portb.2
    'I2cinit 'wird mit DDRB= und PORTB= miterledigt
    'Reset Portb.0 (Sda)
    'Reset Portb.2 (Scl)
    'Reset Ddrb.0 (Sda)
    'Reset DDrb.2 (Scl)
    
    Open "COMB.5:9600,8,N,1,INVERTED" For Output As #1          'Port für serielle Ausgabe
    'Set Ddrb.5
    'Reset Portb.5
    
    'Program ----------------------------------------------------
    _read_i2c:                                                  '                                              '
    I2cstop                                                     '
    Waitms 500                                                  '
    Icadr = 0                                                   '
    Gosub Read_eeprom                                           '
    Measured_bytes = Wtemp0lo                                   '
    Bversion = Wtemp0hi                                         '
    Gosub Read_eeprom                                           '
    Eeprom_size = Wtemp0                                        '
    
    Print #1 , "no connect"
    If Bversion = 0 Then Goto _read_i2c
    If Bversion = 255 Then Goto _read_i2c
    If Measured_bytes = 0 Then Goto _read_i2c
    If Measured_bytes = 255 Then Goto _read_i2c
    If Eeprom_size = 0 Then Goto _read_i2c
    
    Shift Eeprom_size , Left , 8                                '
    Eeprom_size = Eeprom_size + 255                             '
    Print #1 , "MiniLogger;"
    Print #1 , ";" ; Bversion ; ";" ; Measured_bytes ; ";" ; Eeprom_size ; ";"
    Shift Measured_bytes , Right , 1                            'lesen erfolgt word-weise
    
    Last_icadr = Eeprom_size - 4                                '
    Last_icadr = Last_icadr - Measured_bytes                    '
    
    Gosub Read_eeprom                                           '
    
    Do                                                          'Beginn Hauptschleife
    Gosub Read_eeprom                                           '
    Print #1 , ";"
    Print #1 , Wtemp0 ; ";"
    Collected = Wtemp0                                          '
    For Wtemp1 = 1 To Collected                                 'Datensätze lesen
    If Icadr > Last_icadr Then
    Collected = 0
    Exit For                                                    '
    End If
    For Btemp1 = 1 To Measured_bytes
    Gosub Read_eeprom
    Print #1 , ";" ; Wtemp0hi ; ";" ; Wtemp0lo ;
    Next Btemp1
    Print #1 , ";"
    Next Wtemp1
    Loop Until Collected = 0                                    'Ende Hauptschleife
    
    Do                                                          '
    Loop                                                        '
    
    'I2C-Routinen
    '-----------------------------------
    Read_eeprom:                                                '
    I2cstart                                                    'generate start
    I2cwbyte Eeprom_adress_w                                    'slave adsress
    I2cwbyte Icadrhi                                            'address of EEPROM
    I2cwbyte Icadrlo                                            'address of EEPROM
    I2cstart                                                    'repeated start
    I2cwbyte Eeprom_adress_r                                    'slave address (read)
    I2crbyte Wtemp0hi , Ack                                     'read byte
    I2crbyte Wtemp0lo , Nack                                    'read byte
    I2cstop                                                     'generate stop
    Incr Icadr
    Incr Icadr
    Return

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von Bernd_Stein
    Registriert seit
    19.09.2008
    Ort
    Deutschland : Nordrhein-Westfalen ( NRW )
    Alter
    54
    Beiträge
    407

    Hoffe nun endlich alles zu haben um den MiniLogger mit LogView nutzen zu können

    Zitat Zitat von MagicWSmoke Beitrag anzeigen
    Ohne mir jetzt Gedanken über Sinn oder Unsinn des Codes gemacht zu haben, so kompiliert das und entspricht funktional dem vorgegeben Code.
    Die absolute Adressvergabe wird nirgends anders als im Overlay genutzt und da lässt man besser den Compiler die Variablen organisieren.
    Sehr vielen Dank.
    Konnte das Programm wunderbar compilieren. Die .Hex ist zwar mit 4KB angegeben, aber das dürfte wohl an Windoof liegen.
    Über alles weitere werde ich hoffentlich dem Nächst berichten können.

    Für heute over and out.

    Bernd_Stein
    CRS Robotics A255, TRONXY X3A, TinkerCAD, c´t-Lab, ProfiLab Expert, AVR8 Assembler

  3. #3
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Das .hex File ist noch ASCII codiert. Das .hex File ist etwas mehr als 3 mal so lang wie der benötigte Platz im µC. Das liegt nicht an Windows, sondern File Format (von Intel).

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von Bernd_Stein
    Registriert seit
    19.09.2008
    Ort
    Deutschland : Nordrhein-Westfalen ( NRW )
    Alter
    54
    Beiträge
    407

    Es ist zum Verzweifeln

    Zitat Zitat von Besserwessi Beitrag anzeigen
    Das .hex File ist noch ASCII codiert. Das .hex File ist etwas mehr als 3 mal so lang wie der benötigte Platz im µC. Das liegt nicht an Windows, sondern File Format (von Intel).
    Jau, den ATtiny26 konnte ich schon mal brennen. Der Rest ist glaube ich hier " ? besser ? " aufgehoben.

    http://www.logview.info/vBulletin/sh...8908#post18908

    Bernd_Stein
    CRS Robotics A255, TRONXY X3A, TinkerCAD, c´t-Lab, ProfiLab Expert, AVR8 Assembler

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    Zitat Zitat von Bernd_Stein Beitrag anzeigen
    Der Rest ist glaube ich hier " ? besser ? " aufgehoben.
    Ja wenn Du meinst...
    Ich bin im Roboternetz Mitglied und werd's nicht im Logview-Forum werden. Dann mal viel Erfolg noch.

  6. #6
    Erfahrener Benutzer Roboter-Spezialist Avatar von Bernd_Stein
    Registriert seit
    19.09.2008
    Ort
    Deutschland : Nordrhein-Westfalen ( NRW )
    Alter
    54
    Beiträge
    407

    Was zeichnet ein gutes Forum aus ?

    Zitat Zitat von Bernd_Stein Beitrag anzeigen
    Jau, den ATtiny26 konnte ich schon mal brennen. Der Rest ist glaube ich hier " ? besser ? " aufgehoben.
    Zitat Zitat von MagicWSmoke Beitrag anzeigen
    Ja wenn Du meinst...
    Ich bin im Roboternetz Mitglied und werd's nicht im Logview-Forum werden. Dann mal viel Erfolg noch.
    Das mit dem " ? besser ? " möchte ich nun mal genauer erklären, da ich den Eindruck habe das MagicWSmoke etwas enttäuscht ist. Er hat mir nämlich sehr weitergeholfen und das hat ja nichts mit diesem Forum zu tun, sondern mit den Leuten die sich hier tummeln und noch mit anderen " Zufälligkeiten ".
    Blöd ist beim Forumsystem in LogView wie auch hier, das man sich anmelden muß, um einen Thread vernünftig mitlesen zu können.

    Das ist wirklich blöd, denn mit der Zeit muß man Buch führen mit welchem Benutzernamen und Kennnwort man bei welchem Forum angemeldet ist. Dies schreibe ich, weil ich auch noch Probleme mit meinem PC habe, der seltsamer weise gerade einfach neu gebootet hat. Was zum Glück nur sehr selten vorkommt.
    Aber deshalb musste ich dieses alles hier zum Teil neu schreiben.
    Aber vielleicht hat es ja was hiermit zu tun, wo mir in diesem Forum bisher auch nicht weitergeholfen wurde. Aber da sollte ich noch mal nachhaken, da die Systemabstürze ganz schön nervig werden können, wenn man gerade soviel geschrieben hat.
    http://forum.chip.de/cpu-board-speic...l#post10013769

    Bei der Suche nach diesem Thread ist mir noch folgender aufgefallen :
    https://irfanview-forum.de/login.php...c05131f84ab682
    Tja, hier ist meine Zeit abgelaufen, ich muß mir ein neues Password ausdenken evtl. sogar einen neuen Benutzernamen. Dort bin ich auch nur ein schlechtes " Mitglied ", da ich mit einem Problem auftauche und sonst nichts " direkt " beitrage. Aber vielleicht ist ja durch mein " Problem " auch anderen geholfen worden.
    Soweit zur Mitgliedschaft in irgendwelchen Foren.

    Da MagicWSmoke ja offensichtlich nicht bei LogView " Mitglied " ist, kann er auch nicht den Screenshot sehen, da ja hierfür eine Anmeldung nötig ist.
    Mit diesem Screeshot können am besten die Entwickler von LogView etwas anfangen, da dort die Debuginformationen zum MiniLogger-Datenaustausch enthalten sind. Deshalb habe ich mir gedacht, den beiden nochmals eine Mail zukommen zu lassen, auch wenn Sie vielleicht gerade im Urlaub sind.
    Soviel zum " ? besser aufgehoben ? "

    Jetzt möchte ich noch zu der Überschrift in diesem Posting kommen.

    Was zeichnet ein gutes Forum aus ?


    Zum ersten für mich die Leute die sich darin tummeln, zum zweiten die Benutzeroberfläche und überhaupt das Forensystem.
    Da finde ich dieses hier wirklich Vorbildlich :

    http://www.mikrocontroller.net/

    Das soll jedoch keineswegs eine Einladung für alle " Roboterfreaks " werden, da ich denke das die Namen der Foren ja schon angeben, was ihr Hauptzweck sein sollte. Deshalb bin ich auch sehr dafür, das Roboterprobleme im Roboternetz usw. bleiben und nicht dort für Datenmüll sorgen.
    Mir ist schon klar, das beides zusammenwirkt, aber dennoch kann man ja ein Problem in mehrere Teilprobleme aufteilen. Deshalb bin ich ja auch bei LogView, obwohl ich dies ja für meinen RMR ( Rasenmähroboter ) verwenden möchte.

    Wenn ich hier im Forum einen Datenlogger zum Nachbauen gefunden hätte, der Strom und Spannung im Bereich bis 25A= und 30V= mitschreiben könnte und auch noch einen ATMEL AVR nutz, wären mir viele Foren und deren unendlichen Beiträge erspart geblieben ( Modelbau, LogView, Mikrocontroller ).

    Jetzt habe ich soviel Zeit in dieses Posting investiert, das ich mit dem MiniLogger heute wahrscheinlich nicht weiterkomme.

    Bis demnächst
    Bernd_Stein
    CRS Robotics A255, TRONXY X3A, TinkerCAD, c´t-Lab, ProfiLab Expert, AVR8 Assembler

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    Mach's nicht so kompliziert
    Mein Engagement bei diesem Code waren 2 Minuten, um die Overlays umzubasteln und Stack- und Framewerte einzufügen. Es ist also nicht so dass ich mich da rangeschmissen hätte und nun irgendwie enttäuscht bin.
    Ich hab' Dich nur darauf hingewiesen, dass ich an einer forumübergreifenden Diskussion nicht teilnehmen werde.

  8. #8
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.694
    Zitat Zitat von Bernd_Stein Beitrag anzeigen
    ... Deshalb bin ich auch sehr dafür, das Roboterprobleme im Roboternetz usw. bleiben und nicht dort für Datenmüll sorgen ...
    Klingt irgendwie nach einem sehr seltsamen - ähh - nein, nicht Kompliment, sagen wir mal - Statement. Übrigens meine ich, dass es manchmal besser ist ein Problem selbst zu lösen als in zig Foren nach Rat zu fragen. Aber jeder nach seinem Appetit.
    Ciao sagt der JoeamBerg

Ähnliche Themen

  1. Antworten: 18
    Letzter Beitrag: 04.02.2012, 14:09
  2. Problem beim Compilieren oder Fehler im Programm
    Von holgie72 im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 06.02.2010, 14:48
  3. Antworten: 14
    Letzter Beitrag: 04.03.2009, 15:57
  4. Robo-Projekt / 1 Jahr / einige Fragen
    Von Nygil im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 12
    Letzter Beitrag: 07.09.2004, 22:36
  5. Mehrere hunderttausend Staubsaugerroboter in einem Jahr
    Von Frank im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 16
    Letzter Beitrag: 30.04.2004, 11:02

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress