Hallo, ich möchte gern den 10Bit ADC eines ATMega32 über den SPI an einen zweiten ATMega schicken. Nun stellt sich mir die Frage, ob es möglich ist den eingelesenen Wert so umzuwandeln, dass es ein byteweises versenden ermöglicht. Folgendermaßen habe ich mir den Vorgang gedacht, als erstes lese ich den Wert ein, der zw. 0 und 1024 liegen kann. Diesen wandle ich in einen String um und würde diesen dann gern in ein "Byte -Array" schreiben, um diese nacheinander zu senden. Die Programmierung würd ich gern in BASCOM-AVR realisieren. Sieht jemand eine Möglichkeit dies so umzusetzten oder gibts einen besseren Einfall? Vielen Dank für eure Hilfe Stephan
.. schick zuerst den Low-Teil (8 Bit) und dann danach die letzten 2Bit (verpackt in 8 Bit). Du mußt also 2 Byte senden!
Mal ins Datenblatt geguckt, wie und wo das Resultat abgelegt wird?
Das mit dem Aufteilen in 2 Teile ist mir auch schon in den Sinn gekommen, bloß ich weiß nicht, wie man das in BASCOM-AVR möglichts unkompliziert schreibt...
>BASCOM-AVR
Du das weis ich auch nicht.
in VB würde ich folgendes anwenden
LowTeil = Wert and 0x00FF '&HFF
HiTeil = Wert and 0x0300 '&H300
aber mit Sicherheit lassen sich die beiden Byts auch einzeln
auslesen!
>bloß ich weiß nicht, wie man das in BASCOM-AVR möglichts unkompliziert >schreibt... Mit HIGH(wert) und LOW(wert). Das habe ich in 4 Minuten rausbekommen ohne auch nur einen blassen Schimmer von BASCOM zu haben.
Einfach die Register ADCH für die oberen 2bit und ADCL für die unteren 8bit abfragen und versenden.
>Einfach die Register ADCH für die oberen 2bit und ADCL für die unteren >8bit abfragen und versenden. das geht? in BASCOM? Registerpaare auch einzeln auslesen? BASCOM wird mir immer sympathischer!
So > Mit HIGH(wert) und LOW(wert). Das habe ich in 4 Minuten rausbekommen ohne auch nur einen blassen Schimmer von BASCOM zu haben. oder so > Einfach die Register ADCH für die oberen 2bit und ADCL für die unteren 8bit abfragen und versenden. hätt ich's auch probiert- ohne BASCOM jemals gesehen zu haben. EIN Blick ins Datenblatt... aber ich wiederhol mich nicht gerne.
@ Bensch man bitte klärs auf. >hätt ich's auch probiert- ohne BASCOM jemals gesehen zu haben. EIN Blick >ins Datenblatt... aber ich wiederhol mich nicht gerne. ich erwäge mir eine Vollversion von BASCOM zu zulegen. Zu schnellen Testzwecken scheint mir das geeignetste zusein, wenn man Basic halbwegs verstanden hat. Keine Angst Finalprodukte sind, bei mir, in ASM geschrieben.
BASCOM eine Sprache die es nur auch einem µC Typ gibt und sonst niemanden interessiert, na besser kann man seine Zeit nicht verschwenden. Und dann auch noch stolz erzählen das man Final mit ASM programmiert. Zeitverschwendung!!!!! Lern C und du kannst alles auf jedem Controller programmieren, aber immer diese Insellösungen.
"Keine Angst Finalprodukte sind, bei mir, in ASM geschrieben." Hammer! Was bin ich froh, dass ich sowas nicht mehr mache/(n) muss. Hatte gerade das "simple" Problem, ein älteres Design mit 90S8535 (war damals der einzige mit A/D-Wandler) auf Mega8 zu portieren, trotz gleicher Familie war das nicht ganz ohne Fallstricke, hielt sich aber in Grenzen. Klopf dir auf die Schulter, du bist ein Saurier!
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.