Moin Leute, hab ein kleines Lazarus Programm und kann mit meinem FT232RL Modul und Kabel TX auf RX am Modul die Daten im Loopback verschicken. Nun hab ich einen PIC16F1827 aufm Breadboard mit nem Programm drauf das zuerst ein paar Zeilen an den PC schickt und danach alles im Loopback zurück gibt was vom PC kommt. Soweit so schlecht, die Zeilen kommen anscheinend nicht an, aber Loopback geht...dann hab ich probiert was passiert wenn der PIC keine Spannung hat und gar nicht gehen sollte und ich hab wieder nen Loopback!?!? Verhält es sich so dass, wenn der PIC nicht läuft, es ist als hätte ich ein Kabel am FT232RL Modul mit RX-TX verbunden? Gruß Beast
BeastyK schrieb: > Soweit so schlecht, die Zeilen kommen anscheinend nicht an, aber > Loopback geht...dann hab ich probiert was passiert wenn der PIC keine > Spannung hat und gar nicht gehen sollte und ich hab wieder nen > Loopback!?!? In Deiner software/Terminalprogramm Echo und dergleichen ausgeschaltet?
Also wenn ich das FT232RL-Modul nicht RX-TX mit dem Kabel Brücke, dann kommt bei meinem Programm auf dem PC auch nichts an. Also das Prof echot nicht.
BeastyK schrieb: > Soweit so schlecht, die Zeilen kommen anscheinend nicht an, aber > Loopback geht...dann hab ich probiert was passiert wenn der PIC keine > Spannung hat und gar nicht gehen sollte und ich hab wieder nen > Loopback!?!? > Verhält es sich so dass, wenn der PIC nicht läuft, es ist als hätte ich > ein Kabel am FT232RL Modul mit RX-TX verbunden? Nein, vermutlich wird der PIC über den RX Eingang und die Schutzdiode darin vom FTDI versorgt. Wenn dann noch ein Kondensator am VDD hängt, reicht das eventuell aus, die Zeit zu überbrücken, wenn Low übertragen wird. Was hast du für ein Programmiergerät/Debugger?
Ich hab ein Pickit3, debuggen müßte ich wohl...mag das immer nicht so GER.
Klar, warum sollte man auch "gerne" sehen wollen, wenn es doch so bequem ist blind zu sein ;-)
Was ich nicht sehe habe ich auch nicht gewußt....ohmann, ja, versteht schon
... im debug Modus bekommt man auch sofort eine Fehlermeldung wenn der PIC nicht läuft! Da braucht man nicht mehr viel denken ;-)
Moin Leute, wollte mich zurück melden und den Thread nicht ohne Antwort frei schweben lassen. Ich hab das mit dem debuggen probiert, ich weiß das man einen Breakpoint beim PICKIT3 setzen kann, das mit den Variablen und sonstwas beobachten...naja, weiß nicht genau wie das geht (gibs da ein Tutorial?). Egal, das Programm lief soweit und blieb auch in der While-Schleife und wartete darauf das es etwas in den RX bekommt das es dann an den TX durchreichen darf. Lange Rede, kurzer Sinn, ich hab zum einen das Datenblatt nicht richtig angeschaut, was dazu führte das ich ausversehen den Alternate Pin erwischte und erst später an den kleinen lustigen Indizes sah das sich alles auf RB1 und RB2 abspielte. Dann hab ich den Logic Analyser auf die Ports gehetzt, dankenswerterweise kam er auch mit UART zurecht und konnte sogar Auto Baudrate ermitteln. Schuppdiwupp, die ermittelte Autobaudrate war total schief und krumm, die ASCII-Zeichen waren wirr oder Frameerrors, verdammt, ich hab ein Timingproblem! Die Lösung liegt bei der PLL und dem OSCCON Register, das hatte ich im anderen Projekt richtig gemacht, dachte aber wohl das hätte doch nur was mit meinem Timer für die PWM zu tun (ohmann, neeneee). //----- Oscillator Control Register ---------------------------------------- OSCCON = 0b01110000;//Internal Oscillator 8MHz Nun tut's auch bei 19,2kBaud! Leider hab ich nun wohl ein Problem mit dem Lazarus-Programm. Ich hab das so aufgebaut das ich mir die Schnittstelle aussuchen kann (Synaser) und erst durch ein Button-Druck die Verbindung aufgebaut wird. Ich würde nun gerne über einen Timer immer abfragen ob etwas vom µC geschickt wurde und es dann in ein Memo ablegen. Nur wenn die Verbindung noch nicht besteht handle ich mir ne Exception ein bei der Timer-Geschichte. Andere verbinden einfach gleich nach Programmstart in der Main-Form (TForm1) und werfen den Timer an, das kann ich so nicht machen wenn ich bei den Buttons bleiben möchte... Gruß dat Beast
BeastyK schrieb: > Ich hab das mit dem debuggen probiert, ich weiß das man einen Breakpoint > beim PICKIT3 setzen kann, das mit den Variablen und sonstwas > beobachten...naja, weiß nicht genau wie das geht (gibs da ein > Tutorial?). So was? http://microchipdeveloper.com/mplabx:debugging http://microchipdeveloper.com/mplabx:breakpoints (Beachte auch das Menü am linken Rand) BeastyK schrieb: > Ich würde nun gerne über einen Timer immer abfragen ob etwas vom µC > geschickt wurde und es dann in ein Memo ablegen. Nur wenn die Verbindung > noch nicht besteht handle ich mir ne Exception ein bei der > Timer-Geschichte Warum den Timer nicht erst dann starten, wenn die Verbindung besteht? Keine Ahnung von Lazarus, aber hat die Port Komponente vielleicht so was wie ein Event/Signal..., das ausgelöst wird, wenn Daten zum Lesen da sind?
:
Bearbeitet durch User
Moin Volker, danke für den Link! Hab das mit dem Timer starten auch in den Button gelegt anstatt auf das Mainframe, wollte aber nicht so recht. Ich kenn mich mit Synaser nicht so aus, da gibs soviele Sachen und meist geht mir dabei der Anwendungssinn ab. Wenn ich zum Programm etwas poste bin ich ja schon aus dem "µC & Elektronik" Bereich raus und im "PC-Programmierung" drin. Ich hab das FT232RL Modul (so ein Rotes aus der Bucht) jetzt, wo ich weiß das auch was vernünftiges gesendet wird, ausprobiert. RX an TX, TX an RX und Ground zu Ground des PIC's. Es geht auch (besonders wenn man GND nicht vergisst!), aber wenn ich jetzt den PIC an der Batterie lasse und das USB-Kabel vom Modul entferne, dann leuchtet noch die rote Power LED....obwohl ich nur GND verbunden habe. Kennt das jemand? MfG Beast
BeastyK schrieb: > Es geht auch (besonders wenn man GND nicht vergisst!), aber wenn ich > jetzt den PIC an der Batterie lasse und das USB-Kabel vom Modul > entferne, dann leuchtet noch die rote Power LED....obwohl ich nur GND > verbunden habe. Kennt das jemand? Nur GND oder auch RX/TX? -> Volker S. schrieb: > Nein, vermutlich wird der PIC über den RX Eingang und die Schutzdiode > darin vom FTDI versorgt. Wenn dann noch ein Kondensator am VDD hängt, > reicht das eventuell aus, die Zeit zu überbrücken, wenn Low übertragen > wird. Vielleicht wird jetzt das FTDI-Modul über seinen RX und die integrierte Schutzdiode vom PIC-TX versorgt?
Moin ;o), sodele, also Volker S. schrieb: > Nur GND oder auch RX/TX? RX/TX waren auch dran, also wahrscheinlich wie gehabt: Volker S. schrieb: > Vielleicht wird jetzt das FTDI-Modul über seinen RX und die integrierte > Schutzdiode vom PIC-TX versorgt? Scheint mir so, hab da sonst keine andere Idee und was du da sagtest klingt ja nicht so abwegig. Nun bin ich Programm-technisch im Forum nochmal fündig geworden und hab das Lazarus (Delphi) Programm mit dem Synaser Paket so verändert bekommen das der Empfang/RX über den Timer läuft. Mein PIC16F-Programm im µC schiebt aber am Anfang einfach mal so einige Zeilen an den FT232RL und beim Lazarus-Prog fehlt mir der Anfang und meist auch die letzten verschickten Zeilen. Dabei ist die serielle Verbindung vom PC zum FT232RL schon etabliert. Schick ich später selbst was vom Laz-Prog aus an den µC kommt alles über den Loopback in der While-Schleife vom µC fein säuberlich zurück....mhhh, am Anfang kann ich mir ja noch vorstellen das vielleicht das Timer.Intervall zu lang ist (hab hier Timer1.Interval := 100;), aber warum verschluckt er den Rest hinten? Gruß dat Beast
Andreas G. schrieb: > Mein PIC16F-Programm im µC schiebt aber am Anfang einfach mal so einige > Zeilen an den FT232RL Meiner Meinung nach ist das keine gute Idee... (PIC sollte erst was schicken, wenn er vom PC dazu aufgefordert wird)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.