- Labornetzteil AliExpress         
Ergebnis 1 bis 4 von 4

Thema: Controller Reset durch I2C-Übertragung

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    31
    Beiträge
    1.578

    Controller Reset durch I2C-Übertragung

    Hi,

    ich bin gerade dabei, einen ATMega328p als I2C-Slave zu benutzen. Als Master fungiert ein ATXMega32A4. Als Levelshifter verwende ich zwei BSS138 (Mosfet) mit den passenden Wiederständen ( http://playground.arduino.cc/Main/I2...alLevelShifter ). Jedesmal wenn ich vom Master (ATXMega32A4) etwas sende, springt der ATMega328P an den Anfang, zumindest wird immer wieder "Start" geprintet... Aber ich habe keine Ahnung warum.

    Der Master:

    Code:
    $regfile = "xm32a4def.dat"
    $crystal = 32000000
    $framesize = 150                                            '100
    $swstack = 150                                              '100
    $hwstack = 150                                              '100
    
    
    $lib "xmega.lib"
    $external _xmegafix_clear
    $external _xmegafix_rol_r1014
    
    
    Config Osc = Disabled , 32mhzosc = Enabled
    Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1
    
    
    
    '--UART Settings--
    Config Com2 = 115200 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
    Open "COM2:" For Binary As #1
    
    
    
    '--TWI Settings--
    Dim Twi_start As Byte
    Open "twie" For Binary As #2
    Config Twie = 400000
    I2cinit #2
    
    
    
    Const Height_write = &H70
    Const Height_read = &H71
    
    Dim Adc_val As Word
    Dim Adc_ovl(2) As Byte At Adc_val Overlay
    
    
    
    
    
    Do
    
    
       I2cstart #2
       I2cwbyte Height_write , #2
       I2cwbyte 137 , #2
       I2cstop #2
    
       Waitms 100
    
    
    Loop
    
    End
    Der Slave:

    Code:
    $regfile = "m328pdef.dat"
    $crystal = 8000000
    $framesize = 150
    $hwstack = 150
    $swstack = 150
    $baud = 19200
    
    
    
    $lib "i2c_twi-slave.lbx"
    Config Twislave = &H70 , Btr = 2 , Bitrate = 400000
    Config Sda = Portc.4
    Config Scl = Portc.5
    I2cinit
    
    
    Config Adc = Single , Prescaler = Auto , Reference = Aref
    Start Adc
    
    
    Config Portb.1 = Output
    Config Portb.2 = Output
    Config Pinc.0 = Input
    
    
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear_up , Compare B Pwm = Clear_up , Prescale = 1
    Pwm1a = 183
    Pwm1b = 183
    
    
    
    Portc.0 = 0
    
    
    
    Dim Adcval As Word
    Dim I2c_ovl(2) As Byte At Adcval Overlay
    
    
    
    Print "Start"
    
    
    Enable Interrupts
    
    
    
    
    Do
    
    
       Adcval = Getadc(0)
    
    
    Loop
    
    End
    
    
    Twi_read_addressed:
       Twi = 0                                                  'Twi = I2c_ovl(twi_btr)
    Return
    
    Twi_master_needs_more_byte:
       Twi = 0                                                  'Twi = I2c_ovl(twi_btr)
    Return
    
    
    Twi_slave_error:
    Return
    
    Twi_write_addressed:
    Return
    
    Twi_gotdata:
       Print "TWI = " ; Twi
    Return
    
    Twi_stop_rstart_received:
    Return
    
    Twi_master_need_nomore_byte:
    Return
    Wenn jemand davon Ahnung hat, bitte melden

    Vielen Dank & Gruß
    Chris

    EDIT:
    Mir ist gerade aufgefallen, dass ich wohl leider einen Fehler in der Hardware habe... Wenn die beiden µCs verbunden sind, werden die SCL & SDA Leitungen dauerhaft auf Low gezogen... Das ist jetzt wohl eher ein Thread für die Elektronik Abteilung, Sorry!
    Geändert von Che Guevara (13.01.2013 um 14:42 Uhr)

Ähnliche Themen

  1. 89c51cc03, Flip, Controller läuft nicht nach RESET
    Von ktkeili im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 31.01.2009, 16:27
  2. ungewollter reset durch/bei zuschalten von pwm
    Von madcyborg im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 23.01.2008, 18:19
  3. AVR-Reset durch Software möglich?
    Von robotxy im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 16.05.2006, 19:21
  4. Reset am Atmel Controller, brauche Hilfe!
    Von Stanlee im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 5
    Letzter Beitrag: 27.03.2006, 18:00
  5. daten übertragung von lpt zu µ-controller
    Von FJK im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 6
    Letzter Beitrag: 08.02.2005, 10:22

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress