www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USART mit PIC 16F628 und microC


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich hab mir zum rumbasteln einen PIC zugelegt...

16F628...

und nutze den Compiler microC...

Vor hab ich folgendes. Wenn ein Meldeeingang den Pegel wechselt, dann
soll der PIC nen Anruf tätigen...

An der RS232 hängt dafür ein Handy...das mit Hilfe von AT Befehlen
gesteuert wird...

Zur Praxis. Hänge ich das Handy an die RS232 meine Laptops und nutze AT
Befhle, dann geht das....

Nutze ich ein Terminalprogramm um mit dem PIC zu kommunizieren, so
klappt das nicht schlecht, aber nicht fehlerfrei. Und hier kommt ihr
ins Spiel...

microC stell funktionen zur initalisierung, zum senden und zum
empfangen bereit. mit einem kleinen programm

unsigned short i;

void main() {

// Initialize USART module (8 bit, 2400 baud rate, no parity bit..)
Usart_Init(2400);

do {
if (Usart_Data_Ready()) { // If data is received
i = Usart_Read(); // Read the received data
Usart_Write(i); // Send data via USART
}
} while (1);
}//~!

sendet der PIC das an das Terminal Programm zurück, was eingegeben
wurde. z.B. "atds<098908798798766>"

wenn ich jetzt im PIC aber eine Zeichkette hinterlege und versuche sie
zu senden, dann kommt nur ein Zeichen an und nichtmal das erste sondern
eben ein Zeichen....

darauf hin hab ich einfach die Länge der Zeichekette ermittel, ne
Schleife...und jedes Zeichen einzeln gesendet... 'a' 't' 'd'

das geht soweit, aber das Terminalprogramm bricht die Zeile nach jedem
achten Zeichen um. Das sieht dann so aus...

atds<098
90879879
8766>

ich schaffe es einfach nicht einen string am stück zu senden. kann mir
hier jemand auf die sprüge helfen...

merci auch

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, so einfach wie es nur geht!

Wie würdet ihr ne Zeichenkette mit dem PIC via USART an den PC senden.

Assembler, C alles willkommen....

Autor: Schoaschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
am einfachstens geht das mit puts bei mir :-). Ich benutze den
CCS-Compiler.

Autor: Schoaschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PS.: frag lieber auf www.fernando-heitor.de nach :-) da können sie dir
sicher besser helfen.

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.