mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hilfe für PIC16F628A


Autor: Den 08 (den08)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: PicPic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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ß

Autor: Teplotaxl X. (t3plot4x1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man gebe mir eine Glaskugel und / oder den Quellcode und wir reden 
weiter...

Autor: PicPic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Microcontroller nur dann die Daten sendet wenn ich einen Befehl gebe.

Sollte doch verständlich sein.

Gruß

Autor: ePofi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.