Hallo ich verwende einen dsPIC möchte aber nur z.B. von PORTB die ersten 8 Bit mit C ansprechen, gibt es da irgendeine einfache Möglichkeit nur 8 Bit´s anzusprechen ohne Maskierung oder ähnliches???
>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.
^^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.
Und ich brauch so ein "großen" Controller, da ich keinen 8 Bit Controller kenne der schnell genug ist >30MIPS.
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^^!!
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)
|
Jo das hört sich gut an ich denke so werd ich es machen. Danke Thomas
Wie wäre es mit einem Infineon XC800 der kann >30MIPS und ist 8-bit
Wie wäre es, wenn man erstmal schreibt was man überhaupt machen will und warum man glaubt, dafür 30 MIPS zu brauchen . . .
Ü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
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
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.