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;
Welchen Compiler verwendest du? Wahrscheinlich wird es daran liegen, daß du das memory model auf small statt tiny setzen mußt.
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).
hi reiner.. ist der malloc für den gcc? wenns es dir nichts ausmacht würde ich die lib gerne haben.
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
hab jetzt mal das memory model auf small statt tiny gesetzt.bringt leider auch nichts.ab 58 zeichen gehts nicht mehr
Hast du auch im og. menü den 8535 eingestellt? Oder nur mit der inc-Datei? Ich hab deinen Kram gerade mal compiliert, geht problemlos.
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
Mußt die Variable als globale Variable deklarieren, nicht innerhalb main{}
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.