Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-04-2008, 20:43   #1
grogdunn
Member
 
Iscritto dal: Jun 2007
Messaggi: 96
[Assembler] USB?

salve,
qualcuno sa come comunicare tramite porta usb con assembler?
oppure in alternativa quei "adattatori" USB-Seriale vengono visti come porte seriali a tutti gli effetti? (perché in questo caso la cosa si semplifica )

per i curiosi mi serve per un progetto universitario... ma il mio primo problema è stato come diavolo ci comunico? io che non ho porte seriali??
poi costruirò la periferica e tutto il resto
uso win vista home premium a 32 bit se può essere utile...
grogdunn è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2008, 21:03   #2
khelidan1980
Senior Member
 
L'Avatar di khelidan1980
 
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
Quote:
Originariamente inviato da grogdunn Guarda i messaggi
oppure in alternativa quei "adattatori" USB-Seriale vengono visti come porte seriali a tutti gli effetti? (perché in questo caso la cosa si semplifica )
Ho un amico che come lavoro installa e programma impianti antifurto e quindi centraline...credo ne abbiano comprati circa trenta di quegli adattatori prima di trovare uno che funzionasse bene!
__________________
Khelidan
khelidan1980 è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2008, 21:05   #3
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Su Windows devi ad ogni costo passare dalle API di Windows. Sotto DOS non c'è lo stack USB.
Quindi l'assembler è la scelta peggiore per fare un programma del genere.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 10:33   #4
grogdunn
Member
 
Iscritto dal: Jun 2007
Messaggi: 96
Quote:
Originariamente inviato da cionci Guarda i messaggi
Su Windows devi ad ogni costo passare dalle API di Windows. Sotto DOS non c'è lo stack USB.
Quindi l'assembler è la scelta peggiore per fare un programma del genere.
eeee so... ma mi tocca usare assembler per il corso... quindi...
cmq proverò con i convertitori usb-seriale... sperando di non doverne comprare 30 (porto il portatile in negozio e provo finchè non viene riconosciuta come com1 (o 2 3 4))
grogdunn è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 10:46   #5
khelidan1980
Senior Member
 
L'Avatar di khelidan1980
 
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
Quote:
Originariamente inviato da grogdunn Guarda i messaggi
eeee so... ma mi tocca usare assembler per il corso... quindi...
cmq proverò con i convertitori usb-seriale... sperando di non doverne comprare 30 (porto il portatile in negozio e provo finchè non viene riconosciuta come com1 (o 2 3 4))

mi ha detto che quelli che funzionano meglio sono quelli che non hanno il filo di mezzo,hanno la porta usb collegata proprio fisicamente alla seriale!
__________________
Khelidan
khelidan1980 è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 10:52   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da grogdunn Guarda i messaggi
eeee so... ma mi tocca usare assembler per il corso... quindi...
cmq proverò con i convertitori usb-seriale... sperando di non doverne comprare 30 (porto il portatile in negozio e provo finchè non viene riconosciuta come com1 (o 2 3 4))
Sì, ma ripeto: sotto Windows devi usare le API e sotto DOS non hai lo stack usb e quindi nemmeno il driver per la porta seriale virtuale.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 10:55   #7
khelidan1980
Senior Member
 
L'Avatar di khelidan1980
 
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
Quote:
Originariamente inviato da cionci Guarda i messaggi
Sì, ma ripeto: sotto Windows devi usare le API e sotto DOS non hai lo stack usb e quindi nemmeno il driver per la porta seriale virtuale.
quindi è impossibile accedere all'usb via assembly?
__________________
Khelidan
khelidan1980 è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 10:56   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da khelidan1980 Guarda i messaggi
quindi è impossibile accedere all'usb via assembly?
Sì, tramite le API
Oppure ti puoi scrivere uno stack usb per DOS
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 11:02   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da cionci Guarda i messaggi
Sì, tramite le API
Tanto per intendersi, la stessa cosa avviene per le seriali. Non è possibile accedere alla seriale con le istruzioni IN/OUT o tramite interrupt.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 13:51   #10
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Se è in DOS, può farlo. Anzi, è proprio quello si faceva (e ho fatto, sebbene in Turbo Pascal): accedere direttamente ai registri delle porte seriali, e installare l'hook per gestire il relativo interrupt.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 13:52   #11
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
Tanto per intendersi, la stessa cosa avviene per le seriali. Non è possibile accedere alla seriale con le istruzioni IN/OUT
A meno di usare appositi driver (Inp-Out32, Virtual Serial Kit, WinIO, DriverLinx Port I/O, ...).
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 15:32   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da variabilepippo Guarda i messaggi
A meno di usare appositi driver (Inp-Out32, Virtual Serial Kit, WinIO, DriverLinx Port I/O, ...).
Sì, chiaro...ma se bisogna usare la CreateFile per accedere al driver (se non sbaglio GiveIO e WinIO funzionano così) tanto vale scriversi un paio di procedure per aprire la seriale (CreateFile) accedere in lettura (ReadFile) e scrittura (WriteFile)
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Se è in DOS, può farlo. Anzi, è proprio quello si faceva (e ho fatto, sebbene in Turbo Pascal): accedere direttamente ai registri delle porte seriali, e installare l'hook per gestire il relativo interrupt.
Sì, ma lui non ha un seriale. Ha un adattatore USB-seriale.

