Hyperterminal mit can

OP #2427283
Lesenswert?

hallo Spezis,

ich sende und empfange Can Bus Daten , dafür benutzte ich µC C515C und 
CanOe der Firma Vector.
Bis jetzt läuft alles, nur das Problem ist dass ich die Daten über 
Hyperterminal nicht hingekriegt habe.
Ich habe versucht mit printf aber geht immer noch nicht.

ich bin dankbar für jede Hilfe
OP #2427304
Lesenswert?

ich habe ein anderes Programm auf µC gespielt, es tut was aber mein 
can-Programm nicht.
d.h. hardware, kabel, terminaleinstellung alles ok

es bleibt dann nur das Programm

eigentlich es läuft mit dem CanOe das Senden und empfangen aber mit 
Terminal nicht, wenn du mal Auszug aus dem Programm haben willst gebe 
ich dir
Gast #2429027
Lesenswert?

udo mathias schrieb:
> Falk Brunner schrieb:
>> Kleiner Tip: Netiquette.
>
> was meinst du mit deinem Beitrag, brauchst du mehr Details oder was?

Schau dir die Informationen, die du angegeben hast, mal an, und dann 
überleg dir, ob man damit was anfangen kann. Deine Frage liest sich in 
etwa so:

Mein Auto funktioniert nicht. Ich hab die Straße schon überprüft, und 
die ist in Ordnung, aber trotzdem geht das Auto nicht. Woran liegt das?
Gast #2444248
Lesenswert?

Kannst Du mal bitte Dein Problem komplett beschreiben? Ich vermute 
folgendes:

[Glaskugelmodus AN]

1. Du hast einen uC, welcher zum einen mit einem CAN-Bus kommuniziert 
und zum anderen über eine serielle Schnittstelle mit einem PC verbunden 
ist.

2. Die Kommunikation mit dem CAN Bus funktioniert.

3. Die Kommunikation mit dem PC über die serielle Schnittstelle 
funktioniert nicht.

Frage: An welcher Stelle in Deinem Programm schreibst Du die Daten, die 
vom CAN-Bus gelesen wurden und an den PC gesendet werden sollen, in den 
Tx-Puffer der seriellen Schnittstelle auf dem uC?

[Glaskugelmodus AUS]
OP #2444255
Lesenswert?

me schrieb:

> Frage: An welcher Stelle in Deinem Programm schreibst Du die Daten, die
> vom CAN-Bus gelesen wurden und an den PC gesendet werden sollen, in den
> Tx-Puffer der seriellen Schnittstelle auf dem uC?
>
Eigentlich muss ich die Daten vom CAN Bus in dem TX-Puffer der Seriellen 
Schnittstelle auf dem µC

Es geht darum, dass ich die CAN Daten auf dem Hyperterminal angezeigt 
bekomme
Gast #2444287
Lesenswert?

Sind folgende Annahmen richtig?

- Dein Gerät ist über eine Schnittstelle mit einem CAN-Bus verbunden.

- Dein Gerät kann Daten von dem CAN-Bus lesen.

- Dein Gerät ist über eine serielle Schnittstelle mit einem PC 
verbunden.

- Auf dem PC läuft Hyperterminal. Mit Hyperterminal möchtest Du die 
Daten angezeigt bekommen, die Dein Gerät vom CAN-Bus liest.

- Dein Problem ist aber, das Hyperterminal nichts anzeigt.



Wenn alle Annahmen korrekt sind:

- Gibt es eine Stelle in dem Programm in Deinem Gerät, an der die Daten 
vom CAN-Bus an den PC gesendet werden?
OP #2444330
Lesenswert?

me schrieb:
> Sind folgende Annahmen richtig?
>
> - Dein Gerät ist über eine Schnittstelle mit einem CAN-Bus verbunden.
>
> - Dein Gerät kann Daten von dem CAN-Bus lesen.
>
> - Dein Gerät ist über eine serielle Schnittstelle mit einem PC
> verbunden.
>
> - Auf dem PC läuft Hyperterminal. Mit Hyperterminal möchtest Du die
> Daten angezeigt bekommen, die Dein Gerät vom CAN-Bus liest.
>
> - Dein Problem ist aber, das Hyperterminal nichts anzeigt.
>
>
>
> Wenn alle Annahmen korrekt sind:
>
> - Gibt es eine Stelle in dem Programm in Deinem Gerät, an der die Daten
> vom CAN-Bus an den PC gesendet werden?

natürlich ist µC verbunden mit dem PC über serielle Schnittstelle
der µC kann die CAN Daten lesen mit dem CANoe

aber das große Problem ist dass ich nicht weiss wie ich diese Stelle 
programmiere, ich gegoogelt aber nichts gefunden
Angehängte Dateien:
Gast #2444516
Lesenswert?

Setz endlich deinen verf.... Code hierein, komplett, nicht irgendwelche 
Bröckchen.
Immer wieder sagen dir die Leutchen: ohne Sourcecode geht es nicht - das 
interessiert dich überhaupt nicht.
Wenn du das aber partout nicht willst, musst du dein Problem eben 
alleine lösen :-(
Gast #2444627
Lesenswert?

udo mathias schrieb:
> aber das große Problem ist dass ich nicht weiss wie ich diese Stelle
> programmiere, ich gegoogelt aber nichts gefunden

Bei den uCs, die ich bisher programmiert habe, war es immer so:
Die serielle Schnittstelle des uCs beinhaltet einen Sende- und einen 
Empfangspuffer; wo sich diese auf Deinem uC befinden, steht in dem 
Datenblatt zu Deinem uC.

Im einfachsten Fall reicht es, die Daten, die über die serielle 
Schnittstelle zu versenden sind, byteweise in den Sendepuffer zu 
schreiben - genau so, wie man in eine normale Variable schreibt.

Wenn man aber mehr als ein Byte an Daten senden will, benötigt man ein 
Handshake mit der seriellen Schnittstelle des uCs - dafür stellt dieser 
i.d.R. weitere Informationen wie "SENDEN_IST_ABGESCHLOSSEN" zur 
Verfügung. Das Programm muss nun darauf achten, dass nur Daten in den 
Sendepuffer geschrieben werden, wenn die vorhergehende Sendung bereits 
abgeschlossen wurde.

Eine entsprechende Sequenz könnte so aussehen:
1
do {
2

3
  if {SENDEN_IST_ABGESCHLOSSEN == TX-STATUS_DER_UC_UART) {
4
    
5
    TX_PUFFER = NAECHSTES_DATENBYTE;
6
  }
7

8
} while (WEITERE_DATEN_ZUM_SENDEN_VORHANDEN);

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren