In dem "Lehrheft LCD Programmierung" von myavr wird für fast jedes
Beispiel die folgende Warteprozedur als benötigt angegeben:
1 | #define F_CPU 3686400
|
2 | #include <util/delay.h>
|
3 | #include <avr/io.h>
|
4 | //...
|
5 | void wait_ms(int miliSec)
|
6 | {
|
7 | _delay_loop2(1*(F_CPU/(1000/4))*miliSec); //4 Zyklen Warteschleife
|
8 | }
|
wäre folgendes nicht viel einfacher:
1 | #define F_CPU 3686400
|
2 | #include <util/delay.h>
|
3 | #include <avr/io.h>
|
4 | //...
|
5 | //und dann an jeder betreffenden Stelle
|
6 | //statt wait_ms(miliSec)
|
7 | _delay_ms(miliSec)
|
Ich verstehe nicht ganz den Sinn der oberen Anweisung.
Zuersteinmal könnte man die Zeile doch auf
1 |
|
2 | _delay_loop2((F_CPU/250)*miliSec);//4 Zyklen Warteschleife
|
kürzen und warum noch eine Wartefunktion für Milisekunden
implementieren?
Könnt ihr mir da helfen??
Der einzige Grund, warum ich mich noch einmal mit diesem wirren Quatsch
beschäftige, ist, dass ich die Ausrüstung von myAVR noch da habe und
jetzt mal als Testboard verwenden will.
Mit freundlichen Grüßen,
Valentin Buck