Forum: Mikrocontroller und Digitale Elektronik Textarray mit 160 Zeichen???


von Helge (Gast)


Lesenswert?

Hallo
Hab mal wieder ein Problem.Möchte ein Textarray von 160 Zeichen 
bereitstellen. Möglich sind aber nur 57.
Ich bin schon vom 4433 auf ein 8535 umgestiegen weil ich dachte es sind 
Speicherprobleme. Hat jemand eine Idee? Hier ein kleiner Ausschnitt:

#include <90s8535.h>
#include <stdio.h>
#include <string.h>
void main(void)
{
char string[57]; //max 57 und brauche 160zeichen ?????????????
unsigned char i=1;
unsigned char shift=1;
unsigned char acht=8;
unsigned char tmp;
int laenge;

von crazy horse (Gast)


Lesenswert?

Welchen Compiler verwendest du?
Wahrscheinlich wird es daran liegen, daß du das memory model auf small 
statt tiny setzen mußt.

von reiner (Gast)


Lesenswert?

160 Zeichen ? Klingt nach SMS String. Mit dem 8535 habe ich eine PDU 
Wandlung hinbekommen. Allerdings mußt Du mit dem Speicher haushalten und 
Speicher allokieren also mit alloc, malloc oder calloc arbeiten und 
nicht so vielen globalen Variabeln.

Bei mir laufen parallel statische 60 Bytes  + 25 Bytes und 170 
"malloc"ierte Speicherstellen. (malloc.h nicht vergessen).

von BAB (Gast)


Lesenswert?

hi reiner..
ist der malloc für den gcc?
wenns es dir nichts ausmacht würde ich die lib gerne haben.

von Helge (Gast)


Lesenswert?

Ich verwende den Codevision AVR Compiler.
Wie Reiner erkannt hat soll es ein PDU werden. Klappt auch alles nur die 
Zeichenlänge haut nicht hin. So eine malloc.h oä. steht mir leider nicht 
zur verfügung. Wo stelle ich denn dieses small oder tiny ein? Hab als 
Vorgabe einfach 8535 benutzt und meine Werte (UART,PORT usw.)gesetzt.
Gruß Helge

von crazy horse (Gast)


Lesenswert?

projekt->configure->C-compiler

von Helge (Gast)


Lesenswert?

hab jetzt mal das memory model auf small statt tiny gesetzt.bringt 
leider auch nichts.ab 58 zeichen gehts nicht mehr

von crazy horse (Gast)


Lesenswert?

Hast du auch im og. menü den 8535 eingestellt? Oder nur mit der 
inc-Datei? Ich hab deinen Kram gerade mal compiliert, geht problemlos.

von Helge (Gast)


Angehängte Dateien:

Lesenswert?

ja hab ich alles gemacht.hab auch nochmal ein neues projekt mit einem 
8535 erstellt.ich hänge mal das ganze prog im anhang an.
das kann ich bei mir mit mehr als 57 zeichen nicht compilieren

von crazy horse (Gast)


Lesenswert?

Mußt die Variable als globale Variable deklarieren, nicht innerhalb 
main{}

von Helge (Gast)


Lesenswert?

ich kanns gar nicht fassen.danke dir für den tipp!!! es geht jetzt
gruß helge

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.