Signalverarbeitung mit dem Mikrocontroller?

Schönen Sonntag euch!

Ich hätte eine Frage. Hänge leider schon seit einer Woche dran und suche dringend nach einer Antwort. Ich bin dabei drahtlos per Funk(433mhz) Signale von einem Mikrocontroller (Sender) zu einem anderen Mikrocontroller (Empfänger) zu versenden. Das Senden klappt wunderbar und ich habe alles per Oszi überprüft, das Empfangen jedoch ist eine Katastrophe.
Das Problem, ich kann keine Libaries von Arduino und co verwenden, muss also alles selber in C schreiben. Wenn etwas gesendet wird ist das Signal High, wenn nicht dann Low(Ist also ein Rechtecksignal).
Hier mein Pseudocode:

(Der Sender sendet dauerhaft 4100uS lange High Signale(senden) mit kurzen low unterbrechungen(nicht senden)

In einer Endlosschleife starte ich zuerst einen Timer der in mikroSekunden zählt

jetzt kommt eine leere While Schleife die solange nichts macht wie das Signal High ist(es wird etwas empfangen)

wenn die Whileschleife vorbei ist kommt eine if, die wenn der timer größer 4000 und kleiner 4200 ist( das eigentliche Signal ist ja 4100 uS) . Wenn diese if zutrifft soll ein Licht angehen.

Leider funktioniert es nicht und das Licht geht ab und zu mal an machmal aber auch nicht. wäre cool könnte jemand helfen und mir sagen was ich falsch mache oder einen anderen Vorschlag hat.

Danke im Vorraus!

Computer, Technik, programmieren, Elektrotechnik, Mikrocontroller, Datenverarbeitung, Informatik, Technologie, Signal
Maze Solving Algorithmus?

Hi,

ich will mehrere Algorithmen implementieren, womit ich ein Maze lösen kann. Dabei gehts mir um Geschwindigkeit. Das gesamte Maze ist schon bekannt, also die "Maus" kann von jedem Punkt erfahren ob es eine Wand, oder ein Weg ist.

Derzeit habe ich den Wavepropagation, den Wallfollower und einen Kombi algorithmus implementiert. Der Kombi algorithmus entstand, nachdem ich Rekursion versucht hatte, bis ich gemerkt habe, dass das ja garnicht in C# geht xD

Dann hab ich per While loop einfach immer geguckt welche Richtungen sind möglich und dann halt random eine Richtung gewählt. Wenns deadend ist, halt wieder zurück, bis eine unbesichtigte Zelle kommt. Vllt habt ihr ja eine Idee wie der heißt.

Für mich neuling kling der Wavepropagation algorithmus derzeit am optimalsten, denn er hört auf, sobald das ziel gefunden ist.

Man könnte evtl. den noch Optimieren, indem man an an jeder Kreuzung ein Node setzt.

Der Djiktra klingt für mich als Neuling wie ähnlich des Wavepropagation Algorithmus, zumindest wenn man nicht die Map in nodes (bei jeder Kreuzung) plaziert.

Gibts einen viel schnelleren?

Die Map ist so um die 10k x 10k bis 15k x15k

Evtl auch mehr, wenn ich diese nicht painten würde, sondern nur als byte array lasse. Dauert aber so schon lang genug xD

Generiert wird dieses per Binary Tree derzeit. Dieser ist wenigstens Ultra schnell. Prims algorithmus ist mir zu langsam für diese Größenordnung.

Computer, Mathematik, programmieren, Datenverarbeitung, Informatik, Algorithmus

Meistgelesene Beiträge zum Thema Datenverarbeitung