Rechtecksignal?
Dann dauert eine Halbperiode (1/Frequenz)/2 Sekunden
Beispiel:
Frequenz = 10 Hz
Dauer der Halbperiode = (1/10)/2 s = 0,1/2 s = 0,05 s = 50 ms
Um das Signal zu erzeugen kannst du einen Output-Pin eine Halbperiode
lang LOW schalten und eine Halbperiode lang HIGH.
Bei AVRs beispielsweise so
1 | #define F_CPU 1000000 // µC läuft z.B. mit 1 MHz Haupttakt (anpassen!)
|
2 | #include <util\delay.h> // Wartefunktionen (Wertebereich nachlesen!)
|
3 | #include <avr/io.h> // IO Definitionen
|
4 |
|
5 | int main(void)
|
6 | {
|
7 | DDRC = 0xFF; // PORTC auf Ausgang (anpassen!)
|
8 | while(1)
|
9 | {
|
10 | PORTC ^= (1<<PC0); // PC0 LOW/HIGH toggeln (anpassen!)
|
11 | delay_ms(50); // Halbperiode warten
|
12 | }
|
13 | }
|