rs232 Interface => USB zu COM Wandler >> Keine Antwort
Mittwoch, 23. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  PIC Mikrocontroller Allgemein  |  rs232 Interface => USB zu COM Wandler >> Keine Antwort « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: rs232 Interface => USB zu COM Wandler >> Keine Antwort  (Gelesen 683 mal)
 
symax
Newbie
*
Offline Offline

Beiträge: 3


Profil anzeigen
« am: Januar 30, 2012, 19:15:52 »

Hallo,

ich habe zunächst nur eine generelle Frage:
Ich möchte via RS232 mit einem PIC 16f84a kommunizieren.
Ich habe keinen MAX 222/... Baustein herumliegen! Ich möchte das ganze wie bei sprut.de machen:
http://www.sprut.de/electronic/pic/programm/rs232.htm

Ich habe derzeit jedoch nur ein Notebook (ohne COM) zu verfügung. Daher nutze ich derzeit einen USB - zu - COM Wandler (LogiLink USB2.0 to serial Adapter).

Ich bekomme keine Antwort von dem PIC-Baustein (lasse mir "A" senden), daher nun die Frage > geht das überhaupt mit einem solchen Wandler ? Oder muss ich doch meinen alten PC wieder in Betrieb nehmen, der noch einen COM Port besitzt ?

Mit dem Hyperterminal auf dem COM-Port meldet er mir "verbunden" auch OHNE PIC. Also nehme ich mal an, dass das nicht mit einem solchen Adapter funktioniert oder liege ich da falsch ?

Oder liegt das Problem hier bei der modifikation der Warteschleife:
Code:
;**********************************************************
;ein Bit Zeitverzoegerung mit einer Warteschleife
;
; senden            4 MHz    10 MHz
; 2400 Bps =          69d    173d
; 9600 Bps =          15d     43d

Warte_s movlw   D'15'           ; 9600 Bps / 4 MHz senden
        movwf   cycl_2          ;
Warte1
        nop
        nop
        nop
        decfsz  cycl_2, 1
        goto    Warte1
        return

Ich habe nur einen 20MHz Quarz, daher habe ich (rein rechnerisch, hoffe das stimmt ^^) aus dem D'15' ein D'75' gemacht und aus

Code:
__CONFIG _PWRTE_ON & _WDT_OFF & _XS_OSC

habe ich

Code:
__CONFIG _PWRTE_ON & _WDT_OFF & _HS_OSC

gemacht.

Ich will zunächst nur einen Verbindungsaufbau ermöglichen und mich dann auf den Quellcode "stürzen", diesen will ich dann sowieso wenn möglich mit CC5X und nicht mit assembler.

Der Baustein PIC16f84a ist glaube ich auch schon ziemlich veraltet, habe aber hier noch ein paar. Was wäre denn ein aktuell vergleichbarer nachfolger ?

Viele Fragen ... Ich hoffe mir kann jemand Antworten geben Lächelnd

Ich danke euch auf jedenfall für jede Art von Antwort Zwinkernd

LG Stefan
Gespeichert
oerni
Full Member
***
Offline Offline

Beiträge: 196



Profil anzeigen WWW
« Antworten #1 am: Januar 31, 2012, 12:44:25 »

Hallo Stefan,

1. du must den alten Rechner nicht reaktivieren
2. das funktioniert auch mit einem USB/RS232 Adapter
3. das "verbunden" heist nur, das der Wandler geht, hat noch nichts mit dem PIC zu tun
4. diese Hardwareanbindung bei Sprut ist Pfusch hoch drei. Das hat vielleicht mal irgandwann an irgendeinem Rechner funktioniert, mehr nicht.
Dein Wandler (PC seitig) braucht ein invertiertes RS232 Signal mit entsprechenden Pegeln, dafür gibt es Normen. Sprut schreibts ja hier selber
http://www.sprut.de/electronic/interfaces/rs232/rs232.htm
oder auch http://de.wikipedia.org/wiki/RS-232
5. zerbrich dir nicht den Kopf um falsche Einstellungen, da du ja sowieso auf C umsteigen willst, das würde dann Inline Assembler bedeuten
  und das als Anfänger? hm?
  => hast du einen Oszi um dein genaues Timing der Schnittstelle zu prüfen (max 3% Abweichung je nach Geschwindigkeit)?
6. pinkompatible Alternative ist 16F627/628A, aber eigentlich auch schon zu alt
7. besorg dir einen 18F Typen, irgendeinen als DIL mit serieller Schnittstelle
8. bei 18F Typen mimm bitte als Compiler den MCC18 vom Microchip
9. bau dir eine "diskrete" Schnittstelle, alternativ kauf dir gleich einen MAX232 dazu
10. besorg dir im I-Net ein anderes Monitorprogramm mit dem man etwas mehr einstellen und sehen kann als bei Hyperterminal
   damit sieht man dann auch Zeichen, wenn die Geschwindigkeiten mal nicht ganz stimmen

Weitere gezielte Fragen beantworte ich gerne.
Tschau Oerni
Gespeichert
symax
Newbie
*
Offline Offline

Beiträge: 3


Profil anzeigen
« Antworten #2 am: Januar 31, 2012, 22:16:32 »

Hallo Oerni,

danke für deine Antwort Lächelnd
Es ging mir hier lediglich um das prinzip, ob das mit dem Adapter geht.
Habe mich tatsächlich einfach nur blöd verrechnet, ich bekomme nun ne Antwort.

Das Problem (oder Aufgabe ^^) ist nun, das ganze in C hinzubekommen, weil assembler doch ETWAS kryptisch für meinen Geschmack ist.

So wie ich es auch im Internet gelesen habe ist es teilweise auch gefährlich, den COM direkt an den PIC anzuschließen, wenn man beim PC > PIC den Widerstand vergisst ist er hin ... da muss wohl oder übel ein MAX 232 her Lächelnd

Ich habe mal in meiner Kiste gesucht und das PICKIT 2 low pin count demo gefunden, der hat einen 16f690 drauf, taugt der mehr ?  Was empfiehlt sich den für ein PIC 18F aus dem breiten Sortiment ? Ich bin grade verzweilfelt auf der Suche nach irgend einem Beispiel für die RS232 Schnittstelle <=> PC.
Hintergrund: Ich will einige Zustände von Pins auslesen (1/0) und diese via RS232 an den PC senden.
Der PC soll dann ne Antwort senden können (BSP Pin B0 = 1) und das soll dann auf 1 geschaltet werden.
So in der Art von ner Relaiskarte L&#228;chelnd

Ich weis dass das für den Anfang wahrscheinlich ziemlich aufwendig ist. Ich muss/soll das aber leider aufbauen wenn es geht. Da ich aber (wie du erkannt hast) noch am Anfang bin, suche ich grad halt ein passendes Tutorial mit einem passenden PIC um das ganze zu bewerkstelligen. SPRUT sah mir meiner Meinung recht gut aus, leider halt nur mit einem Beispiel mit assembler.

Gibt es für mein Anwendungsfall:
(Einlesen z.B. PortA.0 = ?) und Ausgeben dieses Zustandes via RS232, PC soll zurücksenden können (z.B. PortB.0 = 1)
ein Beispiel / Tutorial in C, so dass ich mir dafür die passende Hardware besorgen kann (wenn ich sowieso den max232 bestell kann ich den Rest mitbestellen, das is dann auch egal) ?

Das Programm (PC Seite) würde ich dann mit Visual Basic Express verfassen; da gibt es genug Beispiele und da bin ich auch recht fit.

Als Programmierhardware habe ich ein PICkit 2 zu Verfügung.
An Nachschlagewerken habe ich bereits einiges da, z.B. PIC-Microcontroller / Günter Schmitt
CC5X haben wir in den Kursen an der Hochschule benutzt, daher habe ich das Selbe benutzt ...
Ein Oszi habe ich leider nicht, das würde meine Geldmittel als Student WEIT übersteigen

Also wenn ich dich richtig verstanden habe wäre der Richtige weg:
16f84a "wegschmeißen" (für dieses Projekt)
18fxx holen + passende Hardware (ggf. externes Quarz, 16f84a braucht ja externes, habe n 20mhz)
    In meinem Buch wird der 18F2220 benutzt, ist der (auch für zukünftige Projekte) ok und auch aktuell ? Ist sogar ein USART Beispiel enthalten (Compiler steht hier: C18 C Compiler)
max 232 anschließen (Adapter bauen)
Programmierung mit MCC18

Gibt es für MCC18 (besonders für die RS232 Schnittstelle) ein Tutorial / Beispiel ?



Hoffe ich habe dich hiermit nicht erschlagen Zwinkernd

LG Stefan
« Letzte Änderung: Januar 31, 2012, 22:35:49 von symax » Gespeichert
oerni
Full Member
***
Offline Offline

Beiträge: 196



Profil anzeigen WWW
« Antworten #3 am: Februar 01, 2012, 12:59:10 »

Hallo Stefan,

schau dich mal auf der microchip Homepage um, da sind für alle Fälle Beispiele zu finden.
http://www.microchip.com/TechDoc.aspx?type=CodeExamples
Gib mal als Suchbegriff USART oder EUSART ein.
Da wird ein 18F46xx verwendet, der Typ ist aber eigentlich egal, hauptsache USART Funktion.
Kannst auf der MC Hompage einen Filter auf die verfügbaren 18F Typen legen (USART, EEPROM usw.)
da bleiben bei mir 21 Typen übrig, nimm irgendeinen.
Ansonsten auf dem richtigen Weg.

zu VB Express: kannst du damit selbstlaufende exe erzeugen, waren die Express Versionen nicht irgendwie begrenzt?
Dann solltest du noch überlegen, auf welchem Ziel PC das laufen soll. VB, VC, .Net und der ganze Mist brauchen Run Time Umgebungen zum zu laufen.

Tschau Oerni
Gespeichert
symax
Newbie
*
Offline Offline

Beiträge: 3


Profil anzeigen
« Antworten #4 am: Februar 01, 2012, 13:48:43 »

Hallo Oerni,

danke für die Info's und den Link  Grinsend
Werd mich nun ab nächste Woche (nach Klausuren) ran machen.

Express versionen haben keine Einschränkungen für das Erzeugen von EXE-Dateien. Das war in der Version 6.0 noch so, dass man da die Vollversion gebraucht hat.
Die neuen (.NET) können auch EXE erzeugen. Gibt natürlich auch hier Einschränkungen, die nicht schlimm sind:
- Code kann nicht verschlüsselt werden (Also die Variablennamen kryptisch machen, so dass wenn man aus der EXE wieder code macht nichts blickt), gibt aber hier Freeware, die dass kann (wenn man das braucht)
- Keine Setup erstellbar, hier gibts auch Freeware
> kannst lt. Internetseite auch Programme mit express erstellen und verkaufen (soweit ich das verstanden habe)
Das man dann Runtime zeugs braucht, weis ich. Eigentlich braucht man für die neue Version nur noch die gängigen FRAMEWORK - Pakete, die meist sowieso auf den Rechnern drauf sind oder halt nachinstalliert werden müssen. Da das Projekt nicht verkauft werden soll, wäre ein Nachinstallieren auch kein Problem  Zwinkernd

BTW:
Ich habe mit meinem PC massive Probleme auf dieser Seite hier!
Ich kann mich NIE Einloggen (Firefox+Internetexplorer @ WIN7 64BIT), ich muss immer über die Funktion "Passwort vergessen" einloggen, anders geht es nie! Im Internetexplorer habe zusätzlich ich häufig keine Bilder (z.B. Drucken ist nur ein "X", Bild nicht gefunden)

Danke nochmals für alle Info's; ich wünsch dir einen schönen Abend


LG Stefan
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.042 Sekunden mit 17 Zugriffen.
 
Top! Top!