Ultima modifica di cionci : 08-04-2008 alle 15:34.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 16:03   #13
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da grogdunn Guarda i messaggi
eeee so... ma mi tocca usare assembler per il corso... quindi...
in tal caso usa il MASM; è possibile, ma non ti credere che userai le istruzioni IN e OUT perché su Windows NT chiamate a Ring3 non fanno altro che lanciare un'eccezione. semplicemente dovrai chiamare tramite assembly le API di Windows.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 16:06   #14
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Se usi il C# e la
System.Port.Serialport integrata
puoi accedere alla seriale delle USB-Seriale come se fosse una seriale normale.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 16:17   #15
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
puoi accedere alla seriale delle USB-Seriale come se fosse una seriale normale.
Vorrei anche vedere che dopo tutto non si possa usare come una seriale normale
Però a meno che non voglia richiamare .Net dall'assembly x86
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 16:58   #16
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
ma se bisogna usare la CreateFile per accedere al driver (se non sbaglio GiveIO e WinIO funzionano così)
No, si accede in maniera "diretta" alle porte:

Codice:
 if (bResult)
  {
    // Under Windows NT/2000/XP, after calling InitializeWinIo,
    // you can call _inp/_outp instead of using GetPortVal/SetPortVal

    GetPortVal(0x378, &dwPortVal, 4);

    SetPortVal(0x378, 10, 4);
Codice:
 unsigned char value;
    printf("IoExample for PortTalk V2.0\nCopyright 2001 Craig Peacock\nhttp://www.beyondlogic.org\n");
    OpenPortTalk();
    outportb(0x378, 0xFF);
    value = inportb(0x378);
    printf("Value returned = 0x%02X \n",value);
    outp(0x378, 0xAA);
    value = inp(0x378);
    printf("Value returned = 0x%02X \n",value);
    ClosePortTalk();
...

In ogni caso io costruirei un mio wrapper sulle API di Windows in base alle specifiche esigenze.
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 17:03   #17
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Sì ma OpenPortTalk() credo non faccia altro che chiamare una CreateFile
Almeno GiveIO funziona così: prima bisogna chiamare una CreateFile e dopo si possono usare le istruzioni IN e OUT.

Edit: infatti:
Codice:
    PortTalk_Handle = CreateFile("\\\\.\\PortTalk", 
                                 GENERIC_READ, 
                                 0, 
                                 NULL,
                                 OPEN_EXISTING, 
                                 FILE_ATTRIBUTE_NORMAL, 
                                 NULL);
Sono tutti uguali questi cosi
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 17:09   #18
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
Sono tutti uguali questi cosi
Sì, ma io vedevo il loro uso dall'ottica dell'utente finale, di solito è sufficiente attivare/disattivare la comunicazione con il driver e richiamare le funzioni di IN/OUT senza preoccuparsi di CreateFile/ReadFile/WriteFile (ci penseranno GiveIO&Co).
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 19:51   #19
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Se usi il C# e la
System.Port.Serialport integrata
puoi accedere alla seriale delle USB-Seriale come se fosse una seriale normale.
Cesare, ci sei? stiamo aspettando il predicozzo su Python
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2008, 22:41   #20
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Ci sono, ma il topic parla di Assembly per cui, anche se è stato citato C#, mi astengo dall'intervenire.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Otto suicidi, un solo chatbot: si moltip...
'Windows fa schifo' perché ha dim...
Tesla aggiorna il camion Semi, e sposta ...
Come funziona la carta Klarna: tre livel...
I Funko Pop potrebbero sparire per sempr...
Windows 98 in crash davanti a migliaia d...
Samsung Smart TV 85'' Neo QLED Mini LED ...
TikTok rafforza la sicurezza degli acqui...
Samsung Galaxy S25 Ultra 256 GB a ...
Sanzione ridotta per TIM: l'azienda paga...
DJI Osmo 360 in super offerta su Amazon:...
Moto Watch Fit con Moto AI a metà prezzo...
Batterie ibride plug-in: la classifica d...
Ayaneo Next 2 è ufficiale: presta...
Windows 11 26H1 è ufficiale, ma &...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:44.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v