Aktuelle Zeit: 23.02.2020 00:34

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: SetSerialPortStatus - Bedeutung des Parameters 'Wert'?
BeitragVerfasst: 01.11.2008 09:37 
Offline

Registriert: 02.08.2007 20:03
Hi @ all,

ich würde gerne einzelne Pins der seriellen Schnittstelle direkt ansteuern, also nicht ganze Bytes via RS232 senden/empfangen, sondern nur die einzelnen Pins ein- und ausschalten.

Um verschiedene Pins zu schalten, gibt's ja bekanntlich den Befehl

Code:
 SetSerialPortStatus(#SerialPort, Attribut, Wert)


In der PureBasic-Hilfe zum genannten Befehl wird aber leider die Bedeutung und der Wertebereich des Parameters 'Wert' nicht erläutert. Könnte mir da jemand etwas auf die Sprünge helfen?

Außerdem habe ich in diesem Zusammenhang noch eine Frage zum Befehl

Code:
OpenSerialPort(#SerialPort, SerialPortName$, Baud, Paritaet, Data, Stop, HandshakeModus, EingabePufferGroesse, AusgabePufferGroesse)


Wenn ich nicht vorhabe, eine RS232-Übertragung zu verwenden, sondern ich nur die verschiedenen Pins ein- und ausschalten will, was muss ich dann als Baudrate eingeben? Muss für 'Baud' dann Null eingegeben werden, oder irgend ein Wert, oder kann man den Parameter einfach leer lassen???

Gruß,
JayCool

PS: Gibt's so eine Möglichkeit zum Schalten einzelner Pins auch für den Parallelport???


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 01.11.2008 21:11 
Offline
Admin
Benutzeravatar

Registriert: 29.08.2004 11:27
Beispiel aus der Hlfe unter Einstellungen:

#PB_SerialPort_DTR: Set DTR signal status (0 or 1)


für Wert stellst du einfach wie in der Hilfe beschrieben 0 oder 1 ein. Damit kannst du die Steuerleitungen deaktivieren bzw. aktivieren.

Wegen der Baudrate, wenn du mal im Gerätemanager unter Kommunikationesanschluss schaust, dort kann man unter Bits pro Sekunde (Bauds) sehen, welche Werte dort eingegeben werden können.
Ich denke, das man schon dort diese Werte benutzen sollte. Kann es aber
nicht mit Bestimmtheit sagen. Aber wenn dort 0 stehen würde, könnte es
sein, das nix gesendet wird, wenn Null Bits Pro Sekunde gesendet würden.


Zu LPT, wenn du die acht Datenleitungen bzw. weitere Steuerleitungen schalten willst, ist das mit WinIO, Inpout32 und weiteren Treibern und DLL's möglich.

Beispiele dazu müsstest du hier in der Hardwaresektion finden. Dazu wurden auch Libs für PB geschrieben. Auf meiner HP müsstest du dazu auch was zu LPT oder RS232 finden können.


Gruß Falko

_________________
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 02.11.2008 07:25 
Offline

Registriert: 02.08.2007 20:03
Hi Falko,

vielen Dank für das Feedback!
Meine Frage war mal wieder ein Fall von Betriebsblindheit, da ich insgeheim davon ausgegangen bin, dass SetSerialPortStatus das mit dem Parameter Attribut bezeichnete Bit setzt, und im Geiste hatte ich, dass es zum Löschen des Bits einen entsprechenden Befehl ClearSerialPortStatus gibt. <)

Deshalb hat es mich verwirrt, dass im Beispiel zum Befehl SetSerialPortStatus plötzlich eine 8 und eine 9 als Parameter 'Wert' verwendet wird. :oops:

Als ich das letzte Mal richtig programmiert habe, war das eben nicht PureBasic, sondern PIC-Assembler für die kleinen schwarzen Dinger mit den 16 oder 28 Beinchen von der Firma Microchip.
Da gibt's den Befehl BSF f,b , der in der RAM-Zelle f das Bit b setzt, und dem gegenüber den Befehl BCF f,b , der das Bit b löscht.

Gruß, JayCool :praise:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 02.11.2008 11:14 
Offline
Admin
Benutzeravatar

Registriert: 29.08.2004 11:27
Wer weiß, vielleicht kann ich ja in Punkto Pics und Atmels von Dir später
ein paar gute Infos bekommen. Denn da muss ich total umdenken und dazu
lernen. :allright:

Gruß Falko

_________________
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 02.11.2008 22:50 
Offline

Registriert: 31.03.2005 23:32
Wohnort: Freistatt
Beim Öffnen der Com´s musst du eine Baud-Rate angeben, wenn du nur die Handshake Leitungen aus/einschalten willst ist es zwar egal welche Baudrate du angibst. Aber die meisten Programme benutzen hierzu die API von Windows und da muss eine Baudrate angegeben werden.
Da ich annehme das du die Handshakes für Steuerungsaufgaben nutzen willst, denk bitte daran das nicht alle PC´s Optokoppler eingebaut haben und so bei einem kleinen Schaltungsfehler die Schnittstelle defekt ist.

Grüsse


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 03.11.2008 19:53 
Offline

Registriert: 02.08.2007 20:03
Hi,

ich hab' da zunächst mal an so Zeuchs gedacht, wie auf http://www.skilltronics.de/versuch/elektronik_pc/4094.html beschrieben.

Bloß eine Frage habe ich noch:

Funktioniert die PureBasic-Serial-Port-Geschichte nur mit dem auf dem Motherboard von Desktop-PCs integrierten seriellen Port oder auch mit USB-Serial-Adaptern? Ich hab' nämlich mal irgendwo gelesen (weiß nicht mehr, wo das war), dass da u.U. nicht alle Pins beschaltet sind.

Solche Sachen wie DIY-µC-Programmiergeräte funktionieren ja bekanntlich nicht mit diesen Adaptern.

Hat noch zufällig jemand 'ne Ahnung, ob bei einem Serial-Port auf Basis eines Express-Card-Adapters sämtliche 9 Pins beschaltet sind und angesteuert werden können?
Ich wollte mir nämlich Anfang nächsten Jahres ein Netbook vom Typ Lenovo S10 kaufen, und das hat zufällig nen Express-Card-Slot.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: 03.11.2008 22:00 
Offline
Admin
Benutzeravatar

Registriert: 29.08.2004 11:27
Im Microcontrollerforum habe ich was ähnliches gelesen, was aber
eigentlich den USB-Parallelport betraf. Das würde nicht alle Signale
nutzen, wie in der originalen LPT-Schnittstelle, weil eben nur das Nötigste
für den Drucker bereit gestellt würde.

Beim USB2Serial, da gibt es wahrscheinlich unterschiedliche Varianten.
Meiner funktioniert soweit mit der Schaltung, die in deinem Link gezeigt
wird, ohne Probleme, was ich schon mal nachgebaut hatte.

Z.B. habe ich folgende Digitalanzeige damit angesteuert, siehe Video
darunter. Dort ist dieser USB2Serial-Adapter über ein USB-Kabel unten
links noch gerade eben zu sehen.

Funktioniert ohne Problem, wie man dort schön sehen kann.

http://www.falko-pure.de/html/projekt_7seg-anzeige.html


Gruß, Falko

_________________
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye