Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: HILFE , Unerklärbare effekt wenn etwas Testcode weggelassen wird Kategorie: Programmierung C (von Jörg - 28.11.2010 17:32)
Als Antwort auf HILFE , Unerklärbare effekt wenn etwas Testcode weggelassen wird von jo - 28.11.2010 12:15

> Hallo zusammen,
> mein akt. Projekt ist soweit so gut wie abgeschlossen. Ich habe in der Entwicklungsphase im 10ms
> TimerInterrupt folgenden code laufen, der beide LEDs abwechselnd rasch blinken lässt.
>
> ...
>
>     if( Int10msCtr & 16) {
>       Port_WriteBit(PORT_LED1, ON);
>       Port_WriteBit(PORT_LED2,OFF);
>     } else {
>       Port_WriteBit(PORT_LED1, OFF);
>       Port_WriteBit(PORT_LED2, ON);
>     }
> ..
> Damit erkennt man, dass der Interrupt aufgerufen wurde und der C-Control arbeitet.
>
> Nun ist das Proj. fertig. und ich habe diesen Block auskommentiert
>
>  /*
>     if( Int10msCtr & 16) {
>       Port_WriteBit(PORT_LED1, ON);
>       Port_WriteBit(PORT_LED2,OFF);
>     } else {
>       Port_WriteBit(PORT_LED1, OFF);
>       Port_WriteBit(PORT_LED2, ON);
>     }
>  */
>
> --> Die Applikation bleibt nun kurz nach dem Start stehen, völlig unklar wieso,
>
> aber und es wird noch aberwitziger
>
> bei folgendem erneut leicht modifiziertem Code
>
>
>     if( Int10msCtr & 16) {
>       Port_WriteBit(PORT_LED1, ON);
>  //     Port_WriteBit(PORT_LED2,OFF);
>     } else {
>       Port_WriteBit(PORT_LED1, OFF);
>  //     Port_WriteBit(PORT_LED2, ON);
>     }
>
> gibt es eine RAM Schutzverletzung
>
> Conrad C-Control Pro 2010                                                                                              
> OK0                                                                                                                    
>                                                                                                                        
> Interpreter gestartet - 64kb RAM                                                                                        
>                                                                                                                        
> Interpreter gestartet - 64kb RAM                                                                                        
>                                                                                                                        
> Stack RAM Schutzverletzung  bei Adresse 55647 in Thread 0                                                              
>                                                                                                                        
> Zeit: 1270ms      
>
>
> --> Kann es sein, dass im Bytecode Interpreter ein Bug ist????
> Kennt jemand sonst solche Effekte?
> Hat jemand eine Idee wie man den eigentlichen fehler finden kann.
>
> Brenne nach guten Inputs
>
> Danke und Grü�e
>
> Jo

Hallo Jo,

wie verhält sich Dein Programm, wenn Du den Interrupt unangetastet lä�t und
an anderer Stelle den Code reduzierst?

Grü�e Joerg



    Antwort schreiben


Antworten: