Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> &gt; hallo allerseits > &gt; > &gt; ich benutze den gnu compiler für C16x microcontroller von hightec mit dem beispiel zur c-programmierung von Eric Hospel (aus dem ASM bereich). > &gt; > &gt; alles funktioniert bestens, bis auf das einschalten der interrupts: > &gt; SET_SFRBIT(ien) > &gt; [ #define SET_SFRBIT(NAME) __asm__ volatile ("bset "#NAME"") ] > &gt; lässt das programm einfach anhalten(also wahrscheinlich abstürzen) > &gt; > &gt; selbiges gilt (irgendwie logischerweise) für SET_SFRBIT(psw.11) > &gt; [psw.11 == ien] > &gt; > &gt; nicht aber für CLR_SFRBIT(ien) > &gt; oder zB SET_SFRBIT(p1L.0) etc. > &gt; > &gt; ist an IEN irgendwas besonders? oder hat jemand eine idee was hier schief läuft? > &gt; > &gt; danke > &gt; hannes > &gt; > > > &gt; PS: > &gt; danke @ andre (und wer sonst noch so beteiligt ist/war) für die beste(wenn auch einzige ;) CC2 site. > &gt; > &gt; > > hallo! > > ich hatte mich auch erst kürzlich mit diesem problem beschäftigt. > ich wollte den rücksprung zum C2-programm realisieren, aber offensichtlich > konnten nach(und während) dem ausführen der C-Routine keine interrupts > mehr ausgeführt werden. das system hing sich immer auf. > Ich fand heraus, dass der assemblercode der in der ctr0_167.s steht > dafür verantwortlich ist. Dort werden wahrscheinlich die interrupt-pointer gelöscht > (initialize dpps) .wenn alles bis auf den aufruf der C-Routine stehen lässt, > funktioniert es! dann braucht man die interrupts auch gar nicht erst ausschalten. > > außerdem hab ich den aufruf der C-Routine so gestaltet, dass die interrupts nicht > "gestört" werden.so kann man auch ohne weiteres zurück springen. > zum C2-Programm springen kann > > das steht jetzt bei mir in der crt0_167.s: > > .text > start: > pop r1 @workaround für VM-Bug > pop r1 > jmps SEG:_main,SOF:_main > > wenn man die main-funktion nun verlässt kommt man wieder in das c2-programm > jetzt kann man auch beliebig oft die interrupts aus und einschalten,ohne dass das > programm abstürzt!
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB