- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 9 von 9

Thema: Attiny2313 Senden über RS232 mit Bascom

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2004
    Beiträge
    24

    Attiny2313 Senden über RS232 mit Bascom

    Anzeige

    E-Bike
    Hallo zusammen,
    ich möchte einen Attiny2313 mit Bascom programmieren und Sachen über RS232 an einen PC senden. Den Controller zu programmieren und zu machen klappt alles wunderbar nur kommt nichts bei meinem PC an.
    Als RS232 Pegelwandler benutze ich den MAX232CPE, den ich exakt nach dem Schaltplan von der RN-Control aufgebaut habe. An dem liegt es auch defintiv nicht, da ich ihn mit einem anderen Microcontroller getestet habe und der ganze Aufbau dort wunderbar funktionierte. Ansonsten hab ich am Attiny nichts groß angeschlossen. Läuft noch mit internem Takt von einem Mhz und es ist nur eine LED dran zum überprüfen ob das Programm läuft.
    Mein Testprogramm sieht wiefolgt aus:

    Code:
    $regfile = "attiny2313.dat"
    $crystal = 1000000
    $baud = 9600
    
    Config Portd = Output
    
    Do
    
       Portd.6 = 0
       Waitms 100
       Portd.6 = 1
       Waitms 100
       Print "test"
    
    Loop
    Kann es sein das man das Senden über RS232 beim Attiny2313 erst noch irgendwie enablen muss? Also irgendwelche Fusebits setzen muss oder im Programm erst noch was initialisieren muss?
    Im Datenblatt steht dazu zwar was aber leider sind die Codebeispiele zur Initialisierung nur in C und in Assembler angegeben, was mir leider nicht viel weiterhilft, da ich damit noch nie etwas gemacht habe.

    Vielen Dank schon mal und viele Grüße
    Daniel

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo,

    gern genommen wird der Fehler mit den vertauschten Leitungen RX <-> TX

    Was auch sein könnte, der eingebaute Taktgeber soll ja nicht so sehr genau sein, und die Geschwindigkeit hat keine 9600.
    Und was dazu kommt, um die 9600 baud zu bekommen bei 1MHz gibt es eine Abweichung von -7% laut DB.
    Probier es mal mit 4800, da ist die Abweichung deutlich geringer, dann kannst Du den Fehler schon etwas eingrenzen.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    Was auch ne Stolperfalle ist:
    Der Tiny2313 hat nen Clockdivider eingebaut, der den
    Takt durch 8 teilt. Ein-Aus-schalten geht per Fuse,
    schau mal ob der enabled ist. Wenn ja, dann disablen.
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Mit dem U2X-Flag kannst du die Baudrate verdoppeln. Dadurch bekommst du kleinnere Feler und liegst auch bei 1MHz und 9600 Baud in der Toleranz von 0.2%.

    http://people.freenet.de/gjl/helferl...t-rechner.html
    Disclaimer: none. Sue me.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2006
    Beiträge
    118
    Hallo zusammen,
    ich hab mein ersten Attiny ohne Fusebits zu setzen angeschlossen.
    Da kam aber wenigstens "Müll" auf den Terminalprogramm.
    Dann ist mir eingefallena war noch was?.Also auf externen Quarz
    umschalten.
    Wenn gar nichts kommt, ist das schon komisch.
    Ich würde heute immer die krummen Quarze nehmen.(Nach Baudraten
    Rechner)
    Sprinter SB :Wie geht das mit den U2X-Flag.Was muss ich da tun?

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2004
    Beiträge
    24
    Vielen Dank für die schnellen Antworten. Also ich habs mal probiert mit 4800 Baud aber da kam immer noch nichts an.
    Das Fusbit vom Clockdivider war enabled aber das disablen hat auch nichts gebracht. Aber muss ich dann 8 Mhz als Taktfrequenz einstellen wenn das disabled ist?

    Aber ist doch schon irgendwie komisch wie Picht schon gesagt hat, dass da gar nichts kommt. Meint ihr es wär mal ein Versuch wert ein Testprogramm in C zu probieren? Dann könnte man mal mit den Einstellungsmöglichkeiten aus dem Datenblatt rumprobieren.

    Gruß
    Daniel

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2006
    Beiträge
    118
    Hallo,
    Dein Programm läuft bei mir .Die LED blinkt und das Terminalprogramm
    sagt laufend "Hallo" zu mir.
    Ich benutze Quarz :9216000 Hz
    FuseBits Programmet: CKAUT ,SUTO
    Versuch Dein Glück

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Zitat Zitat von Picht
    Wie geht das mit den U2X-Flag.Was muss ich da tun?
    In UCSRA einfach U2X=1 setzen.
    Disclaimer: none. Sue me.

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2005
    Ort
    Kaiserslautern
    Beiträge
    794
    Hi, dass gar nichts kommt, ist ganz normal. War bei mir zumindest genauso, bis ich die Baudrate richtig eingestellt hatte.

    Das U2X ist ein Bit in einem der Statusregister. Weiteres steht unter entsprechendem Punkt im Datenblatt
    (edit: ups... länger nicht refreshed gehabt... sry )

    Gruß, CowZ

Berechtigungen

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

Solar Speicher und Akkus Tests