Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [C] Questioni pratiche

    Ciao a tutti,
    vi pongo un po di domandine:

    1) Se volessi trasmettere su seriale dei dati come si potrebbe fare? Premesso che si possono cercare delle librerie in internet...vorrei proprio sapere in che modo si puo' parlare con la seriale, cioe' se bisogna mettere le mani nei registri nel pc e se si quali....

    2) Stesse considerazioni per "pilotare" il video: per es. come si potrebbe stampare a video una scritta rossa piuttosto che una verde? come faccio a fargli capire che voglio le scritte colorate?

    Grazie a tutti per l attenzione ma sopratutto per la pazienza!

    Saluti!!!!

  2. #2

    Re: [C] Questioni pratiche

    Originariamente inviato da UltraBeginner
    Ciao a tutti,
    vi pongo un po di domandine:

    1) Se volessi trasmettere su seriale dei dati come si potrebbe fare? Premesso che si possono cercare delle librerie in internet...vorrei proprio sapere in che modo si puo' parlare con la seriale, cioe' se bisogna mettere le mani nei registri nel pc e se si quali....

    2) Stesse considerazioni per "pilotare" il video: per es. come si potrebbe stampare a video una scritta rossa piuttosto che una verde? come faccio a fargli capire che voglio le scritte colorate?

    Grazie a tutti per l attenzione ma sopratutto per la pazienza!

    Saluti!!!!
    Dipende tutto dal sistema operativo con cui stai lavorando; ad esempio Windows NT/2000/XP non lascia interagire un programma normale (livello 3) con l'hardware, mentre se lavori in DOS o addirittura stai scrivendo un programma che viene eseguito senza sistema operativo puoi fare quello che vuoi.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3

    ah oks!

    Thanks!!! Lavoro con windows...quindi se ho capito modo in C non ce modo di trasmettere via seriale giusto? Dovrei appoggiarmi all Assembly forse?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: ah oks!

    Originariamente inviato da UltraBeginner
    Thanks!!! Lavoro con windows...quindi se ho capito modo in C non ce modo di trasmettere via seriale giusto? Dovrei appoggiarmi all Assembly forse?
    In DOS andrebbe ancora bene gestire le seriali in assembly. In Windows (win32) no!

    In "C" non ci sono funzioni "standard" per gestire le seriali. Devi usare o librerie di terze parti o librerie specifiche del S.O. In Win32 le seriali vengono "viste" come se fossero dei file, in pratica si usano le stesse funzioni che operano sui file, cioè le funzioni CreateFile(), WriteFile(), ReadFile(), CloseHandle(), ecc... più altre più specifiche.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Comunque se ti interessa in assembly 8086 per "parlare con la seriale" il comando è out, mettendo l'indirizzo della porta in dx e quello che vuoi trasmettere in ax
    out dx,ax
    l'indirizzo della seriale non lo ricordo quindi non ti posso essere utile più di tanto
    Experience is what you get when you don’t get what you want

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Xaratroom
    Comunque se ti interessa in assembly 8086 per "parlare con la seriale" il comando è out, mettendo l'indirizzo della porta in dx e quello che vuoi trasmettere in ax
    out dx,ax
    l'indirizzo della seriale non lo ricordo quindi non ti posso essere utile più di tanto
    Ma non funziona con sistemi operativi di classe NT (NT4, 2000, XP, 2003) ...

  7. #7
    O meglio, funziona solo se il codice viene eseguito in kernel-mode.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8

    Ok

    We grazie a tutti ragazzi, ora per lo meno ho le idee un po piu chiare!!!

    Buona giornata! saluti!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.