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
Vorsicht dein Lehrer kennt das Forum auch! Zeig doch was du dir schon überlegt hast. Schönen Tag
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
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 }
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
|
> 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.
> 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.