Datum: 10.06.2007 18:47
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?
Datum: 10.06.2007 18:55
Vermute mal du hast dir irgendwie deinen Stack vergurkt. Olaf
Datum: 12.06.2007 14:22
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
Datum: 12.06.2007 18:17
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
Datum: 12.06.2007 19:40
hatte ich au mal versucht... beim anlegen des projects "use heap memory" raus und schon funktionierts...
Datum: 12.06.2007 20:36
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.
Datum: 12.06.2007 20:51
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...
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
- Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel


