hi,
ich hab nun ein neues projekt angefangen, und wie htte es auch anders sein knnen, habe ich schon wieder ein unlsbares problem welches wohl auch dieses gefhrdet und mir den spass endgltig verdirbt
es geht um folgende: ich mache gerade ein kleines programm welches mit dem hyperterminal arbeitet und ihm bei unterschiedlichen zustnden unterschiedliche sachen per SerPrint(); schickt. soweit so gut. das hat auch wunderbar funktioniert, bis zu einer bestimmten anzahl an gespeicherten strings. sobald ich sie berschreite, fngt der asuro an, smtliche strings in einen topf zu schmeissen, und ber serprint einfach irgendeinen mll auszugeben.
da ich davon ausgegangen bin dass er ungefhr 8K ROM hat, wovon ich evtl 6-7K fr meine sachen verwenden kann, mssten es schon einige tausend zeichen sein die er ohne probleme speichern sollte.
mein problem fngt aber schon bei ~600 zeichen an, was doch eigentlich schon sehr weit unterhalb der grenze liegen sollte..
ich habe hier einen kleinen test-code erstellt um mein problem zu verdeutlichen: (einige stellen des codes sind auskommentiert, erklrung weiter unten)
wenn ich das an das terminal sende, kommt folgendes raus:Code:#include "asuro.h" int main(void) { Init(); SerPrint("00ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("01ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("02ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("03ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("04ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("05ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("06ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("07ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("08ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("09ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("10ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("11ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("12ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("13ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("14ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("15ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("16ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("17ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("18ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("19ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("20ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("21ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); /*SerPrint("22ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("23ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("24ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("25ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("26ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("27ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("28ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); SerPrint("29ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\r\n"); */ while(1); return 0; }
man beachte dass es in der 5. zeile erst anfngt und dass die 18. zeile komplett zerhackt ist. (der fehler ist reproduzierbar und liegt nicht an der ir-verbindung).Code:05ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 06ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 07ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 08ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 09ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 10ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 11ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 12ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 13ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 14ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 15ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 16ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 17ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI18ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNO PQRSTUVWXYZ 19ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 20ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ 21ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ
wenn ich die auskommentierten stellen des codes noch hinzufge, wird es noch viel hefitger, dann kommen noch mehr verwirrte zeichen an. jetzt wrde ich gerne wissen, woran das liegt. wieso geht es nicht, und warum fngt das problem schon bei so relativ wenigen zeichen an? was mache ich falsch? was kann ich anders machen?
danke schonmal..







Zitieren

Lesezeichen