Forum: Mikrocontroller und Digitale Elektronik Software-UART auf einem AVR


von Owen S. (senmeis)


Lesenswert?

Hi,

man muss Software-UART auf einem AVR realisieren. Wo findet man solche 
Stacks?

Ciao
Owen
von Michael S. (schiko)


Lesenswert?

Nach der Suche nach Software Uart im ersten Beitrag?
von Klaus D. (kolisson)


Lesenswert?

Owen Senmeis schrieb:
> man muss Software-UART auf einem AVR realisieren. Wo findet man solche
> Stacks?

Sind das schon die Weihnachtsfragen ?

der Nikoklaus
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Assembler ? C ? Fortran ? Algol ? BASIC ? Forth ( wegen 'Stack' , hehehe 
)
Ein Hinweis auf die Sprache wäre hilfreich und vllt. auch was über den 
verwendeten MC .
von Route_66 H. (route_66)


Lesenswert?

Hallo!
Die Sprache "Forth" arbeitet haupsächlich über Stacks.
von ... - - - ... (Gast)


Lesenswert?

schau dir den mikroC-Compiler an. Dieser hat eine große Bibliothek, da 
ist auch Soft-Uart dabei.
von Hermann U. (Firma: www.pcb-devboards.de) (gera82)


Lesenswert?

Owen Senmeis schrieb:
> Hi,
>
> man muss Software-UART auf einem AVR realisieren. Wo findet man solche
> Stacks?
>
> Ciao
> Owen

Hi,
hier ist eine 16Bit UART Routine (kein Standard) mit 1 Start und Stopp 
Bit.
Kann man schnell auf 7-9 bit umschreiben.
1
void UART_16bit_out_LSB (unsigned int out)
2
{
3
     unsigned char bits;
4
5
        TX_out = 0;
6
7
        NANO_SEC_ASM_TX_START;    //Startbit pause
8
9
        /* 16 Bits pro Word rausschieben */
10
        for (bits = 16; bits > 0; bits--)
11
        {
12
13
            if (out & 1)
14
            {
15
                TX_out = 1;
16
            }
17
            else
18
            {
19
               TX_out = 0;
20
            }
21
22
            out >>= 1;
23
24
          NANO_SEC_ASM_TX;
25
        }
26
27
      TX_out = 1;
28
     
29
   NANO_SEC_ASM_TX_STOP;
30
}
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.