Forum: Mikrocontroller und Digitale Elektronik Realisierung der Abtastrate in C?


von Berus (Gast)


Lesenswert?

Hallo Leute,

wie setze ich ganz allgemein normalerweise die Abtastrate in einem C 
Programm um, welches einen Atmega8 steueren soll?

Ich stele mir das so vor, dass ich im eine Schleife programmiere. Die 
Anzahl der Durchlaeufe lege ich fest. Im Ende der Schleife baue ich 
enfach noch ein Verzoegerung ein. Diese Verzoergerung selber bestimmt 
somit die Abtastrate.

Macht man das so ?

Spielt der ueber den Vorteiler eingestellte Prozessortakt eine Rolle 
oder ist der nur wichtig, wenn ich mit Interrupts arbeiten moechte?

Besten Dank im Vorraus
Berus

von Tobias M. (tm0991)


Lesenswert?

Hallo,

Mit delay in einer Schleife würde ich das nicht tun. Blockiert dir den 
Rest deines Programms.

Ideal wäre denke ich den ADC mittels Prescaler auf eine bestimmte 
Frequenz zu setzten und dann im Freerunning Modus laufen zu lassen.

Es lässt sich jedes mal wenn eine Wandlung fertig ist ein Interrupt 
erzeugen. Diesen kannst du dann nutzen.

von Claude J. (berus)


Lesenswert?

@tm0991: Meinst du also, dass ich die Zeit bis zum naechsten Overfloaw 
als Abtastrate verwenden soll?

von Falk B. (falk)


Lesenswert?

@ Berus (Gast)

>wie setze ich ganz allgemein normalerweise die Abtastrate in einem C
>Programm um, welches einen Atmega8 steueren soll?

Welche Abtastrate? VOn einem AD-Wandler? Oder eher einer zyklischen 
Berechnung?

>Ich stele mir das so vor, dass ich im eine Schleife programmiere. Die
>Anzahl der Durchlaeufe lege ich fest. Im Ende der Schleife baue ich
>enfach noch ein Verzoegerung ein. Diese Verzoergerung selber bestimmt
>somit die Abtastrate.

>Macht man das so ?

Nein. Man nutzt einen Timer.

http://www.mikrocontroller.net/articles/Multitasking#Verbesserter_Ansatz_mit_Timer

>Spielt der ueber den Vorteiler eingestellte Prozessortakt eine Rolle

Ja.

von Claude J. (berus)


Lesenswert?

@ Falk Brunner:

Ich meine die Abtastrate eines AD-Wandlers. Ich werde mir den von dir 
hochgeladenen Link sicherlich noch durchlesen. Trotzdem frage ich auch, 
dich verwendet man die Zeit zwischen zwei Overflows als Abtastrate?

Danke
Berus

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Um was für eine Abtastrate handelt es sich?

Schleife mit Verzögerung ist aber schonmal der falsche Weg.
Lies Dich doch mal in die Themen "Timer" und "Interrupts" ein.

von Claude J. (berus)


Lesenswert?

Jo, das mache ich.

von Falk B. (falk)


Lesenswert?

@Claude Juncker (berus)

>Ich meine die Abtastrate eines AD-Wandlers.

Dazu gibt es den free running mode beim AVR. Andere Mikrocontroller 
haben ähnliches.

>hochgeladenen Link sicherlich noch durchlesen. Trotzdem frage ich auch,
>dich verwendet man die Zeit zwischen zwei Overflows als Abtastrate?

Beim AD-Wandler gibt es keinen Overflow, zumindest nicht zeitlich. 
Overflow tritt beim Timer auf.

Aber ja, die Interruptfrequnz (eagl ob Timer oder ADC im free running 
Modus) ist dann gleich der Abtastrate.

von EGS_TI (Gast)


Lesenswert?

Das wäre die allereinfachste Variante, die aber nur richtig 
funktioniert, wenn der Controller nichts anderes mehr machen soll, außer 
dieser Abtastung.
Normalerweise werden Timings komplexerer Programme mit einem Timer 
realisiert, welcher auf eine sinnvolle Zeitbasis eingestellt wird, mit 
der alle Komponenten des Programmes auskommen können.
Hierzu gibt es schon einen guten Artikel hier auf der Seite. Such mal 
nach Multitasking...

von Claude J. (berus)


Lesenswert?

O.K.

Danke

von Tobias M. (tm0991)


Lesenswert?

