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?