leggere da sbuf in 8.051

F

fatima_just

Guest
please help me.

Io uso il software Kiel uVision al programma 8051 utilizzando il linguaggio C come questo:
unsigned char SerialRecvChar ()
(
/ / inizializzazione
TMOD = 0x20; / / timer 1 (8 bit auto-reloed)
TH1 = 0xFD; / / per ottenere 9.600 baud rate
TR1 = 1; / / timer start
SCON = 0x50;
/ / IE = 0x90;
P1 = 0x00;

unsigned char;
while (! RI); / / aspetta fino a quando un byte è pervenuta
RI = 0;
i = SBUF; / / deve ottenere il valore SBUF
return SBUF;
)ma quando ho eseguito il codice per mostrare (i = SBUF) allora (non) ottenere il valore da SBUF)

 
esempio più semplice (leggere e scrivere da RS232 utilizzando il tasso Hyperterminal baud 1200) 8051Ottenere il valore in mainchar getCharacter (void)
(
char chr / / variabile per memorizzare il nuovo personaggio
while (RI! = 1) (;)
chr = SBUF;
RI = 0;
return (chr);
)void send (char a)
(
SBUF = a;
while (TI! = 1);
TI = 0;
)
void main (void)
(
SCON = 0x50; / / Modo 1, 8-bit UART, attivare il ricevitore
TMOD = 0x20; / / timer 1, la modalità 2, 8-bit reload
TH1 = 0XE6; / / per 9600 baud rate 0xFD
TL1 = 0XE6;
TR1 = 1;
TI = 0;
SBUF = 0;while (1)
(
il codice) / / fine, mentre
) / / fine del main

 

Welcome to EDABoard.com

Sponsor

Back
Top