Claude Juncker schrieb:
> @tm0991: Meinst du also, dass ich die Zeit bis zum naechsten Overfloaw
> als Abtastrate verwenden soll?

Im Free Running Mode läuft der ADC mit der vorher eingestellten Frequenz 
das ist dann deine Abtastrate.

von Thomas E. (thomase)


Lesenswert?

Berus schrieb:
> Hallo Leute,
>
> wie setze ich ganz allgemein normalerweise die Abtastrate in einem C
> Programm um, welches einen Atmega8 steueren soll?

Du bist doch der mit den UV-Strahlen oder?
´
Warum stürzt du dich denn jetzt auf den ollen Atmeg8. Der pinkompatible 
Atmega88 und seine Brüder bieten die Möglichkeit den ADC mit 2 Timern 
mit insgesamt 5 verschiedenen Triggerquellen zu verbinden.
Ein Register konfigurieren und alles passiert rein in Hardware.

mfg.

von Claude J. (berus)


Lesenswert?

@ thomase: ja, ich bin derjenige, der UV-Strahlen moechte. Ich moechte 
ausserdem einen Atmega8 auf einem Mini-Board programmieren. Es ist also 
etwas mehr als ein einfacher ATmega8.

@ Alle:

Ich habe mir den Link ueber Multitasking durchgelesen. Ausserdem habe 
ich auch in das Datenblatt des Atmega8 einen Blick geworfen. Allerdings 
bin ich jetzt verwirrt, weil ich einen Widerspruch entdeckt habe, das 
glaube ich zumindestens. Es waere mir aber lieber, wenn dem nicht so 
waere.

Der Atmega hat doch standardmaessig einen Takt von 1 Mhz. Ausserdem 
weist der Timer 8 Bit auf. Das heisst, dass der Timer bis 256 zaehlt bis 
er wieder auf 0 springt. Wenn wir jetzt einen Vorteiler  von 2 
einstellen, dann erhalte ich doch fuer den Prozessortakt des IC 0,5 MHz. 
Das bedeute auch, dass er 500000/256= 1953,125 Prozesse in einer Sekunde 
durchfueht. Wenn ich das also richtig verstanden habe, dann wuerde das 
Hauptprogramm des C-Quellcodes 1953,125 mal durchlaufen werden. Setze 
ich also ADCSRA =(1<<ADFR), dann geschehen 1953 ADC-Umwandlungen je 
Sekunde und somit habe ich eine Abtastrate von ebenfalls 1953 Samples.

Koennte das bitte jmd. von euch bestaetigen?

Ausserdem steht im Datenblatt des Atmega 8 ausserdem:
<<By default, the successive approximation circuitry requires an input 
clock frequency
between 50 kHz and 200 kHz to get maximum resolution.>>

Wenn ich dann mal meine Moeglichkeiten durchrechne, die die obige 
Bedingung  erfuellen, dann komme ich auf entweder auf 62500 Hz 
(Vorteiler 16) bzw 125000 Hz (Vorteiler 8). Das ist dann eine Abtastrate 
von rund 244 Hz bzw. 488 Hz.

Im Datenblatt steht ausserdem, dass ich sogar max. auf 15kSPS kommen 
kann? Wie soll das denn bitte gehen, ohne die obige Bedinung zu 
verletzten?

Beste Gruesse
Berus

von Martin K. (maart)


Lesenswert?

Claude Juncker schrieb:

> Im Datenblatt steht ausserdem, dass ich sogar max. auf 15kSPS kommen
> kann? Wie soll das denn bitte gehen, ohne die obige Bedinung zu
> verletzten?

Wenn du das Datenblatt richtig studiert hättest, dann wäre dir auch 
aufgefallen dass man die Sample-Rate deutlich erhöhen kann, wenn man im 
Gegenzug Einbußen bei der Genauigkeit akzeptiert.

von Oliver (Gast)


Lesenswert?

> Der Atmega hat doch standardmaessig einen Takt von 1 Mhz.

Je nachdem, was du als Takt bezeichnest: Der interne RC-Oszillator läuft 
(temperaturabhängig) mit ungefähr 8 MHz, aber im Auslieferungszustand 
ist der 1:8-Vorteiler eingeschaltet.

> Ausserdem
> weist der Timer 8 Bit auf. Das heisst, dass der Timer bis 256 zaehlt bis
> er wieder auf 0 springt.

Nein! Der Timer springt von 255 auf 0. Es lassen sich nur 2^8 = 256 
Zustände mit 8 bit darstellen, inklusive der 0.

> durchfueht. Wenn ich das also richtig verstanden habe, dann wuerde das
> Hauptprogramm des C-Quellcodes 1953,125 mal durchlaufen werden. Setze
> ich also ADCSRA =(1<<ADFR), dann geschehen 1953 ADC-Umwandlungen je
> Sekunde und somit habe ich eine Abtastrate von ebenfalls 1953 Samples.

Nein! Jeder einzelne "Maschinensprachebefehl" benötigt eine bestimmte 
Anzahl an Taktzyklen. Beim AVR als RISC-Design kommen zwar viele Befehle 
mit einem Taktzyklus aus, aber es gibt auch jede Menge Befehle, die zwei 
oder drei Taktzyklen benötigen. Mit deinem C-Hauptprogramm hat das 
ziemlich wenig zu tun. Dein Hauptprogramm wird vom Compiler in einzelne 
Maschinenbefehle übersetzt, die du durchzählen könntest. Aber wenn da 
zum Beispiel Schleifen drin sind, deren Abbruch von einem Zähler oder 
anderen Bedingungen abhängt, kannst du nicht von vornherein sagen, wie 
lange die Abarbeitung deines Hauptprogramms dauern wird. Das gleiche 
gilt für Bedingungen, die unterschiedliche Codepfade aufrufen.

Dir fehlt es noch an Grundlagenwissen - schmöker noch ein bisschen im 
Tutorial!

von Claude J. (berus)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich danke euch für eure letzten Beiträge. Ich habe jetzt mal ein kleines 
C-Programm geschrieben.

Es soll einfach einen ADC eines Atmega8 dazu bringen, dass er jede 
Sekunde das analoge Signal abtastet und konvertiert. Der ADC soll in 
etwa 30 Sekunden 30 Werte digitalisieren.

Ihr habt mir geraten, dass ich es über den Timer machen sollte. Das wäre 
sicherlich der elegantere Weg. Dennoch habe ich mich für ein Programm 
mit einer Schleife entschieden, weil der Atmega8 nur als ADC dienen 
soll. Er soll also keine zweite Aufgabe erledigen

Schafft es das? Ich bin für jeden Verbesserungsvorschlag dankbar.
Im Anhang schicke ich euch den Code.

Berus

von Martin K. (maart)


Lesenswert?

Claude Juncker schrieb:
> Ihr habt mir geraten, dass ich es über den Timer machen sollte. Das wäre
> sicherlich der elegantere Weg. Dennoch habe ich mich für ein Programm
> mit einer Schleife entschieden, weil der Atmega8 nur als ADC dienen
> soll.

Du bist der Experte! Ich verstehe jetzt nicht, warum du jetzt noch Hilfe 
brauchst? Ist doch alles klar, oder nicht?

Claude Juncker schrieb:
> Er soll also keine zweite Aufgabe erledigen

Ich habe mal vor meine Taschenlampe schwarzes Gaffaband geklebt, die 
soll einfach nur leuchten und keine zweite Aufgabe erfüllen.

von Claude J. (berus)


Lesenswert?

@maart:

Wenn ich jetzt aus deiner Geschichte mit dem Gaffaband eine Schluss für 
meine Frage ziehen müsste, dann würde ich sagen, dass das C-Programm 
nicht funktioniert.

Wenn du damit allerdings nur sagen möchtest, dass ich das Potential des 
Atmega8 nicht ganz ausschöpfe, dann gebe ich dir Recht.

Ein Atmega8 kostet aber weniger als ein ADC als solcher. Deshalb will 
ich lieber einen Atmega8.

Wenn ich ein Experte wäre, dann würde ich euch ja nicht um Rat bitten.

Naja, was solls.
Berus

von Martin K. (maart)


Lesenswert?

Claude Juncker schrieb:
> Wenn ich jetzt aus deiner Geschichte mit dem Gaffaband eine Schluss für
> meine Frage ziehen müsste, dann würde ich sagen, dass das C-Programm
> nicht funktioniert.

Haaaalt! Falscher Schluss! Meine Taschenlampe funktioniert sehr gut, es 
kommt nur leider kein Licht raus. (das ist die zweite Aufgabe der Lampe)

Deine Aussage hier hat mich aber verwundert:

Claude Juncker schrieb:
> Er soll also keine zweite Aufgabe erledigen

Wie wo watt? Der arme ADC wandelt und wandelt, aber wofür? Was soll den 
mit den Werten geschehen? Wie weiterverarbeitet werden?

von Claude J. (berus)


Lesenswert?

Naja...Ich dachte, dass die Wandlungsergebnisse über den Port B über 
einen USB und (virtuelle) COM-Verbindung an das Terminalprogramm 
geschickt werden. Das schließlich die Wandlungen im Terminalprogramm 
angezeigt werden. Das hätte ich vlt. dazu sagen sollen.

Bis jetzt habe ich mit all dem nicht gearbeitet. Ich hatte nur vermutet, 
dass es so funktioniert.


Danke
Berus

von Martin K. (maart)


Lesenswert?

Ich antworte eigentlich nur, weil mir gerade wirklich langweilig ist und 
ich nicht einschlafen kann.

Claude Juncker schrieb:
> Ihr habt mir geraten, dass ich es über den Timer machen sollte. Das wäre
> sicherlich der elegantere Weg. Dennoch habe ich mich für ein Programm.....

Claude Juncker schrieb:
> Ich bin für jeden Verbesserungsvorschlag dankbar.

Das ist doch glatt gelogen! Dir ist es doch egal, was hier vorgeschlagen 
wird, du machst eh dein Ding. Ich sag's ja: DU bist der Experte! Also 
sie zu, wie du klar kommst.

von Thomas E. (thomase)


Lesenswert?

Claude Juncker schrieb:
> @maart:
>
> Wenn ich jetzt aus deiner Geschichte mit dem Gaffaband eine Schluss für
> meine Frage ziehen müsste, dann würde ich sagen, dass das C-Programm
> nicht funktioniert.
>
> Wenn du damit allerdings nur sagen möchtest, dass ich das Potential des
> Atmega8 nicht ganz ausschöpfe, dann gebe ich dir Recht.
>
> Ein Atmega8 kostet aber weniger als ein ADC als solcher. Deshalb will
> ich lieber einen Atmega8.
>
> Wenn ich ein Experte wäre, dann würde ich euch ja nicht um Rat bitten.
>
> Naja, was solls.
> Berus
Naja, was solls.
Eigentlich ist es hier jedem scheissegal, ob dein Programm läuft oder 
nicht. Aber es ist auch jedem klar, dass es das nie tun wird. Dass du in 
der Lage bist, ein formal ordentliches C-Programm zu schreiben, sieht 
man. Man sieht aber auch, dass du von Mikrocontrollerprogrammierung 
keine Ahnung hast. Gar keine.
Auch du wirst den Weg mit der blinkenden LED gehen. Wie jeder andere vor 
dir auch. Und wenn du hundertmal nur den ADC benutzen willst. Und auch 
du wirst einen Timer benutzen.

> Wenn ich ein Experte wäre, dann würde ich euch ja nicht um Rat bitten.
Dann nimm den Rat auch an. Du zeigst dich einfach nur arrogant und 
absolut beratungsresistent.

So ein Porgramm schreib ich dir in weniger als einer Stunde. Wie manch 
anderer hier auch. Das kommt aber nicht daher, dass das so einfach ist, 
sondern weil wir jede Menge Erfahrung mitbringen. Und die hat keiner mit 
der Muttermilch aufgesaugt. Und wenn diese Leute dir etwas von der 
Erfahrung abgeben, dann nimmst du das an und benimmst dich nicht wie ein 
Kleinkind: "Ich will das aber nicht".

Ansonsten kannst du mit deinem Programm bleiben, wo der Pfeffer wächst.

mfg.

von Claude J. (berus)


Lesenswert?

@ maart:

wirst du es glauben, wenn ich behaupte, dass ich nicht alle 
Verbesserungsvorschläge in mein Projekt einbauen kann?

Naja... Ich dachte eigentlich nur, dass man hier auf dem Forum nach 
Hilfe fragen kann. Das klappt ja eigentlich auch sehr gut normalerweise.

Ich hätte nicht gedacht, dass es mir hier jmd. persönlich nimmt, wenn 
ich mich aus praktischen Gründen für das Unterlassen seiner Idee 
entscheiden würde.

Warum sollte ich mich für einen Timer entscheiden, wenn es auch ohne 
genau oder wenigsten ungefähr genau so gut geht? Das behaupte ich auch 
nur, weil EGS_TI das bestätigt hat.

Berus

von Claude J. (berus)


Lesenswert?

Wenn du Recht hast und das Verwenden eines Timers unumgänglich ist, dann 
werde ich früher oder später sowieso darauf stoßen und mich damit 
tiefgründiger auseinandersetzen müssen. Noch sehe ich darin aber keine 
Notwendigkeit.

Ich nehme dir jedoch deinen Unmut nicht übel. Ich glaube, dass du 
denkst, dass ich euch die ganze Arbeit machen lasse ohne selber zu 
arbeiten. Das ist aber nicht wahr. Ich brauche einfach nur von euch 
Bestätigung, weil mir sonst keiner sagen kann, ob das, was ich mache, 
auch sinnvoll und richtig ist. Hier gibt es aber viele Männer vom Fach, 
die reichlich Erfahrung habe. Deshalb frage ich hier gerne nach. Ich 
weiß, dass ich hier eine qualifizierte Antworten kriegen kann.

Nichts für Ungut
Berus

von Martin K. (maart)


Lesenswert?

Claude Juncker schrieb:
> Ich hätte nicht gedacht, dass es mir hier jmd. persönlich nimmt, wenn
> ich mich aus praktischen Gründen für das Unterlassen seiner Idee
> entscheiden würde.

Persönlich nehmen? Um Gottes Willen, nein! Über soetwas schmunzel ich 
nur.
Mein Gaffaband vor der Taschenlampe ist auch sehr praktisch: Das Glas 
wird nicht schmutzig.

 Thomas Eckmann hat es aber schon sehr schön beschrieben und praktisch 
wollte ich ja auch schon schlafen.

von Claude J. (berus)


Lesenswert?

Na dann...gute Nacht.

von Martin K. (maart)


Lesenswert?

Und wieder so ein Ding:

Claude Juncker schrieb:
> Wenn ich ein Experte wäre, dann würde ich euch ja nicht um Rat bitten.

Wie oft wurde dir jetzt der Rat nahe gelegt, einen Timer zu benutzen?

Claude Juncker schrieb:
> Noch sehe ich darin aber keine
> Notwendigkeit.

Alles klar.

Und ab geht die Lutzi
Immer grade aus
Das Leben ist kein Schlafabteil
Jetzt stehn alle auf

Und ab geht die Lutzi
Händchen in die höh
Wer lang feiert lebt noch lang
Und wir feiern viel
Wer lang feiert lebt noch lang
Drum feiern alle mit

von Claude J. (berus)


Lesenswert?

Du bist sehr hinterlistig. Du zitierst nur solche Auszüge aus meinen 
Beiträgen, die deinen Vorwürfe rechtfertigen. Ich weiß ehrlich gesagt 
nicht, wozu du das machst. Aber wenn du alle Beiträge dieses Threads 
gelesen hättest, dann wäre dir aufgefallen, das es hier auch min. einen 
außer mir gibt, der auch meint, dass es ohne Timer geht.

Du solltest jetzt besser schlafen gehen, denn etwas. sinnvolles hast du 
in der letzten Stunde zu diesem Thread nicht beigetragen.

Berus

von Martin K. (maart)


Lesenswert?

Ich kann aber noch nicht einschlafen (das Gewitter ist zu laut)

Vielleicht hilft dir das hier:

Tue dir wirklich den Gefallen und fange wirklich mal mit einer 
blinkenden LED an. Das mag sich viellecht nach Kinderkram anhören, 
ermöglicht dir aber einen grundlegenden Einstieg in die Sache.
Dann kannst du lauter lustige LEDs an den PortB anschließen und dann 
auch vielleicht erkennen, dass das hier
1
uint16_t ADCResultTotal = (ADCH<<8) | (ADCLow);
2
  
3
  PORTB = ADCResultTotal;
 nicht funktionieren kann.
Wenn du den Code nicht einfach nur zusammen kopiert hast, ist dir 
uint16_t ja nicht unbekannt. Die Ports haben aber nur maximal 8bit.

Vermutlich schwebst du aber auch nur in einer ganz anderen Ebene als ich 
und du empfindest meine Äußerungen als persönlichen Angriff. Ich will 
hier keinen persönlich angreifen (zumindest jetzt noch nicht, ich lasse 
es dich dann aber wissen.)

von Claude J. (berus)


Lesenswert?

ok, das leuchtet ein. Also brauche ich zwei Ports, um das 10-Bitwort zu 
übertragen.

Mal sehen- Vlt. nehme ich doch noch LEDs in die Bestellliste auf.

