Hallo zusammen, arbeite gerade mit dem R8C und dem HEW. Leider habe ich das Problem, dass funktionen zwar aufgrufen werden, allerdings am Ende der Fkt nicht mehr in die Main-Routine zurueckgesprungen wird... Beispiel void main(void) { test(); //hier kommt man nicht mehr an } void test(void) { //Bis hier läuft alles } jemand ne idee woran das liegen könnte?
Hallo Andreas, du hast aber schon eine Endlosschleife eingebaut?? Etwa so: void main (void) { while(1) { test(); } } void test(void) { //Bis hier läuft alles } ...ansonsten läuft der Programmzeiger 'theoretisch' ins unendliche.... Rudi
vielleicht solltest du beim Beenden deiner Funktion ein return; hinsetzen. weiss nicht, ob das einen Unterschied macht, sollte eigentlich nicht, aber probieren geht ja bekanntlich über studieren. viel spass, gruss Tobias
hatte ich au mal versucht... beim anlegen des projects "use heap memory" raus und schon funktionierts...
Hi, ich habe habe auch so ein seltsames Verhalten feststellen können. Interessanterweise funktioniert ein Rücksprung im Simulator-Mode einwandfrei, verwende ich aber den E8-Emulator im Debugger Mode erfolgt nach Beendigung der "ersten" Funktion (zu einer zweiten bin ich im Emulator-Mode nie gekommen!!!) ein Rücksprung auf eine ILLEGAL INSTRUCTION mit der Bezeichnung UND im Disassembler. Habe es mit der HEW x.42 und x.43 getestet, beide zeigten ein gleiches Verhalten.
Moin moin, ich würde mal die sect30.inc untersuchen. Klingt so als wenn der Stackpointer keinen RAM mehr unter seinen Füssen hat. C-Compiler für MCUs erzeugen eigentlich automatisch eine while(1)-Schleife in der main() aufgerufen wird, d.h. wenn main() verlassen wird, wird main() neu gestartet. Und wech...
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.