hallo jungs. könnte mir jemand bei einem Projekt helfen bei dem ich so gut wie die hälfte erledigt habe. Mit einem PIC16F628A clock 4MHz lese ich auf RA0 (P17) Dateien.(5xASCII) Mein Controller schick automatisch die Daten an den PC weiter durch UART(9600 Baud,8N1). Das alles funktioniert hervorragend. Die Senderroutine heißt "transmit_data". Die zweite Aufgabe die ich ich zu lösen habe ist ne Adressierung , also das der Microcontroller nur dann die Daten sendet wenn ich einen Befehl gebe. Ablauf: Befehl heißt A01 und der Controller soll antworten mit "data_transmit". ich hab mir folgendes ausgedacht: ich definiere code0 equ"A" code1 equ"0" code2 equ"1" für den Befehl "lesen" schreibe ich eine Subroutine "data_rec" dann kommt eine subroutine zum vergleichen "compare_". Wenn der Vergleich nicht ok ist soll der controller "A01error!" antworten . Wenn der Vergleich ok ist soll er mit "data_transmit" antworten. könnte mir jemand die 2 o. 3 subroutinen schicken könnte? Also data_rec und compare A01error! ?? Oder wenigstens ein paar Tipps geben wie ich das machen soll. Ich hab noch ein Problem: Die kommenden Daten(ASCII) sind von 0x30 bis 0x3F und ich muss die Darstellung am PC umwandeln. Also in 0x30 bis 0x39 und 0x41 bis 0x44. Also die Zeichen ? , ; ... werden mit A bis F ersetzt. ich wär dir total dankbar wenn mir jemand helfen würde. gruß Den08
Hallo Viel Erfolg wünsche ich dir. Cods werden hier streng geheim gehandelt. Es gibt aber immer Einzelne welche helfen,ich kann es leider noch nicht. Gruß
Man gebe mir eine Glaskugel und / oder den Quellcode und wir reden weiter...
>Microcontroller nur dann die Daten sendet wenn ich einen Befehl gebe.
Sollte doch verständlich sein.
Gruß
such mal nach Compare String-Funktionen Es gibt von Microchip tonnenweise Codebeispiele, du musst nur gezielt danach suchen. "Die kommenden Daten(ASCII) sind von 0x30 bis 0x3F " also die Zeichen 0..9 und : ; < = > ? Du muss abfragen, ob größer als 39, wenn ja, dann 7 addieren, um auf 41..46 zu kommen. 3a+7=41 3f+7=46
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.