Hab Dank und gute Nacht.
Berus

von Thomas E. (thomase)


Lesenswert?

Claude Juncker schrieb:
> ok, das leuchtet ein. Also brauche ich zwei Ports, um das 10-Bitwort zu
> übertragen.
>
> Mal sehen- Vlt. nehme ich doch noch LEDs in die Bestellliste auf.
>
> Hab Dank und gute Nacht.
> Berus

Du brauchst überhaupt keinen Port, um die Daten zu übertragen, sondern 
den UART.

mfg.

von Claude J. (berus)


Lesenswert?

Aha...Das bringt mich doch gleich einen großen Schritt nach vorne. Ohne 
jetzt genaue Kenntnisse darüber zu besitzen, heißt das doch jetzt, dass 
ich mich mit dem UART Regsiter des IC beschäftigen muss, damit die 
Übertragung über UART funktionieren kann.

Stimmt das?

von Martin K. (maart)


Lesenswert?

Claude Juncker schrieb:

> Mal sehen- Vlt. nehme ich doch noch LEDs in die Bestellliste auf.

Kann nicht schaden und sind auch nicht teuer.

Das hier: http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART
wirst du dann später für die Übertragung zum PC brauchen.

von Claude J. (berus)


Lesenswert?

Ich hätte nicht gedacht, dass du mir nach allem noch den richtigen Weg 
weist.

Jetzt weiß ich, womit ich beschäftigen werde.

Aufrichtigen Dank
Berus

P.S.: die LEDs sind jetzt auch auf der Bestellliste drauf, aber nur weil 
sie kaum was kosten.

von Thomas E. (thomase)


Lesenswert?

Das ist doch schon die halbe Miete:

Beitrag "Wert des ADC an USART ausgeben"

mfg.

von Uwe (Gast)


Lesenswert?

> über den Port B über einen USB und (virtuelle) COM-Verbindung an das
> Terminalprogramm geschickt werden.
Ich denke der soll nichts anderes machen ! Jetzt soll er auf einmal noch 
Kommunizieren und ein Protookll beherschen.

von Martin K. (maart)


Lesenswert?

Uwe schrieb:
> Ich denke der soll nichts anderes machen ! Jetzt soll er auf einmal noch
> Kommunizieren und ein Protookll beherschen.

Das hatten wir schon geklärt, nachtreten braucht man jetzt nicht.

von Helmut L. (helmi1)


Lesenswert?

Claude Juncker schrieb:
> P.S.: die LEDs sind jetzt auch auf der Bestellliste drauf, aber nur weil
> sie kaum was kosten.

Aber auch die Vorwiderstaende nicht vergessen!


>> über den Port B über einen USB und (virtuelle) COM-Verbindung an das
>> Terminalprogramm geschickt werden.
> Ich denke der soll nichts anderes machen ! Jetzt soll er auf einmal noch
> Kommunizieren und ein Protookll beherschen.

Und schwupp geht das ganze Timing durch Warteschleifen den Bach runter.

Claude Juncker schrieb:
> Ich hätte nicht gedacht, dass es mir hier jmd. persönlich nimmt, wenn
> ich mich aus praktischen Gründen für das Unterlassen seiner Idee
> entscheiden würde.
>
> Warum sollte ich mich für einen Timer entscheiden, wenn es auch ohne
> genau oder wenigsten ungefähr genau so gut geht? Das behaupte ich auch
> nur, weil EGS_TI das bestätigt hat.

So hat er das nicht bestaetigt. Er sagte kann man machen ist aber nicht 
zu empfehlen.

Das Standardverfahren ist das mit den Timern. Genau aus diesen Grund 
kann man ja den ADC bei vielen uC von einen Timer per Hardware starten 
lassen.
Warum du dich da gegen jetzt straeubst das weist nur du.

von Claude J. (berus)


Lesenswert?

Hallo Leute,

ich habe mir aus dem Datenblatt nicht nur die Kapitel über den USART 
sondern auch über die Timer ausgedruckt.

Wenn die meisten hier nachdrücklich auf die Notwendigkeit des Timers 
hinweisen, dann sehe ich wohl ein, dass er auch einen Platz in meinem 
Programm finden wird. Ihr habt mich überzeugt.

Jetzt sehe ich mir mal weiter die Datenblätter und die Tutorials hier 
an.

Seid gewiss, ich melde mich bei Gelegenheit bei euch.

Danke und bis die Tage!
Berus

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