-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: Rx Interrupt beim attiny2313 ...

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    14.09.2004
    Beiträge
    38

    Rx Interrupt beim attiny2313 ...

    Anzeige

    Hallo,

    beim AT90S2313 habe ich das so gemacht und das hat auch funkt.


    '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''
    $baud = 4800

    On Urxc Rs232_int

    Enable Interrupts
    Enable Urxc




    Rs232_int:
    Disable Urxc
    .
    .
    .
    Enable Urxc

    Return

    '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''
    der attiny2313 hat doch auch einen usart oder ?
    jedoch funkt. das ganze nicht beim ATtiny2313 ?!

    wer weiß rat

    vielen Dank


    Gruß Tobias

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Les mal die Datenblätter an betreffender Stelle.

    Der AT90S2313 hat einen "UART" und der Tiny2313 nur einen "USART"
    Gruß
    Ratber

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    14.09.2004
    Beiträge
    38
    tja leider kann ich nicht so gut Englisch ...

    habe aber im Datenblatt des Attiny2313 folgendes auf Seite 43 gefunden:

    Reset und Interrupt Vektor 0007 -> USART0 Rx Complete ... also muß das doch irgendwie funktionieren ...

    klar wenn ich daran gedacht hätte hätte ich den etwas älteren AT90S2313 genommen - aber nun steht die Schaltung

    Gruß Tobias

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.04.2005
    Ort
    Aarau
    Alter
    34
    Beiträge
    979
    Hallo

    Was ist denn der Unterschied zwischen USART und UART?

    gruss Bluesmash

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Bei der UART gibt's keinen synchronen Mode (das "s" fehlt)
    Weiß nicht recht, was Ratber mit "nur USART" meint.

    EDIT: vielleicht hat Bascom ein Problem mit dem Tiny ? Ich bin niht auf dem Laufenden
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Nein ,eigentlich wollte ich mal zum selberdenken anregen da bei beiden Controllern unterschiedliche Komponennten zum einsatz gekommen sind was auch andere unterschiede vermuten lassen könnten.
    Naja,ist wohl in die Hose gegangen.


    Also:

    Erstmal einen Blick in beide Datenblätter wo bei beiden Controllern die betreffenden Interruptvektoren liegen.

    Nein da sind beide gleich.




    Der nächste Schritt wäre eine bekannte Fehlerquelle zu untersuchen.
    Die Definitonsdateien von Bascom.

    Zuerst in die des 90S2313
    Unter Vektor 07 steht "URXC" als Label was sich auch mit dem Code deckt.
    Dann einen Blick in die Def .vom Tiny2313
    Ja da steht unter 07 ebenfalls "URXC" als Label.
    Auch die anderen beiden beteiligten Int. sind ohne auffälligkeiten.

    Also auch nix.




    Ja,was könnte es denn noch sein ?

    Nochmal zurück zu den Datenblättern.
    Vieleicht hat Atmels Dokumentationsoberschreibmeister mal wieder zuviel Absint geschluckt und aus faulheit ebenfalls mal wieder große Teile des neuen Dokumentes einfach aus alten zusammenkopiert.
    Copy&Paste ist schließlich in


    Ja bei den Blcokdiagrammen des UART bzw. USART bemerke ich allerdings das beim UART des 90S2313 die Int. angegeben sind wogegen ich beim USART des Tiny2313 zunächst garnix dazu finden kann.
    Das schließt zumindest nicht gänzlich aus das da irgendwo mal wieder das übliche Atmel-Kuddelmuddel bei den Datenblättern zugeschlagen hat.(Stichwort "Absint". Gelle ?)


    so,hier wäre jetzt ein Hardwarecheck angesagt aber da muß ich ebenfalls mangels greifbarem Tiny2313 passen.

    Bleibt nur noch als Anregung die Funktion der Schnittstelle zu überprüfen ob auch alle Signale wirklich da ankommen wo se hin sollen.




    Edit:
    Gerade erst gemerkt.
    Die Bascom Definitionen auf die ich mich beziehe sind die der Version 1.11.7.9
    Gruß
    Ratber

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    14.09.2004
    Beiträge
    38
    mh... also kuttel muttel ...

    tja da muß ich den SMD ATtiny2313 auslöten und einen AT90S2313 verbauen - so eine Schei....

    oder es hat noch jemand einen Tip ?

    irgend wie scheint der aber zu reagieren ... eine
    Do
    toggle led
    Loop

    schleife läuft und bei dem Eintreffen eines Signales an RxD springt der warscheinlich nicht wieder zurück - da die LED eben nicht mehr blinkt ...

    also weiter untersuchen !

    vielen Dank nochmal

    also ist der Grund das der Attiny2313 keinen Interrupt von RxD unterstützt oder ein ander Chip z.B. Atmega32 könnte das ... (habe noch nicht in's Datenblatt geschaut !!!)


    Gruß Tobias

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    irgend wie scheint der aber zu reagieren ... eine
    Do
    toggle led
    Loop

    schleife läuft und bei dem Eintreffen eines Signales an RxD springt der warscheinlich nicht wieder zurück - da die LED eben nicht mehr blinkt ...

    also weiter untersuchen !

    Das ist doch schon was.
    Sind die Daten denn überhaupt komplett ?
    Übertragungsparameter (Daten-,Stopp-,Paritätsbits hast du mittlerweile vermutlich schon 100x überprüft und den rest der Routine auch.

    Da die "Rs232_int:" vermutlich nicht komplett abgearbeitet wird kannst du ja mal die Sünde riskieren und dort ebenfalls Flags setzen.

    zb. in Form von LED's
    Ein paar Ports lasen sich doch sicher vorübergehend abzweigen.

    Nr.1 haste ja schon selber als Indikator für die Hauptschleife eingesetzt.
    Nr.2 würde ich an den Anfang der "Rs232_int:" setzen um anzuzeigen das er dort angekommen ist.
    Nr.3 dann noch ans Ende der Routine um anzuzeigen das er die Routine auch durchlaufen hat.
    Gruß
    Ratber

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    14.09.2004
    Beiträge
    38
    Hallo,

    ja mache ich mal ... ich habe zwar nur eine LED zur Verfügung aber da muß ich das halt mehrmals machen ....

    Gruß Tobias

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Das ist ja nicht tragisch.

    Wenn er hängt ist der Zustand der Ports ja quasi statisch.
    Da kannste die LED eben zur Kontrolle kurz umstecken.
    Gruß
    Ratber

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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