- LiTime Speicher und Akkus         
Ergebnis 1 bis 7 von 7

Thema: Tiny13 ISP Grundschaltung gesucht

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.01.2006
    Beiträge
    15

    Tiny13 ISP Grundschaltung gesucht

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    hab auf dem Steckbrett einen Tiny13 aufgebaut, nur bekomme ich mit Bascom keine Verbindung zum Tiny hin. Muss ich mehr als die Stromversorgung und das ISP beschalten ? mein Mega32 wird sorfort erkannt ( als test von Bascom )

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Ja ISP Beschaltung wie gewohnt.
    Pullup und Kondensator am Reset nicht vergessen


    Schau mal ob der T13 auch mit allen Kontakten im Steckbrett sitzt.
    Bei einigen Bretteln sind die Mittleren Stege etwas zu hoch so das kleine IC's nicht ganz passen.
    Gruß
    Ratber

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    22.01.2006
    Beiträge
    15
    Danke, schön es lag mal wieder an den Anwender, hatte die ISP falsch angeschlossen Nun geht es wunder schön das erste Programm ( blinkende LED ) läft auch schon. Nun möchte ich ger ndas der Tiny auf hell oder dunkel reagiert. das müsste doch über eine Lichtsensor ( Photowiderstand gehen. Faglich ist nur wie da die Minimalbeschaltung ist. Kamm mir da jemand helfen ?

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Ja auch einfach.

    Mit dem Fotowiderstand (oder Diode/Transitor usw.) und nem zusätzlichen Winderstand baust du nen Spannungsteiler auf.

    Jetzt haste 2 Möglichkeiten.
    Entweder du hängst das an nen AD-Port und wertest per Software aus oder du hängst nen OP-Amp davor und machst es Hardwaremäßig (Ausgang an normalen Digitalport)
    Gruß
    Ratber

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    22.01.2006
    Beiträge
    15
    so das wäre dann auch geschaft, leider will Bascom nicht so wie ich das will:

    mein Quelltext :

    $regfile = "ATtiny13.dat"
    $crystal = 1200000
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Config Portb = Output
    Ddrb = &B0101
    Start Adc
    Dim A As Byte
    Do
    While A < 500
    A = Getadc(2)
    Waitms 100
    Wend
    Portb.3 = Not Portb.3
    Waitms 500
    Loop


    wird bim Compelieren abgelehnt, da nicht genägend Ram ?? vorhanden ist. Kann es sein das der Tiny13 überfordert ist wenn man den ADC mal abfragen möchte und dann noch das ergebnis auswerten will ? Im endefekt möchte ich eine Schalter und den Lichtsensor auswerten, und dann eine Ausgang dementsprechend schalten - mehr eigetlich nicht

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Doch das geht.
    Du hast nur etwas vergessen.

    Der Tiny13 hat nicht viel Ram und die Standardzuweisung vom Compiler frisst alles auf so das nix mehr übrig ist.

    Ich hab dir mal die Stackbefehle reingesetzt und auch den Frame.
    Les in ruhe nach wofür jeder ist dann haste für die Zeiten wenn auch auf nem M128 das Ram knapp wird.

    Desweiteren hab ich A von Byte auf Word geändert.
    Zum einen weil der ADC 10 Bit liefert und ein Byte zu eng ist.
    (Grundsätzlich ist Eng ja schön aber hier passts nicht)
    Und zum anderen hättest du spätestens bei der Zeile "While a<500 wieder Ärger middem Compiler bekommen denn A als Byte kann nie 500 werden denn dafür fehlte im ein Bit (Nein kein Bier)

    Hier mal die geänderte Version.

    Code:
    'Neue Version die zumindes beim Compiler gnade findet *gg*
    
    
    $regfile = "ATtiny13.dat"
    $crystal = 1200000
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Config Portb = Output
    
    $hwstack = 10                                               'Eingefügt Weil die Standardvorgaben
    $swstack = 10                                               'für den Tiny13 zu
    $framesize = 20                                             'hoch sind.
    
    
    Ddrb = &B0101
    Start Adc
    Dim A As Word                                               'Auf Word geändert weil ADC 10 Bit liefert
    Do
    While A < 500                                               'Hier hätte es mit "DIM A as Byte" ärger gegeben
    A = Getadc(2)
    Waitms 100
    Wend
    Portb.3 = Not Portb.3
    Waitms 500
    Loop
    Die dürfte jetzt laufen
    Gruß
    Ratber

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    22.01.2006
    Beiträge
    15
    supi, nun geht es wie es soll

Berechtigungen

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

LiFePO4 Speicher Test