Frage zur seriel senden bei AVR

Gast #538081
Lesenswert?
• ▲
▼
Hallo leute ich möschte gerne wissen wenn ich die ADC-werte so schicken 
kann über die serielle schnittstelle!

Ich muß aber dies ohne handshake und startbit und stopbit machen!! ist 
dies dann so richtig???

;----------------------------------------------------------------------- 
-

      ldi  TEMP,  0x43





      out ADMUX, TEMP

      ldi   temp1,0xE7







    out   ADCSRA,temp1
loop12:    in    temp1,ADCSRA
    andi  temp1,0x10     ;kontrolliere ob wandlung fertig
    breq  loop12       ;wenn nicht spring auf loop

      sbi   ADCSRA,4    ;set bit in 4


;Senden der AD-Wandlungswert der Temperatur ((((IST DIES SO 
RICHTIG))))))
;===========================================
Senden2: in temp1,ADCL      ;Low byte des AD-Wandler von der temperatur 
in
        ;register- temp setzen
  out  UDR, temp1    ;Wert von temp dann über den seriel-port schicken

  in   temp1,ADCH   ;HIGH byte des AD-Wandler von der temperatur
            ;in register - temp setzen
  out  UDR, temp1    ;Wert von temp dann über den seriel-port schicken
#538086
Lesenswert?
• ▲
▼
gost wrote:
> Hallo leute ich möschte gerne wissen wenn ich die ADC-werte so schicken
> kann über die serielle schnittstelle!
>
> Ich muß aber dies ohne handshake
OK

> und startbit und stopbit machen!!
das geht nicht. Start und Stopbit sind integraler Betsandteil
dessen was man RS232 nennt. Ohne funktioniert RS232 einfach
nicht.


> ;Senden der AD-Wandlungswert der Temperatur ((((IST DIES SO
> RICHTIG))))))
> ;===========================================
> Senden2: in temp1,ADCL      ;Low byte des AD-Wandler von der temperatur
> in
>         ;register- temp setzen
>   out  UDR, temp1    ;Wert von temp dann über den seriel-port schicken
>
>   in   temp1,ADCH   ;HIGH byte des AD-Wandler von der temperatur
>             ;in register - temp setzen
>   out  UDR, temp1    ;Wert von temp dann über den seriel-port schicken

> ist dies dann so richtig???

Nein.
Du solltest vor dem Senden (einschrieben in UDR) die
UART zunächst befragen ob sie überhaupt bereit ist
ein Zeichen anzunehmen. Das Senden eines Bytes dauert
seine Zeit.

Warum schaust du nicht ins Tutorial. Das ist das alles
beschrieben.

http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART

und der dürfte dich auch interessieren

http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.