Ablauf eines Programms?

Gast #842647
Lesenswert?

Hallo zusammen

Ich habe flolgenden Wunsch mit einem Mikrokontroller zu erfüllen.

4 Anbaumessschieber (Chinese scale) einlesen und eventuell umwandeln 
(addieren, subtrahieren, multiplizieren, dividieren). Danach soll der 
gerechnete Wert für jeden Messschieber separat auf einem 6 stelligen 
7-Segmentanzeige ausgegeben werden.
Des weiteren möchte ich noch ein Hallsensor einlesen und die Drehzahl 
errechnen.

Ich habe noch nie soetwas im zusammenhang programmiert.
Ich habe den Drehzahlteil separat Programmiert und das hat auch 
funktioniert.
Mittlerweile binn ich am Einleseteil von den Messschiebern dran.

Zum schluss aber möchte ich dass alles auf einem einzigen PIC abläuft.

Wie gehe ich das an, das ich da kein Problem bekomme mit den Zeiten von 
einlesen, rechnen und anzeigen?
Grundsätzlich wie würde so ein ablauf aussehen?

(Link zu den verwendeten Messschiebern: 
http://www.shumatech.com/support/chinese_scales.htm)

freundliche Grüsse

Remo
Gast #842648
Lesenswert?

Wenn dein PIC Pinchnage-Interrupts unterstützt, sollten die 
Chinese-Scales wenig Probleme bereiten.
Je nach Drehzahl sollte man den Hallsensor im Poll-Betrieb 
(Timer-Interrupt bzw. Takte während einer Torzeit zählen) abfragen.
Mit einem AVR sollte man das auf jeden Fall hinbekommen.
Gast #843151
Lesenswert?

Hallo zusammen

Danke für die Antworten.

Das mit dem Betriebssystem ist mir noch nicht so ganz klar?
Hat jemand erfahrung damit oder kennt ein deutsches Tutorial?

Denn ich komme leider mit den Obigen Antworten immer noch nicht viel 
weiter.

freundliche Grüsse

Remo
Gast #851213
Lesenswert?

Das Internet bietet viele Infos zum Thema Embedded Betriebssysteme. 
Sicher auch auf Deutsch. Zur Not musst Du den alten Weg über eine 
Bibliothek gehen.

Prinzipiell kannst Du ein eigenes "Betriebssystem" basteln, musst Dir 
halt überlegen, wie Du das ganze koordinieren kannst/willst. 
Stichtworte: zeitgesteuert, interruptgesteuert

Damit's keine Probleme gibt, solltest Du Dir überlegen wie häufig Du die 
jeweiligen Aufgaben erledigen musst und wie lange sie jeweils brauchen. 
Daraus kannst Du Dir die Auslastung Deines Controllers berechnen.

Auslastung durch eine Aufgabe = Bearbeitungszeit einer Aufgabe / Abstand 
zwischen den Aufrufen dieser Aufgabe

Lass die Gesamtauslastung niemals über 75% steigen, dann bist Du auf der 
sicheren Seite.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren