vorspann

## 06122026
## David Vajda 
## RS232 atmega8, was mir bekannt ist…

was mir bekannt ist ...

  1. Um RS-232 herum (Basiswissen)
  2. Am Atmega8 ausserhalb der Programmierung
  3. Bei der Programmierung
  4. Um RS-232 herum (Basiswissen)

CCITT - Central Committee de Information et Telecommunication Technique? Francaise

Baud: Jean Maurice Baudot (Lebte??)

Baud Rate: Anzahl der Zeichen pro Sekunde, die übertragen werden Baudot Code: 5 Bit Code Synchroner binär Code

RS-232:

  1. ein oder zwei Startbits
  2. ein Stopbit
  3. 5 bis 9 Datenbits
  4. odd/even/no parity

Odd: gerade
Even: ungerade

2400 4800 9600

Davor deswegen:

 
1200 600
Baud.
USART 
UART
Universal Serial …????

Controller Baustein: wg.

Einstellung: z.B. bei 8086 ...x86 ...

Auf atmega8 integriert

Dazu: MAX232

Pegel Anpassung

  1. USART
  2. MAX232

MAX232: Connections:

  1. R1IN
  2. R2IN
  3. R1OUT
  4. R2OUT
  5. T1IN ??? (T)
  6. T2IN ??? (T)

Macht aus 0/5V L/H
-12V/12V L/H oder H/L
Kann sein: ...H/L

Dazu kommt die physische Anbindung: Stecker:

  1. SUB-D-9
  2. SUB-D-9-Stecker: Male
  3. SUB-D-9-Buchse: Female
9 Pins: 
Norden 5 
S"uden 4
Man fängt oben an zu zählen… entweder Westen -> Osten oder anders herum..

Pins: (Zahlen entsprechen Auflistung…)

  1. GND
  2. TxD
  3. RxD
Dazu kommen:

RTS 
CTS 
DTR 
DSR 

RTS: Ready To Send 
CTS: Clear To Send 
DTR: Data Terminal Ready 
DSR: Data Set Ready
...

Kommen noch mehr dazu

Transmit/Recieve
Ok:

Terminal: Datenendgeraet: z.B. Automat: also, wo ich ran gehe, ist ein Terminal TOS: Terminal of Service Flughafenterminal/Gate

Das Flugzeugzeug fliegt vom Gate: 100 bis 900 z.B., … Aber Einlass ist T3 … T1 z.B.

Set: steht fuer modem, was beim Flughafen Gate ist, aber trotzdem auch beim Computer Gate oder Port sein kann…

  1. Am Atmega8 ausserhalb der Programmierung
Atmega8:

USART + MAX232
aber: MAX232 ist Schaltung...ausserhalb ist auf STK500 schon drauf, Kabel zu setzen, ...mit RS-232 Spare??? Glaube ich verbinden...(SUB-D-9)-Buchse (glaube) ich, waehrend das andere wohl RS-232 Cntrl ist ...

Ok:

Folgende Controll Register, Ports

Port? Heisst, wie

 
DDRB, DDRD, PORTB, PORTD, SPH, SPL, ..
laden.
ldi r16, HIGH (RAMEND) 
out SPH, r16

Folgendes Controll und Status Register gibt es

UCSRC
UCSRB 
UCRSA

UCSRC: USART Control and Status Register
UDR: USART Data Register

Dann gibt es folgende bits. bzw. einstellungen

  1. zunaechst muss ich die Baudrate einstellen

    diese ist abhaengig von dem Takt des Controllers...
    ich glaube sie entspricht einem Teiler durch 16 + 1

    also: Baudrate = CPU-CLK/16 + 1
    aber in den Controller muessen feste werte eingetragen werden, ich glaube
    25 ...und so weiter...

  2. Bits: ok:
    1. Es gibt sicher einen globalen port fuer alle einstellungen
    2. Aber einen fuer die Interrupts
    3. einen fuer das USART - aber das ist UCSRC ...UCSRA
    dafuer gibt es aber ein Bit … (also nicht in einem USART Unspezifischen Port wird der USART aktiviert)
    TXEN 
    RXEN
    
    TXEN: Transmit Enable 
    RXEN: Recieve Enable
    
    ...oder so

    dann kommt:

    UCSZ0: UCSZ1
    USART Character Size
    

    Spielt eine Rolle bei 5 ... 9 Daten Breite

    URSEL: ...weiss nicht was das ist, ist aber notwendig

    UDRE: USART Data … Irgendein Bit zum Testen, ob die Daten anliegen ob ...

    UBS ...oder irgendso etwas, habe ich gerade vergessen.

  3. Bei der Programmierung

    man braucht zwei verschiedene routinen: transmit und recieve:

    eben ich glaube beim Empfangen: muss das. UDRE Bit immer getestet werden, bis man die Daten uebernehmen kann...

    ansonsten easy thing...jetzt pause, nachher weiter

  4. Dazu kommt noch: das Programm in Linux/Mac (Bash) fuer die andere Seite, zur kommunikation

    STTY oder wie heisst das?

    serieller Port: /dev/ttyUSB0 oder /dev/ttyS3

so, ich fange heute wieder an mit dem atmega8 programmieren. zunaechst, also nicht erst die 17 segment anzeige...rs232...dann: die externen interrupts. rs232 ist mir teilweise klar, aber eben nicht jedes bit was man setzen muss und alles, bevor ich richtig los lege, schreibe ich auf, was mir bekannt ist...

%% david vajda
%% LaTeX CircuiTikZ First Test 
%% 06/11/2026

\documentclass [a4paper]{article}
\usepackage{german,amsmath,amsfonts}

\usepackage[american, RPvoltages]{circuitikz}

\title{\LaTeX first CircuiTikZ Test}
\author{David Vajda}

\begin{document}
\maketitle
  4856
\begin{circuitikz}
\node [and port] (and1) at (0,0) {};
\node [and port] (and2) at (0,2) {};
\node [and port] (and3) at (0,4) {};
\node [and port] (and4) at (0,6) {};
\end{circuitikz}

\end{document}