mikrocontroller.net

Forum: Offtopic Multiprozessing SAB 80515/SAB 80C515


Autor: Sebastian F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

ich brauche hilfe und zwar

soll ich fuer die schule ein programm schreiben welches auf dem
controller (SAB 80515/SAB 80C515 (Siemens)) mehrere Prozesse laufen
laesst (Multiprocessing)

leider habe ich keine ahnung wie ich das angehen könnte

könntet ihr mit vielleicht einen link zu solch einem programm geben?
oder mir vielleicht erklären wie ich die aufgabe bewältigen könnte?

danke im voraus :)

gruss

Autor: Uli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider kenne ich keinen Link für eine solche Routine für einen 80515.
Es gibt aber so etwas in mengen für Atmel´s.
Ich würde das bzw. es ist umungänglich mit dem Timer lösen.
Nach einer gweissen Zeitspanne wird ein Interrupt ausgelöst 1. Programm
wird abgearbeitet.
Nach einer gweissen Zeitspanne wird ein Interrupt ausgelöst 2. Programm
wird abgearbeitet.

usw.

Gedanken muß man sich nur noch zum speichern der aktuellen programm
variablen machen.
ich hoffe es hilft dir weiter

Mfg Uli

Autor: nobody0 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, aber für sowas sollte man in jedem Fall einen ANSI-C-Compiler
nehmen; ich muß mich nämlich häufig mit IAR-Compilern rumquälen, weil
der Code in der Firma wegen diesen Compilern Unsinn wie viele
undefinierte Ausdrücke enthält und keine einzige volatile-Variable,
obwohl viele Variablen von Interrupt-Service-Routinen bearbeitet
werden. Dadurch produzieren ANSI-C-Compiler bei dem Code viele
(richtige) Warnungen und optimieren z. B. Warteschleifen (ohne volatile
Variable) weg bzw. bleiben da hängen.

Übrigens stimmt das Topic immer noch nicht:
http://forum.ingame.de/quake/showthread.php3?threadid=145974

Autor: KoF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab mal an etwas ähnlichem (anderer uC) gearbeitet.

es ist garnicht mal so schwer ;)
du benötigst nur einen zeitinterrupt, der nach einer gewissen zeit die
register ausließt, diese in ein stack schreibt und dann eine andere
funktion ausführt, welche eventuell auch noch registerdaten im stack
hat. diese schreibst du dann einfach aus dem register in das stack
zurück.

naja ganz so einfach ist es nun doch nicht, aber naja, grübeln muß man
schon etwas ;)

ach und eventuell solltest du dir mal die implementation von assembler
(inlineassembler) unter c ansehen!!! sonst sind die stack-register-zeit
funktionen nicht so ohne weiteres zu verwirklichen ;)

ein hab ich aber noch ;)
in der c`t stand mal ein artikel (mit beispielen) wie man soetwas
verwirklichen kann. ich meine das wa so vor 6 monaten oder so ;)

mfg KoF

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, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.