|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Nov 2004
Città: Roma
Messaggi: 34
|
[ASSEMBLER] programmare la porta seriale
Ciao a tutti!
Volevo 1 manona sulla programmazione della porta seriale. Volevo fare un programmino per cominciare a capire come funziona per poi poter creare una specie di robotino. Intanto pero devo partire dalle basi ad esempio facendo accendere dei Diodi LED. Mi servirebbe una guida o un sito per imparare a programmare la porta seriale e soprattutto non capisco dove devo collegare i LED. Perfavore aiutatemi...Grazie in anticipo! Se qualcuno è interessato a imparare con me questo argomento o in generale l'assembler mi contatti su ICQ, MSN o Posta. ICQ: 338371937 MSN: alessio19881988@hotmail.com Posta: a.martorelli@email.it |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2003
Città: Trieste, Pordenone
Messaggi: 920
|
Prima devi specificare in che ambiente deve funzionare il tuo programma:
1) modalità reale (tipo nei vecchi dos) -> ci si può interfacciare direttamente alle porte con inb, outb e soci... ...oppure... 2) da windows nt/2k/XP/2k3 -> Devi usare le apposite funzioni messe a disposizione dal sistema operativo. Link ...oppure... 3) da linux -> hai altre funzioni ancora. Leggi il Serial HOWTO o guardati un programma di esempio, tipo questo Per windows 3.xx, 95, 98, Me ti conviene riferirti al caso (2) anche se dovrebbe funzionare anche il metodo descritto al punto (1).... Per i programmi console per windows (spesso definiti erroneamente DOS) devi comunque utilizzare le API di Windows... ![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
Esempio:
Codice:
mov ah,00h mov al,<byte di configurazione> mov dx,0001h int 14h Programmazione, inizializzazione = 00h Trasmissione = 01h Ricezione = 02h Byte di configurazione (mov al,<byte di configurazione>): bit 7,6,5 baud rate 000 110 baud 001 150 baud 010 300 baud 011 600 baud 100 1200 baud 101 2400 baud 110 4800 baud 111 9600 baud bit 4,3 tipo di parità 00 nessuna parità 01 parità pari 10 nessuna parità 11 parità dispari bit 2 numero di bit di stop 0 1 bit 1 2 bit bit 1,0 dimensione del carattere 00 non utilizzato 01 non utilizzato 10 7 bit 11 8 bit Indirizzo COM (mov dx,<indirizzo com>): COM1 = 0000h COM2 = 0001h COM3 = 0002h COM4 = 0003h Interrupt (int <numero int>): chiamata al bios = 14h PS puoi anche programmare + a fondo (vai direttamente sull'uart ma sarebbe molto + complesso imho) Ultima modifica di sirus : 17-01-2005 alle 15:33. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ovviamente il servizio int che è stato richiamato sopra è disponibile sono in modalità reale (sotto DOS)...
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
ovviamente, io uso il per asm un vecchio pc con su MS DOS 6.22 con TASM, TLINK e TD di borland
![]() |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Nov 2004
Città: Roma
Messaggi: 34
|
Ciao!
Grazie 1000! Comunque mi dispiace tanto ma io mi sono sbagliato...mi interessava la porta parallela no la seriale. E poi 1 altra cosa: a me interesserebbe far accendere dei Diodi LED solo non so proprio cosa fare. Dalla guida di sirius non ho capito moltissimo. Se avete una guida oppure vi va di aiutarmi magari via MSN o ICQ o email: Email: a.martorelli@email.it MSN: alessio19881988@hotmail.com ICQ: 338371937 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:54.