- 12V Akku mit 280 Ah bauen         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: myavr - Programmer

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.12.2006
    Beiträge
    109

    myavr - Programmer

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    seit ein paar Tagen bin ich wieder dabei mein MC-Board zu quälen. Das ein oder andere klappt dank der Hilfe hier auch schon wieder. Nur eins stört mich.

    Die Übertragung des Programms vom Rechner auch den Controller ist sehr langsam.

    Ich verwende Bascom und myAVR Board MK2.

    Wenn ich mit dem Bascom-Tool - Options - Programmer wähle kommt immer die Meldung

    "This is a very old AN910programmer #13#13 Please select myavr Programmer.

    Was kann ich tun, damit die übertragen schneller geht.

    Grüße
    und
    Danke

    Martin

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.07.2009
    Beiträge
    405
    Nimm das MyAVR Progtool!

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.12.2006
    Beiträge
    109
    Zuerst einmal vielen Dank!

    Bei mir gibt es nur myAVR MK2/AVR910. wenn ich diesen wähle passiert aber nichts. einen weiteren der mit my... anfängt habe ich nicht zur auswahl

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Bad Bramstedt
    Alter
    45
    Beiträge
    1.369
    Du könntest noch die baudrate prüfen...und ggf auf z.b 19200 einstellen, falls noch nicht. Möglicherweise hast Du auch noch die erase warung aktiviert...kann man auch abschalten wenn man sie nicht benötigt.

    In den Einstellungen wählst du einmalig den Programmer aus... brennen machst du über den grünen Chip - Icon (F4) nachdem compiliert hast (F7).
    Geändert von HeXPloreR (10.12.2012 um 16:43 Uhr)

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.07.2009
    Beiträge
    405
    Anders gesagt:
    Schreibe Dein Programm mit Bascom - compiliere es - lade es in den Mikrokontroller mit dem myavr Progtool(ist ein Programm) -- nicht mit Bascom.

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Bad Bramstedt
    Alter
    45
    Beiträge
    1.369
    das was dussel07 vorschlägt macht man allerdings wirklich nr in der notsitiation wenn der Programmer nu garnicht will....deiner scheint ja aber zu laufen.

    Wahrscheinlich stellst du immer wieder neu ein? Das braucht man nicht, einmal dort einstellen mit Meldung das er alt ist, und dann ist gut. Flashen über den grünen Chip - Icon.

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.12.2006
    Beiträge
    109
    Ich benutze den "Grünen Chip" Button.

    Von dem Seite myAVR habe ich mir das Toll zum Brennen einer neue Frimware für den Programmer runtergeladen.In dem Toll wird angeezigt, dass meiner die Version 1.5 ist. Ich habe mich aber nicht getraut zu flashen, da das Tool zum firmewareupdate 2.5 ist.

    Weiß jemand was ich nehmen muss oder kann.

    Drüße
    Martin

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Bad Bramstedt
    Alter
    45
    Beiträge
    1.369
    Nimm mal vorher das myAVR Progtool von myAVR. damit machst Du jedenfalls auf die schnelle nichts falsch.
    Du mußt dann nur noch das programm compilieren und holst die hex-Datei übers Progtool "Datei suchen". Das Progtool ist fast völlig selbsterklärend. Aber schauen was man wo macht mußt Du da, wie überall auch, schon.
    Versuche damit erstmal zu flashen, ob es damit schneller geht. Die Firmeware kannst du dann immer noch updaten wenn nötig.

    Wie lange dauert das flashe denn über Bascom? wie groß ist das programm was übertragen wird?

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.12.2006
    Beiträge
    109
    Die Hex-datei ist 7k groß.

    Write ca 2 min
    Read ca. 2 min

    also ewig

    Grüße
    martin

    PS.: Hier der komplette Code

    Code:
    $regfile = "m8def.dat"
    $crystal = 3686400
    '***************************Config Schaltausgänge*******************************
    Config Portb = Output
    Brenner Alias Portb.5
    Pumpefb Alias Portb.1
    Pumpehk Alias Portb.2
    Pumpeww Alias Portb.4
    Heizungonoff Alias Portb.5
    '**************************Def. allgemeiner Variabeln***************************
    Dim Tagnacht As Bit
    Dim Nachtbetrieb As Byte
    Dim Tagbetrieb As Byte
    Dim Tempmessstelle(7) As Single
    
    Const Tagtemp_og = 21.6
    Const Nachttemp_og = 21.0
    Const Tagtemp_ug = 21.4
    Const Nachttemp_ug = 20.8
    
    Nachtbetrieb = 21
    Tagbetrieb = 5
    '**************************Funktionen LCD-Display*******************************
    
    Config Lcd = 40 * 4
    Config Lcdpin = Pin , Rs = Portb.0 , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , Db7 = Portd.2 , E = Portd.6 , E2 = Portd.7
    Config Lcdbus = 4
    Config Lcdmode = Port
    
    Dim ___lcdno As Bit
    
    ___lcdno = 0
     Initlcd
     Cursor Off
     Cls
    ___lcdno = 1
    Initlcd
    Cursor Off
    Cls
    '*******************************************************************************
    
    Config 1wire = Portb.3                                      'DS1820
    
    Match_rom Alias &H55
    Read_scratchpad Alias &HBE
    Start_conversion Alias &H44
    Innen Alias 0                                               'Innen
    Aussen Alias 1                                              'Aussen
    Kessel Alias 2
    Rücklauf Alias 3
    Vorlauf Alias 4
    
    Dim Read_temp As Integer
    Dim Sensor_ids(40) As Byte
    Dim Id As Byte
    Dim Offset As Byte
    Dim Ds_array(7) As Byte
    Dim Bruchteil As Single
    Dim Temperatur As Single
    Dim I As Integer
    
    '*************************Config Timer1*****************************************
    Config Timer1 = Timer , Prescale = 8                        '256       'Konfiguriere Timer1
    Enable Timer1                                               'schalte den Timer1 ein
    On Timer1 Isr_von_timer1                                    'verzweige bei Timer1 überlauf zu   Isr_von_Timer1
    Enable Interrupts
    Timer1 = 51135                                              'Timer1 soll schon von 34285 wegzählen
    '***************************Config RTC******************************************
    Config Sda = Portc.4
    Config Scl = Portc.5
    
    Const Ds1307w = &HD0                                        ' Addresses of Ds1307 clock
    Const Ds1307r = &HD1
    
    Config Clock = User                                         ' this will dim the bytes automatic
    Dim Weekday As Byte
    
    'Time$ = "19:44:00"                 ' to watch the day changing value
    'Date$ = "02.26.07"                 ' erstmaliges stellen der Uhr
    '***************************Config 1Wire****************************************
    
    
    For Id = 1 To 40                                            'Einlesen der 5 Sensoren IDs (5*8 Byte)
       I = Id - 1
       Readeeprom Sensor_ids(id) , I
    Next Id
    
    Do
       Wait 1
       For Id = Innen To Vorlauf
          Offset = Id * 8
          Offset = Offset + 1                                   'Offset geht auf 1, 9, 17, 25 und 33
          1wreset                                               'hier wird der Temperaturwert eingelesen
          1wwrite Match_rom
          1wwrite Sensor_ids(offset) , 8                        '8 Byte ID wird übertragen
          1wwrite Read_scratchpad
          For I = 1 To 7                                        'nur bis 7, weil 8 und 9 uninteressant
             Ds_array(i) = 1wread()
          Next I
          Read_temp = Makeint(ds_array(1) , Ds_array(2))
          1wreset                                               'jetzt wird wieder die Konvertierung gestartet
          1wwrite Match_rom
          1wwrite Sensor_ids(offset) , 8
          1wwrite Start_conversion
          Shift Read_temp , Right
          If 127 < Read_temp Then Read_temp = Read_temp - 32767
          Bruchteil = 16 - Ds_array(7)
          Bruchteil = Bruchteil / 16
          Bruchteil = Bruchteil - 0.25
          Temperatur = Read_temp + Bruchteil
          Tempmessstelle(id + 1) = Temperatur
          ___lcdno = 0
          Locate 1 , 1 : Lcd "  Inn Auss Kess Vorl Rück "
          Select Case Id
          Case Innen:
             Locate 2 , 2 : Lcd Fusing(temperatur , "#.#")
          Case Aussen:                                          'ausgabe im Display ist dann z.B.
             Locate 2 , 7 : Lcd Fusing(temperatur , "#.#")      '  Inn  Auss  Kess Rück Vorl
          Case Kessel:                                          ' 14.4  52.4 67.3 43.0 62.8
             Locate 2 , 12 : Lcd Fusing(temperatur , "#.#")
          'Case Rücklauf:
          '   Locate 2 , 18 : Lcd Fusing(temperatur , "#.#")
          'Case Vorlauf:
          '   Locate 2 , 23 : Lcd Fusing(temperatur , "#.#")
          End Select
       Next Id
      Gosub Anzeigezeit
    Loop
    End
    
    '***************************Anzeige Zeit****************************************
    Anzeigezeit:
      ___lcdno = 1
      Locate 2 , 1
      Lcd Time$
      Locate 2 , 12
      Lcd Date$
      Locate 2 , 21
      Lcd "Tag: " ; Weekday
      Waitms 500
    Return
     '*************************Sub Relais schalten***********************************
    Schalterelais:
    Select Case Tagnacht
      Case 0
        Gosub Nachtbetrieb
      Case 1
        Gosub Tagbetrieb
    End Select
    Return
     '**************************Sub für Tagbetrieb***********************************
    Tagbetrieb:
      Pumpeww = 1
      If Tempmessstelle(1) >= Tagtemp_og Then
        Brenner = 0                                             ' Brenner
        If Tempmessstelle(1) <= 2.95 Then
          Pumpefb = 0                                           ' Pumpe FB
        End If
        If Tempmessstelle(1) < 3.05 Then
          Pumpehk = 0                                           ' PumpeHK
        End If
      End If
      If Tempmessstelle(1) <= Tagtemp_ug Then
        Brenner = 1
        Pumpefb = 1
        Pumpehk = 1
      End If
    Return
    '**************************Sub für Nachtbetrieb*********************************
    Nachtbetrieb:
      If Tempmessstelle(1) >= Nachttemp_og Then
        Brenner = 0
        If Tempmessstelle(1) < 2.9 Then
          Pumpefb = 0                                           ' Pumpe FB
        End If
        If Tempmessstelle(1) < 3.0 Then
          Pumpehk = 0                                           ' PumpeHK
        End If
      End If
      If Tempmessstelle(1) < Nachttemp_ug Then
        Brenner = 1
        Pumpefb = 1
        Pumpehk = 1
      End If
    Return
     '**************************Subroutine für Timer1********************************
    Isr_von_timer1:                                             'ISR von Timer1
      Timer1 = 51135
      If _hour >= Nachtbetrieb Or _hour < Tagbetrieb Or _hour = 7 Then       'Sp > 2 Then  'Timer1 soll wieder von 34285 wegzählen
        Tagnacht = 0                                            'Nachteinstellung
      Else
        Tagnacht = 1                                            'Tageinstellung
      End If
    Return
    '***************************Subs für RTC****************************************
    Getdatetime:
      I2cstart                                                  ' Generate start code
      I2cwbyte Ds1307w                                          ' send address
      I2cwbyte 0                                                ' start address in 1307
    
      I2cstart                                                  ' Generate start code
      I2cwbyte Ds1307r                                          ' send address
      I2crbyte _sec , Ack
      I2crbyte _min , Ack                                       ' MINUTES
      I2crbyte _hour , Ack                                      ' Hours
      I2crbyte Weekday , Ack                                    ' Day of Week
      I2crbyte _day , Ack                                       ' Day of Month
      I2crbyte _month , Ack                                     ' Month of Year
      I2crbyte _year , Nack                                     ' Year
      I2cstop
      _sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)
      _day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year)
    Return
    
    Setdate:
      _day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)
      I2cstart                                                  ' Generate start code
      I2cwbyte Ds1307w                                          ' send address
      I2cwbyte 4                                                ' starting address in 1307
      I2cwbyte _day                                             ' Send Data to SECONDS
      I2cwbyte _month                                           ' MINUTES
      I2cwbyte _year                                            ' Hours
      I2cstop
    Return
    
    Settime:
      _sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)
      I2cstart                                                  ' Generate start code
      I2cwbyte Ds1307w                                          ' send address
      I2cwbyte 0                                                ' starting address in 1307
      I2cwbyte _sec                                             ' Send Data to SECONDS
      I2cwbyte _min                                             ' MINUTES
      I2cwbyte _hour                                            ' Hours
      I2cstop
    Return
    '*******************************************************************************
    
    
    $eeprom
    
    Data &H10 , &HE8 , &HF4 , &H23 , &H01 , &H08 , &H00 , &HEF
    Data &H10 , &H1B , &HD0 , &H23 , &H01 , &H08 , &H00 , &H23
    Data &H10 , &H78 , &H37 , &H39 , &H01 , &H08 , &H00 , &H11
    Data &H10 , &HC0 , &H46 , &H19 , &H01 , &H08 , &H00 , &H67

  10. #10
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Bad Bramstedt
    Alter
    45
    Beiträge
    1.369
    Okay, das ist zu viel für mich.

    Aber das dauert definitiv zu lange.
    Baudrate in Bascom geprüft? Das könnte ich mir noch vorstellen.
    Auto verify mal rausnehmen. Du beschreibst ja auch eeprom, vielleicht deswegen so langsam.

    Kannst Du probehalber ein anders Program flashen welchen eine LED im sekunden takt ein und ausschaltet.
    Ob das auch solange braucht und ob es auch richtig ankommt?

    Hardwarefehler kann man ausschliessen?

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Programmer und IDE für C myavr MKII
    Von Thalhammer im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 26.01.2011, 21:06
  2. AVRStudio & myAVR Board. Programmer erkennen?
    Von 5Volt-Junkie im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 17.09.2010, 20:42
  3. USB-Programmer mySmartUSB von myAVR
    Von Goblin im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 03.09.2007, 21:10
  4. AVR/STK500-Protokoll Programmer u. JTAGICE komp. Programmer
    Von Dirk Büttner im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 0
    Letzter Beitrag: 22.04.2006, 18:17
  5. Wlechen Programmer verwendet das MyAVR Board ?
    Von LC-HC im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 19.03.2006, 18:57

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress