Forum: Mikrocontroller und Digitale Elektronik Langer Datenstrom C18


von Gast (Gast)


Lesenswert?

Hallo zusammen

Ich arbeite gerade an ROMAN BLACKS BTc Sound Encoder.
Der nimmt ein wav-files und gibt diese als binaeren Datenstrom wider
den kann man dann bequem an ports legen und somit Laerm machen.
So weit funktioniert das alles prächtig.
Mein Problem :

Ich kriege den Speicher einfach nicht verwaltet, was hauptsächlich
an meinen unlänglichen C 18 Kentnissen liegt.

Ich habe meine Methode read(BYTE);
Die je nach dem was im BYTE steht die PORTS entsprechend belegt.
Im Moment sieht mein Programm so aus :
     ...........
     read(0b01100011)   ;
     read(0b11110000)   ;
     read(0b00010011)   ;
     read(0b11110100)   ;
     .............
Das ist natürlich total ineffizient !
Ich will etwas das so ähnlich wie foglendes aussieht:

dw = 0xAAAA , 0xAAAA , 0xAAAA , 0xAAAA , 0xAAAA , 0xAAAA , 0xAAAA , 
0xAAAA
dw = 0xAAAA , 0xAAAA , 0xAAAA , 0xAAAA , 0xAAAA , 0xAAAA , 0xAAAA , 
0xAAAA

und das müsste ich dann irgendwie auslesen...
Mein Problem ist also im wesentlichen die MENGE an Information...
Irgendwelche Vorschläge was den Aufbau meines C Programms angeht ?

danke und gruss

von Gast (Gast)


Lesenswert?

vielleicht nochmal ergänzend...:
ich verwende den PIC 18F2431

Ich habe SEHR viele Byte Blöcke..
Diese möchte ich möglichst effizient speichern und dann
mit einer Endlos Schleife auslesen ähnlich zu :

Main:
    read(BYTE+x);
    x++
goto Main;

Verwaltung erfolgt vermutlich über etwas das aussieht wie :

ORG 0x00
oder
#pragma code bla = 0x00
oder
org (1*256)

ist halt was für C18 Experten
Notation erraten war noch nie meine Stärke....

wirklich jeder Vorschlag ist willkommen..

gruss

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.