16Bit Controller nur 8Bit ansprechen

Gast
>ohne Maskierung oder ähnliches

Kaum.
Wer aber eines 16-Bit uC einsetzt, sollte in der Lage sein, diesen auch 
entsprechend zu propgrammieren.
Alternativ würde ich raten, mit einem kleineren Bauteil zu beginnen.
Gast
^^Ja ne das geht schon klar diesen zu programmieren, nur wär ja nicht 
schlecht wenns da irgend ein Trick gäbe, eine einfache oder Maske oder 
ähnliches stellt mich nun nicht vor ein unlösbares Problem nur ist es 
ein wenig umständlich wie ich finde.
Rolf wrote:
> Oder hat vlt. doch jemand eine Idee wie mans einfacher lösen könnte
> evtl. sind ja in der header Datei vom Controller die 8 Bit einzeln
> geheadert^^!!

Wie wäre es mit Makros ???

Schreib dir doch eine eigene Header Datei mit eigenen 
Zugriffsfunktionen.
1
#define u8 unsigned char
2
#define u16 unsigned int
3

4
#define PORTB_LSB(X_8BIT) PORTB=(((u16)(X_8BIT)&0x00FF)|(PORTB&0xFF00)
5
#define PORTB_MSB(X_8BIT) PORTB=((((u16)(X_8BIT)<<8)&0xFF00)|(PORTB&0x00FF)
Persönliche Seite
Üblicherweise ist PORTB ein Makro wie
1
#define PORTB (*((unsigned short volatile*) 0x1234))

Anstatt als Basistyp einen short zu nehmen, kannst du natürlich auch 
eine Struktur oder Union nehmen, welche die einzelnen Ports/Bits von 
PortB reflektiert.

Entscheidend ist, welche Zugriffe der Compiler erzeugt bzw. erzeugen 
kann/darf. Isbesondere Atomizität (Atomarheit? ... bescheuerte 
Wörter...) sind von Belang.

Bei der Makro-Lösung von oben ist zu beachten, daß ein Zugriff in zwei 
Hardware-Zugriffen resultiert, weil das Makro "PORTB" doppelt. Damit 
liegt man rasch mal auf der Nase!

Johann
Gast
Dankeschön für die Antworten,
so was mein Vorhaben anbelangt ich will ein Audiosignal abtastet, mit 
den gesampelten Werten möchte ich eine FFT durchführen und anschließend 
das Ganze auf einem GLCD darstellen.
Die 30 MIPS hatte ich nur angedacht damit mein dargestelltes Signal 
einigermaßen synchron zur Musik ist, klärt mich bitte auf wenn das zu 
oversized ist.

Gruß Thomas

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.