czytać z sbuf w 8051

F

fatima_just

Guest
proszę mi pomóc. Używam uvision Kiel oprogramowania do programu 8051 przy użyciu języka C tak: unsigned char SerialRecvChar () {/ / inicjalizacja TMOD = 0x20; / / timer 1 (8 bit auto-reloed) TH1 = 0xfd / /, aby uzyskać 9600 TR1 stopy = 1; / / start timera scon = 0x50 / / IE = 0x90; P1 = 0x00; unsigned char i; while (RI!) / / czeka, aż bajt jest odbierany RI = 0; i = SBUF / / musi uzyskać wartość SBUF SBUF return;} ale kiedy uruchomić kod, aby pokazać (i = Sbuf), to nie (i) uzyskać wartość z SBUF)
 
Najprostszy przykład (odczyt i zapis z RS232 przy użyciu HyperTerminal szybkość transmisji 1200) 8051 Pobierz wartość w głównej char getCharacter (void) {char chr; / / zmienna do przechowywania nowy znak while (RI = 1! ) {;} chr SBUF =; RI = 0; powrotu (chr);} void send (char a) {SBUF = while (TI = 1);! TI = 0;} void main (void) {scon = 0x50, / / ​​tryb 1, 8-bit uart, włącz odbiornik TMOD = 0x20; / / timer 1, tryb 2, 8-bit reload TH1 = 0XE6 / / na 9600 szybkość transmisji 0xfd TL1 = 0XE6; TR1 = 1; TI = 0; SBUF = 0; while (1) {kod} / / koniec while} / / koniec głównej
 

Welcome to EDABoard.com

Sponsor

Back
Top