Hallo liebe AVR-Community. Ich bin noch relativ neu in der MC Programmierung und hadere gerade mit folgendem Problem: Ich möchte ein 1 Byte langes Signal auf ein 433Mhz Trägersignal aufmodulieren und wollte dafür folgendes Programm in einer Low-Power Sendeeinheit mit 1Mhz Takt verwenden. Den Takt stelle ich über die Arduino IDE ein. Deepseek sagt, die IDE setzt direkt die Fuses. Nun zum Problem: Bei einem Takt von 20 Mhz und deaktiviertem Prescaler (Teilung = 1) bekomme ich die erhoffte Bitlänge von 500us. Wenn ich jetzt aber den Takt auf 1 Mhz stelle verringert sich die Bitlänge auf etwa 32us. Daher habe ich ein einfaches Blink-Programm geschrieben um zu testen wie sich Bitlänge meines Signals in Verbindung mit Prescaler (Standardteilung von 6) und ohne Prescaler bei den Taktraten 1 Mhz und 20 Mhz verhalten. Im Anhang eine Tabelle zur beobachteten Veränderung der Bitlänge unter o.g. Bedingungen. Für den Fall dass noch nicht klar geworden ist was ich eigentlich möchte.. Ich möchte bei meinem Byte-Sendeprogramm eine Bitlänge von 500us einstellen können damit das Datensignal mit 2kbps auf mein Trägersignal aufmoduliert werden kann. Die Sendeeinheit soll mit möglichst wenig Strom auskommen daher die Idee den Takt auf 1 Mhz zu reduzieren. Vielen Dank schonmal im vorraus!
Die F_CPU #define nicht vergessen anzupassen. Sonst funktioniert das _delay Zeugs nicht richtig. Steht typischerweise im makefile.
Vielen Dank für den Tipp. Leider hat das mein Problem nicht behoben. Ich habe eben diese Zeile für 20 bzw 1 Mhz noch in das Programm eingefügt aber es hat leider nichts geändert.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.