annuncio

Comprimi
Ancora nessun annuncio.

Info libro

Comprimi
X
 
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • Info libro

    Qualcuno mi saprebbe consigliare un libro che tratta la trasmissione di segnali (bit) dal computer ad una periferica hardware tramite porte seriali, parallele, usb, spiegato con l'ausilio del linguaggio c, massimo c++ che sarebbe troppo sbatti, e per sistemi operativi ubuntu/linux.
    Grazie

  • #2
    Non penso esista un libro del genere, al massimo ci potrebbe esistere un'enciclopedia a riguardo, comunque per la parte strettamente C/C++ qualsiasi libro di C tratta la IOstream library, é una delle librerie standard di C ed esiste da quando esiste il linguaggio su per giù, c'é un libro avanzato sull'argomento.

    Poi se sei veramente interessato alla parte fisica del signal processing, supponendo che tu abbia una base matematica (Analisi I e II), dovresti studiare qualcosa sulla probabilità in generale (PDF (probability density function), PD (probability distribution) e altre impronunciabili amenità statistiche) per poi passare alla signal theory (teorema di Shannon, DB e altre cose abbastanza interessanti), infine ti devi armare di pazienza, tanta pazienza, e studiare probabilità dei segnali (QAM, PAM).

    La long-story-short é che un oscillatore crea un segnale analogico (secondo determinate proprietà matematiche) che viene campionato usando un campionatore (secondo altre proprietà matematiche, vedi Shannon) e digitalizzato, che vuol dire che invece di avere un segnale hai una collezione di campioni che vengono poi trasformati in bitcode:



    La comunicazione tra SO e periferiche avviene tramite i Driver di periferica che astraggono il comportamento fisico, quando una periferica diventa attiva il SO riceve un segnale che indica l'evento e comincia ad ascoltare l'input che proviene dalla periferica.

    In pratica comunque le librerie di IO astraggono tanto al punto che una volta creato un IO Object devi solo specificare l'operazione, per esempio aprire un file, appendere una stringa, e gestirne le eventuali eccezioni.
    Ultima modifica di thedeerhunter; 29-03-2014, 16:03.
    [Amdir]Firma Irregolare[/Amdir]

    Commenta


    • #3
      Mi hai chiarito una parte con il libro fornito, ma il processo per il quale attacchi un dispositivo con un circuito stampato, che dovrebbe svolgere un determinato lavoro, ad un computer
      e tramite pin gli fornisci il segnale digitale (che poi opportunamente modulato diventa analogico ecc..) in determinati circuiti , ecco... a me interessa riuscire a controllare il segnale digitale, intendo: come faccio tramite mouse e tastiera a indirizzare il segnale digitale ad una specifica porta (seriale, parallela, usb), intendo il controllo del computer-hardware, come si fa ad indirizzare il segnale digitale ad uno specifico pin delle porte ecc... non esiste un libro (o più libri) che trattino l'argomento? chiedo questo perchè di IOstream library sul mio libro C (Linguaggio C - Bellini, Guidi) ci sono 6 paginette scarse e non ho ben capito se nel processo di indirizzamento del segnale c'entri anche il sistema operativo, in questo caso Ubuntu. Io capra.

      Commenta


      • #4
        Stai approcciando nel modo sbagliato allora.

        Il linguaggio, e in questo caso la IOstream library, si interfaccia con il sistema operativo (e con i driver di periferica) che ha il controllo esclusivo delle periferiche, non puoi controllare dispositivi hardware ad un livello così basso in C, tradotto, non puoi modulare segnali digitali nel tuo computer conoscendo un qualsiasi linguaggio di programmazione, almeno che io sappia.

        Per fare quello che vuoi dovresti penso costruire un dispositivo ad hoc ed probabilmente un kernel, ma qui si va nell'elettronica e non é il mio campo oltre al fatto che costruire un kernel non succede tutti i giorni. Purtroppo le astrazioni di livello hanno anche un side effect che é proprio questo, non sai cosa succede fisicamente nella macchina, non sai come il sistema gestisce o crea i segnali e come decide di indirizzarli alle periferiche o agli altri dispositivi hardware, non conosci come vengono gestite le code di precedenza o in che ordine il processore sta elaborando le sue code, dall'altra parte i vantaggi sono palesi, se non ci fossero astrazioni ogni produttore di dispositivi dovrebbe scrivere un driver per ogni possibile combinazione hardware, probabilmente staremo ancora al livello dell'ENIAC, dove per cambiare un bit da 1 a 0 e viceversa dovevi fisicamente tirare una levetta.

        Se esistesse una possibilità di controllare hardware interfacciandosi con un SO, sarebbe interessante, ma non ne sono a conoscenza e dubito fortemente che esista.
        Ultima modifica di thedeerhunter; 30-03-2014, 13:47.
        [Amdir]Firma Irregolare[/Amdir]

        Commenta


        • #5
          Originariamente inviato da thedeerhunter Visualizza il messaggio
          non puoi controllare dispositivi hardware ad un livello così basso in C, tradotto, non puoi modulare segnali digitali nel tuo computer conoscendo un qualsiasi linguaggio di programmazione, almeno che io sappia.
          Si può fare, si può fare, c'è un amico di mio padre che te la faccio in breve, è stato chiamato per una consulenza ad un professore di Tor Vergata, per un dispositivo che si rifaceva al metodo diagnostico dell'agopuntura, gli ha compilato il programma e qualcos'altro che non so e questo aggeggio inviava e riceveva segnali in determinate circostanze. Ora "faccio un po di faccia" e poi ti faccio sapere anche a te il metodo

          Commenta


          • #6
            Segreti del mestiere... no dai, Giacobbe cannaiolo, come si fa a dare istruzioni ad una periferica anche senza gli impicci descritti prima???

            Commenta

            Sto operando...
            X