Gambas-it
Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: melchisedec - 22 Luglio 2008, 13:36:23
-
ciao a tutti...dovrei comandare direttamanete le porte i/o del bus isa..o porta parallela è uguale...quali comandi si utilizzano?
-
In gambas non esistono comandi diretti per pilotare le porte del pc, tranne per l'uso del comando OPEN/CLOSE/READ/WRITE (che usano gli stream).
Con questi comandi puoi accedere (permessi permettendo) ai device in linux, e operare.
Altra alternativa è usare programmi esterni, e tramite gambas pilotarli opportunamente.
Nei download ho inserito un mio programmino (partito dalla versione gambas1), con cui gestisco la porta seriale per pilotare un gruppo di continuità esterno; potrebbe esserti utile per capire il funzionamento di gambas con le porte.
Bye
-
ok ora gli do un occhiata...ma con quei comandi posso settere il device quindi i singoli bit della porta? non mi e ancora ben chiaro il concetto...ho in mente come si fa in VB o cmq ambiente Windows
grazie grazie
-
Su Linux il kernel non permette un accesso diretto alle porte proprio per evitare che vengano combinati pasticci.
In alternativa, mette a disposizione dei device, indirizzi a cui rispondono delle periferiche invece che delle cartelle.
Un esempio è /dev/lp0 per la porta parallela.
Se però vuoi anche poter scrivere sulle porte, allora devi usare /dev/port. Ma qui mi interrompo perché le mie conoscenze finiscono qui.
-
SEMPRE UN INFORMAZIONE IN PUù GRAZIE :-)
-
Se però vuoi anche poter scrivere sulle porte, allora devi usare /dev/port....
...riprendo da qui questo argomento. Ho visto in questa pagina http://gambasdoc.org/help/howto/parport (http://gambasdoc.org/help/howto/parport)un esempio concreto al riguardo.
Ho provato a lanciare quel codice, ma ho ricevuto il messaggio di ''accesso negato''.
Nella pagina del collegamento prima segnalato, si dice: "as root, you can do...". Insomma, si ripresenta il problema già scritto sopra da md9327: (permessi permettendo)...
-
Eggià...
Se vai a dare un'occhiata alla cartella /dev, vedrai un boato di file, con impostazioni (ls -la) alquanto strane (sembrano, ma non lo sono).
Sono tutti device, ovvero dei file particolari che permettono di comunicare con le destinazioni fisiche (es. il disco o la stampante).
Alcuni di quest file "device" vengono creati "al volo", quando il sistema si accorge di avere disponibile una nuova periferica.
Di norma, tutti i file hanno un proprietario che, a differenza di "root", ha la gestione completa dei propri file (root comanda su TUTTO!).
Sempre di norma, si tende ad associare i device a particoli gruppi o utenti (di sistema), e poi garantito l'accesso a livello pubblico (come nel caso appunto di un disco). Il device per l'audio, ad esempio, è associato a un particolare user, ma è anche configurato per poter farlo usare anche ad altri. Se eliminiamo questa grant, gli utenti non potranno usufruire della periferica, e quindi non potremmo sentire più Whitney Huston in mp3... :D
Continuando con le norme e i default, le porte seriali in questione, sono di default associate ad un user proprietario, ma non permettono l'accesso ad altri. La scelta di questa impostazione può essere discussa ma rientra in un discorso più ampio, tra cui anche la sicurezza (è un canale di comunicazione...).
A questo punto le alternative sono:
1) accedervi con l'utente proprietario, o come root
2) modificare le grant del device in modo da permetterne l'uso anche agli altri.
Riguardo al come farlo, credo sia opportuno che tu faccia qualche ricerca e uno studio su come vengono gestiti i diritti su Linux...
-
Riguardo al come farlo, credo sia opportuno che tu faccia qualche ricerca e uno studio su come vengono gestiti i diritti su Linux...
...magari più in là :-[ , in questo periodo sto approfondendo la programmazione del Midi con ALSA in Gambas. ;D
-
Ambè... te sei messo paura eh?!? ;D