Forum: Mikrocontroller und Digitale Elektronik RS-232 und PIC18F97J60


von Ingo S. (schicki)


Lesenswert?

Hallo,

ich bin seit gestern mit mit einem Problem mit der RS-232 Schnittstelle 
beschäftigt.

Ich sende mit einem VB.net Programm mittels RS-232 die Variable J. In 
der Varaible verbirgt sich ein ein Dezimalwert von 0 - 255.

Diese Programm funktioniert. Ich habe es mit einem PIC18F452 und einem 
8051 Typ gegen geprüft.

SerialPort1.Write(Chr(J))

Da dieses Programm auch an einem PIC18F452 am laufen ist, dachte ich 
wunderbar, das scheint einfach zu sein. ie gesagt der gleiche Quellcode 
funktoniert an einem PIC18F452 wunderbar. Auf dem PIC18F97J60 leider 
nicht.
1
  unsigned char chr_Data;   
2
  unsigned int i;
3
4
  while (!DataRdy1USART());
5
         chr_Data = Read1USART();
6
         
7
    
8
         //chr_Data = 0x01; // manueller Test funktioniert
9
         i = (( unsigned int) 0 << 8) | chr_Data; //funktioniert
10
         
11
         PORTB = i; //funktioniert
12
   
13
         LcdPrintf(3,7, (const MEM_MODEL rom char *)"%.6u", i);

Die Werte die mir das Programm ausgibt sind falsch, und ergeben so auch 
keinen Sinn.

Gesendet  1  2   3   4   5    6    7   8
Empfangen 6  24  96  128 224  248  254 keine Reaktion

Woran kann das liegen? Ist das bei Euch auch schon vorgekommen, bzw. 
habt ihr einen Rat?

von Max H. (hartl192)


Lesenswert?

Welchen Compiler verwendest du?
Hast du die Baudrate und den Oszillator richtig eingestellt?

von Ingo S. (schicki)


Lesenswert?

Ich verwende en C18 Compiler. Mit dem bin ich ehrlich gesagt schon das 
ein oder andere mal auf die Nase geflogen. Daran habe ich auch schon 
gedacht.

Die Baudrate ist auf 19200 eingestellt. Das senden der Daten an den PC 
klappt.

Auf dem board ist ein 20 MHz Quarz verbaut -> Deklaration HS in im 
Programm.

Welcher Comiler ist derzeit der beste?

von Frank K. (fchk)


Lesenswert?

Ingo Schick schrieb:

> Auf dem board ist ein 20 MHz Quarz verbaut -> Deklaration HS in im
> Programm.

20MHz? Das ist ungewöhnlich, denn der Ethernet-Teil dieses Prozessors 
braucht zwingend 25MHz.

fchk

von Ingo S. (schicki)


Lesenswert?

Ja, zwecks der Geschwindigkeit bin ich bei Dir die Development Boards 
sind alle mit 25 MHz ausgestattet wenn es um Ethernet geht. Laut 
Microchip sollten allesdings auch andere Geschwindigkeiten gehen. Die 
Timings müssen allerdings angepasst werden.

Ich übertrage die Daten mit RS-232 und nicht mit Ethernet. Da hatte ich 
die letzten Jahre noch nie Probleme mit der Hardware. Ich habe nun 
vorsichtshalber eine andere Plarine des gleichen Typs geprüft. Gleicher 
Efekt.

von Ingo S. (schicki)


Lesenswert?

Das ganze hat sich erledigt. Ein Wackelkontakt in der Leitung war der 
Verursacher. Trotzdem Danke!

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
Noch kein Account? Hier anmelden.