M
Maverickmax
Guest
Hola
Puc utilitzar comunicació serial per transmetre simples bits de dades 8 amb inici i bits de parada.
En el circuit transmissor, es veuen dos botons que li permeten prémer un.Quan un d'ells s'ha pressionat, jo estava esperant veure un LED per al swtich al circuit receptor.Però la meva circuit receptor en algun moment canviar el LED sense mi prement els botons.
Així que vaig tenir d'identificar el problema, desconnecti la potència en el circuit de transmissor per veure una mica si afecta al meu circuit receptor i no vaig veure cap error en el meu circuit receptor, i que ambdós LED no s'encén mentre el TX s'ha desactivat.
Després connectar el poder de la meva transmissor i el LED va començar a canviar amb el prémer una tecla.Em vaig adonar que hi havia un problema en el meu circuit transmissor.
Fins ara jo no podia identificar qualsevol problema en el meu circuit TX i ha de ser els meus codis:Transmissor de codiCodi:/ / Arxius de capçalera
# Include "main.h"
# Include "port.h"
# Include "delay_loop.h"/ / Prototips de funcionsserial_init buit ();
send_serial buit (sense signe char * s);serial_init buit ()
(
Scone = 0x50; / / Configuració de dades de 8 bits
TMOD = 0x20; / / comptador de temps d'instal lació 1 per auto-reload
TH1 = 0xF3; / / Configuració de 2400 baudis
TR1 = 1; / / Activar temporitzador 1
TI = 1; / / Indiqueu llest per transmetre
)send_serial buit (sense signe char * s)
(
while (* s! = 0x00)
(
SBUF =* s;
while (! TI)
()
TI = 0;s ;
)
)void main (void)
(serial_init ();
/ / Send_serial ('1 ');while (1)
(
/ / SECOND_LED = 0;
/ / FIRST_LED = 0;si (== FIRST_BUTTON premut)
(
send_serial ('1 ');while (1)
(
si (== FIRST_BUTTON NOT_PRESSED)
(
FIRST_BUTTON = NOT_PRESSED;
break;
)
)
)si (== SECOND_BUTTON premut)
(
send_serial ('2 ');
while (1)
(
si (== SECOND_BUTTON NOT_PRESSED)
(
SECOND_BUTTON = NOT_PRESSED;
break;
)
)
)
Delay_Loop (5);
))
Puc utilitzar comunicació serial per transmetre simples bits de dades 8 amb inici i bits de parada.
En el circuit transmissor, es veuen dos botons que li permeten prémer un.Quan un d'ells s'ha pressionat, jo estava esperant veure un LED per al swtich al circuit receptor.Però la meva circuit receptor en algun moment canviar el LED sense mi prement els botons.
Així que vaig tenir d'identificar el problema, desconnecti la potència en el circuit de transmissor per veure una mica si afecta al meu circuit receptor i no vaig veure cap error en el meu circuit receptor, i que ambdós LED no s'encén mentre el TX s'ha desactivat.
Després connectar el poder de la meva transmissor i el LED va començar a canviar amb el prémer una tecla.Em vaig adonar que hi havia un problema en el meu circuit transmissor.
Fins ara jo no podia identificar qualsevol problema en el meu circuit TX i ha de ser els meus codis:Transmissor de codiCodi:/ / Arxius de capçalera
# Include "main.h"
# Include "port.h"
# Include "delay_loop.h"/ / Prototips de funcionsserial_init buit ();
send_serial buit (sense signe char * s);serial_init buit ()
(
Scone = 0x50; / / Configuració de dades de 8 bits
TMOD = 0x20; / / comptador de temps d'instal lació 1 per auto-reload
TH1 = 0xF3; / / Configuració de 2400 baudis
TR1 = 1; / / Activar temporitzador 1
TI = 1; / / Indiqueu llest per transmetre
)send_serial buit (sense signe char * s)
(
while (* s! = 0x00)
(
SBUF =* s;
while (! TI)
()
TI = 0;s ;
)
)void main (void)
(serial_init ();
/ / Send_serial ('1 ');while (1)
(
/ / SECOND_LED = 0;
/ / FIRST_LED = 0;si (== FIRST_BUTTON premut)
(
send_serial ('1 ');while (1)
(
si (== FIRST_BUTTON NOT_PRESSED)
(
FIRST_BUTTON = NOT_PRESSED;
break;
)
)
)si (== SECOND_BUTTON premut)
(
send_serial ('2 ');
while (1)
(
si (== SECOND_BUTTON NOT_PRESSED)
(
SECOND_BUTTON = NOT_PRESSED;
break;
)
)
)
Delay_Loop (5);
))