-
-
Erfahrener Benutzer
Roboter Experte
nun ja ... du machst sehr viele sachen in der hauptschleife. das muss natürlich erstmal abgearbeitet werden.
eine gute zeitersparnis könntest du wohl erzielen, wenn du auf die fliesskommageschichten verzichtest und nur die word-variablen vom adc speicherst.
es spricht ja nix dagegen, diese dann später bei der auswertung von der sd-karte zu lesen und dann deinen faktor einzurechnen.
ein weiterer nachteil deiner schaltung ist natürlich der softclock-int . der will ja durch den int auch ständig bedient werden. mein ansatz ist ja eher der, das ich uhren-ic autonom laufen lasse, un wenn ich daten speichern will, frage ich dieses ab und speichere den wert mit den daten. da muss der prozessor selber aber sonst nix für tun. meine zeitmarke ist halt einfach da.
es gibt da übrigens auch noch das "secofday" ... bietet sich evt. als zeitmarke an.
dann haste noch die displaysachen in der hauptschleife. meist ist es ja bei displays so, dass man irgeneinen pin abfragt, ob das display neue daten annehmen kann. (polling). das heisst natürlich, dass dein programm stehen bleibt, bis das display wieder bereit ist.
also nimm ne hardware-uhr .... die haben oft einen 1hz ausgang ... damit legst du einen interrupt .... der holt die adc-daten (als word) und sonst nix.
nach 10 mal daten holen, wird der mittelwert berechnet und das ganze mit zeitstempel auf die karte geschrieben.
den display ready ausgang legst du auch auf nen int ... allerdings mit ner kleineren priorität. während zeitkritischer sachen ... wie messwerterfassung, sperrst du dann den display int.
alles was das disp anzeigen soll berechnest du im vorraus (also einen bildschirm voll) und speicherst das in einem array als buffer. wenn dann prozessorzeit verfügbar ist machst du ein display-update... (vielleicht jede 11te sekunde oder so.
das also mal als grobe idee... wie gesagt .. ich bin auch noch dabei... und somit zum teil einfach nur theoretisch.
gruss kolisson
p.s. : was soll den das "Config Serialin = Buffered , Size = 20" bewirken ?
ist doch für den comport ! und dann noch als softwareemulation, wenn ich nicht irre.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen