Forum: Mikrocontroller und Digitale Elektronik Ausgaberoutinen


von VLplayer (Gast)


Lesenswert?

hey,
Also ich bin noch ziemlicher anfänger auf dem Gebiet Avr
Und muss nun eine aufgabe machen die mir schon übertrieben kopfschmerzen 
verpasst. Ich bin mir fast sicher wenn man das irgendwie ein bisschen 
kann ist es bestimmt nicht so schwer.
Ich weiss nur nicht wie ich damit anfangen soll

Also Ich soll in C ein Unterprogramm schreiben das zur Ausgabe 
unterschiedlicher Datentypen in ASCII aud die serielle Schnittstelle 
ausgibt

Folgende:
char c
char *c
uint8_t    4bit
uint8_t    8 bit
uint16_t   16 bit
uint16_t   ohne vorzeichen!
int16_t

wäre cool wenn ihr mir helfen könnt

von Bastler (Gast)


Lesenswert?

Vorsicht dein Lehrer kennt das Forum auch!

Zeig doch was du dir schon überlegt hast.

Schönen Tag

von bebiboi (Gast)


Lesenswert?

haha .... ja da könntest du recht haben aber ich muss es ja irgendwie 
irgendwo lernen ....

und das problem ist einfach das ich es morgen haben musss und einfach 
wirklich überhaupt keine ahnung habe
wir wurden ins kalte wasser geschmissen damit

von bebiboi (Gast)


Lesenswert?

das hab ich bis jetzt
 #include <stdio.h>
 #include <inttypes.h>

#define charVariable


volatile uint8_t charVariable;
uint8_t charVariable;




int main ()
{


  DDRB = 0xFF; // Port auf Ausgang
  PORTB = charVariable; // Variable ausgeben

}

von Michael Z. (incunabulum)


Lesenswert?

Kleiner Tip: GCC Tutorial hier auf mikrocontroller.net lesen. Damit ist 
die komplette Aufgabe zu lösen. Du willst eine serielle Schnittstelle 
ansteueren? Also den entsprechenden Abschnitt lesen.

Sorry, aber es sieht mir doch so aus, als ob du hoffst, dir würde jemand 
die Arbeit abnehmen. Recherchefähigkeit ist aber später wichtig, so dass 
dies hier zu recht gefordert wird.

mz

PS: Was soll dies denn?
1
#define charVariable

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> auf die serielle Schnittstelle
Nicht auf einen Port ;-)

Ich schlage vor, du liest dir mal das Tutorial zum GCC durch.
Von Anfang an und speziell: 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Der_UART


> wir wurden ins kalte wasser geschmissen damit
Das empfindet man immer so, wenn man vorher_nicht_gehört_hat,
dass demnächst Wasser kommt, und dass das Wasser kalt sein wird.
Ich glaube nicht, dass dein Lehrer vorher kein Wort zu dem Thema 
verloren hat. Da würden deine Mitschüler ganz hübsch laut schreien.

von Sebastian B. (mircobolle)


Lesenswert?

> Folgende:
> char c
> char *c
> uint8_t    4bit
> uint8_t    8 bit
> uint16_t   16 bit
> uint16_t   ohne vorzeichen!
> int16_t
>
> wäre cool wenn ihr mir helfen könnt

von mir auch nur ein paar "kleine tipps". Es ist echt besser wenn du es 
erstmal selbst versuchst!

Als tipp:

- "Byte-Stream", du kannst mit (& 0x00FF) z.B. maskieren, du kannst (>> 
8) z.B. um ein BYTE shiften, du kannst alles in uint8_t Felder packen 
...

- Mach dir klar: wie versende ich EIN Byte? dann weißt du auch wie du 
2,3,4 usw. Bytes versendest.

- Mach dir klar was ein MSB und was ein LSB ist. Stichwort: Big-Endian, 
Little-Endian... und denk daran, dass es von uC und PC gleich 
interpretiert werden muss...

- für ASCII schau dir die ASCII Tabelle an... du wirst angenehm 
überrascht sein, wie "einfach" sich Zahlen zwischen dezimal und ASCII 
umrechnen lassen (tipp: 0x30)

falls du nicht weiter kommst... hier im Forum sind genug nette und 
fähige Leute die dir sicher bei einem KONKRETEN problem weiter helfen 
können und auch werden.

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.